1. Préparation de la PCDuino.
- Installer le module : Blueman (si installé, supprimer gnome-bluetooth et gnome-user-share) (avec apt-get ou synaptique).
- Brancher la clef Bluetooth.
- L’icône Bluetooth apparait dans la barre de tache.
Si ce n’est pas le cas (ou pour les prochains lancements), vous pouvez la retrouver dans le menu de démarrage.
Voilà vous avez le Bluetooth sur la PCDuino qui peut vous servir à tout ce que le Bluetooth permet.
2. Connexion à la carte Arduino.
Pour ajouter le Bluetooth à la carte Arduino il suffit de lui brancher un module Bluetooth. Ceux que j’ai vus ont tous 4 broches VCC, GND, RX et TX.
- Pour l’instant, ne reliez que VCC et GND pour alimenter le module.
- Sur la PCDuino, cliquez sur l’icône Bluetooth.
- La fenêtre de recherche apparait.
- Cliquer sur l’icône recherche.
- Le module Bluetooth apparait quasi immédiatement.
- Faire un clic droit puis « Pair ».
- Saisir le mot de passe (le plus souvent 0000 ou 1234, mais c’est marqué sur la doc du module).
- Le module est maintenant appairé.
- Revenir dans l’interface Bluetooth en cliquant sur l’icône de la barre de tâches.
- Refaire un clic droit sur le module et le définir en communication série en cliquant sur « SPP Dev ».
- Une confirmation et le nom de la liaison série apparaissent en haut à droite de l’écran. Ce message restera dans la barre de tâche sous l’enveloppe.
3. Configuration et programme Arduino.
Sur la carte Arduino la communication série sera une communication série. On devra donc relier RX et TX du module Bluetooth aux TX et RX de la carte Arduino (en croisé Rx à Tx et Tx à Rx). Ainsi on pourra utiliser les commandes série habituelles tout simplement.
Le RX et le TX de la carte Arduino servent aussi à programmer la carte Arduino. Donc il faudra débrancher ces 2 broches du module à chaque fois qu’on reprogrammer la carte. Si on veut éviter ça il faudra utiliser une communication série logicielle avec la librairie SoftwareSerial.
Pour mon test, j’ai utilisé la LED de la carte Arduino (patte 13) et un interrupteur avec une résistance de pullup connecté à la borne 7.
Voici le programme de test (en téléchargement en bas de la page).
-
/** Test d’émission réception en série fonctionne notamment avec un module Bluetooth
-
Câblage :
-
- Une LED + résistance sur la broche 13 (marche avec la LED de test de la UNO),
-
- Un BP + résistance (ou pas, mais définir l’entrée en INPUT_PULLUP) sur la broche 7,
-
- éventuellement le Bluetooth branché sur RX/TX (attention branchement croisé).
-
À réception d’un 1 la LED s’allume, d’un 0 elle s’éteint.
-
Si on appuie sur le BP ça envoie le mot Appuie suivie du caractère LF.
-
*/
-
-
{
-
}
-
-
{
-
}
-
}
-
}
-
}
-
}
4. Le programme Processing.
Côté PCDuino j’ai choisi de faire une interface Processing.
Le Slider a 2 positions et permet d’allumer ou d’éteindre la LED.
La textbox valeur reçue écrit ce que lui envoie la carte Arduino et donc Appuie quand on appuie sur le bouton.
J’ai rajouté un bouton qui permet de fermer le port. Si on ne le ferme pas, on ne peut plus se reconnecter. Ca se produit à chaque fois que le programme est arrêté brutalement.
La meilleure solution que j’ai trouvée c’est de débrancher et rebrancher la clef de la PCDuino. Puis faire Setup New device... à partir de l’icône Bluetooth de la barre de tâche. Validez 2 fois et c’est reparti.
-
// Need G4P library
-
Serial portSerie;
-
-
createGUI();
-
// Listing des ports série utilisables
-
// Le premier a l’indice 0 dans le tableau
-
// Ouverture du port série (attention à la vitesse)
-
// Lors de mes essais ça ne marchait qu’avec 9600
-
}
-
-
}
-
-
// Procédure appelée lors du changement du slider
-
portSerie.write(custom_slider1.getValueS());
-
textfieldVE.setText(custom_slider1.getValueS());
-
}
-
-
// Procédure exécutée lors d’un évènement « réception série"
-
// J’inclus le caractère ligne feed (/n) à la fin de mon mot pour lire le mot entier
-
textfieldVR.setText(p.readStringUntil(lf));
-
}
5. Téléchargement.
![]() |
|
![]() ![]() ![]() ![]() ![]() |
Télécharger |