| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
wiki:tutoriels:processing:processing_10:processing_10 [2020/11/13 16:16] damien.muti [Programme Processing] |
wiki:tutoriels:processing:processing_10:processing_10 [2020/11/15 14:40] (Version actuelle) damien.muti [Processing] |
||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| ===== Présentation ===== | ===== Présentation ===== | ||
| - | En s' | + | En s' |
| On choisit exemple un [[wiki: | On choisit exemple un [[wiki: | ||
| Ligne 27: | Ligne 27: | ||
| ==== Programme Arduino ==== | ==== Programme Arduino ==== | ||
| + | |||
| + | Le programme consiste à : | ||
| + | * Mesurer la distance via un capteur ultrason (Grove Ultrasonic Ranger) | ||
| + | * Envoyer les données mesurées sur le port Bluetooth via le module HC-06 | ||
| + | |||
| + | Le code Arduino est le suivant : {{ : | ||
| + | |||
| + | < | ||
| + | /* Mesurer la distance via un capteur ultrason (Grove Ultrasonic Ranger) | ||
| + | | ||
| + | */ | ||
| + | // module Bluetooth HC06 | ||
| + | #include < | ||
| + | SoftwareSerial hc06(2, 3); | ||
| + | // Capteur de distance ultrason Grove Ultrasonic Ranger | ||
| + | #include " | ||
| + | Ultrasonic ultrasonic(7); | ||
| + | |||
| + | // données lue sur le capteur de distance | ||
| + | long distance=0; | ||
| + | |||
| + | // Gestion de la led | ||
| + | byte led = 13; | ||
| + | int Tblink = 100; | ||
| + | float isBlink = false; // drapeau pour lancer le clignotement... ou non | ||
| + | |||
| + | void setup() { | ||
| + | // pin 13 OUTPUT | ||
| + | pinMode(led, | ||
| + | // | ||
| + | Serial.begin(9600); | ||
| + | // | ||
| + | hc06.begin(9600); | ||
| + | } | ||
| + | void loop() { | ||
| + | |||
| + | // Lecture de la valeur du capteur | ||
| + | distance = ultrasonic.MeasureInCentimeters(); | ||
| + | |||
| + | //Write sensor data to HC06 | ||
| + | hc06.println(distance); | ||
| + | |||
| + | // patienter xx ms entre deux mesures et envoies | ||
| + | delay(250); | ||
| + | } | ||
| + | |||
| + | void clignoterLed(int led, int Ta, int Te) { // led : patte connécéet à la led, Ta: temps d' | ||
| + | digitalWrite(led, | ||
| + | delay(Ta); | ||
| + | digitalWrite(led, | ||
| + | delay(Te); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| ===== Carte 2 - connectée au PC ===== | ===== Carte 2 - connectée au PC ===== | ||
| + | |||
| + | Lorsque le PC utilisé ne comporte pas de module Bluetooth intégré, il suffit d' | ||
| + | |||
| ==== Montage ==== | ==== Montage ==== | ||
| La carte Arduino comporte uniquement : | La carte Arduino comporte uniquement : | ||
| Ligne 39: | Ligne 97: | ||
| ==== Programme Arduino ==== | ==== Programme Arduino ==== | ||
| - | Le programme Arduino permettant la réception des données envoyées par la Carte 1 est le suivant : | + | Le programme Arduino permettant la réception des données envoyées par la Carte 2 est le suivant : {{ : |
| < | < | ||
| - | /* Réception des données issues du port Bluetooth - Module HC06 | + | /* Réception |
| Envoie des données reçues via le port série vers le programme Processing*/ | Envoie des données reçues via le port série vers le programme Processing*/ | ||
| Ligne 90: | Ligne 149: | ||
| </ | </ | ||
| - | Le code Arduino est directement disponible sur le lien suivant : {{ :wiki: | + | ==== Connexion des deux cartes en Bluetooth ==== |
| + | Voir tutoriel | ||
| + | * [[http://www.martyncurrey.com/ | ||
| ==== Programme Processing ==== | ==== Programme Processing ==== | ||
| Ligne 252: | Ligne 314: | ||
| // affichage de la distance en cm | // affichage de la distance en cm | ||
| - | println(" | + | println(" |
| } | } | ||
| } | } | ||
| Ligne 258: | Ligne 320: | ||
| </ | </ | ||
| Ce programme est identique à celui effectué pour les objets interactifs : [[wiki: | Ce programme est identique à celui effectué pour les objets interactifs : [[wiki: | ||
| + | |||
| + | ===== PC comportant une connexion Bluetooth | ||
| + | |||
| + | ==== Processing ==== | ||
| + | Sur un PC sur Windows 10, le système d' | ||
| + | {{ : | ||
| + | |||
| + | Par la suite, Processing ne sait pas qu’il s’agit d’une communication série sur Bluetooth, série sur USB ou autre… il s’agit simplement d’une communication série sur un port COM. | ||
| + | |||
| + | Il est donc possible de faire communiquer Processing (fonctionnant sur le PC) avec la Carte Arduino 1 (connectée à l' | ||
| + | * {{ : | ||
| + | |||
| + | |||
| + | Quelques recherches sur le forum Processing : | ||
| + | * [[https:// | ||
| + | * https:// | ||
| + | ==== Une API JAVA pour la communication Bluetooth ==== | ||
| + | Dans le cas où le PC utilisé comporte un module Bluetooth, il faut adapter le programme Processing précédant en faisant en sorte que les données envoyée par la Carte 1 en Bluetooth soit directement reçues par le PC. | ||
| + | |||
| + | Pour cela, il faudrait utiliser une Librairie Processing permettant de contrôler le module Bluetooth du PC. Cependant au moment de l' | ||
| + | |||
| + | La solution est d' | ||
| + | |||
| + | Il existe plusieurs API JAVA permettant la gestion de la communication Bluetooth : | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Quelques exemples ==== | ||
| + | Voici quelques exemples de programme utilisant l'API JAVAX : | ||
| + | |||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Quelques vidéos ==== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||