Outils pour utilisateurs

Outils du site


wiki:tutoriels:processing:processing_10:processing_10

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 17:04]
damien.muti [Programme Arduino]
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'inspirant des [[wiki:tutoriels:affiche-interactive:accueil|affiches interactives]], il est possible de créer des objets interactifs capables de réagir en lançant un médiat (son, vidéo, animation). Cette interaction intervient par exemple lorsque la valeur renvoyée par la mesure d'un  paramètre associée à un capteur est inférieure à un seuil.+En s'inspirant des [[wiki:tutoriels:affiche-interactive:accueil|affiches interactives]], il est possible de créer des objets interactifs capables de réagir en lançant un média (son, vidéo, animation). Cette interaction intervient par exemple lorsque la valeur renvoyée par la mesure d'un  paramètre associée à un capteur est inférieure à un seuil.
  
 On choisit exemple un [[wiki:tutoriels:arduino-capteurs:arduino-capteurs#capteur_de_distance_ultrason_grove|capteur de distance à ultrason]].  On choisit exemple un [[wiki:tutoriels:arduino-capteurs:arduino-capteurs#capteur_de_distance_ultrason_grove|capteur de distance à ultrason]]. 
Ligne 84: Ligne 84:
  
 ===== 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'utiliser une deuxième carte Arduino comportant un module Bluetooth.
 +
 ==== Montage ==== ==== Montage ====
 La carte Arduino comporte uniquement : La carte Arduino comporte uniquement :
Ligne 94: Ligne 97:
  
 ==== Programme Arduino ==== ==== Programme Arduino ====
-Le programme Arduino permettant la réception des données envoyées par la Carte est le suivant :+Le programme Arduino permettant la réception des données envoyées par la Carte est le suivant : {{ :wiki:tutoriels:processing:processing_10:reception_donnees_capteur_hc06_1.zip |}} 
 <code> <code>
-/* Réception des données issues du port Bluetooth - Module HC06 +/* Réception par Processing des données issues du port Bluetooth - Module HC06 via le port série de la 2ième carte Arduino
 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 145: Ligne 149:
 </code> </code>
  
-Le code Arduino est directement disponible sur le lien suivant : {{ :wiki:tutoriels:processing:processing_10:reception_donnees_capteur_hc06_1.zip |}}+==== Connexion des deux cartes en Bluetooth ==== 
 +Voir tutoriel suivant :  
 +  * [[http://www.martyncurrey.com/connecting-2-arduinos-by-bluetooth-using-a-hc-05-and-a-hc-06-pair-bind-and-link/|Connecting 2 Arduinos by Bluetooth using a HC-05 and a HC-06: Pair, Bind, and Link - Martin Curey]] 
  
 ==== Programme Processing ==== ==== Programme Processing ====
Ligne 307: Ligne 314:
  
     // affichage de la distance en cm     // affichage de la distance en cm
-    println("Distance = "+donneePortSerie+" cm"); // afficher l'entier correcpondant+    println("Distance = "+donneePortSerie+" cm"); // afficher l'entier correspondant
   }   }
 } }
Ligne 313: Ligne 320:
 </code> </code>
 Ce programme est identique à celui effectué pour les objets interactifs : [[wiki:tutoriels:processing:processing_9:processing_9|Objet interactif avec détection de distance grâce une carte Arduino et un capteur de distance à ultrasons]]. Dans ce dernier exemple, les capteurs sont directement branchés à la carte Arduino qui est connectée au PC, sans passer par un module Bluetooth. Ce programme est identique à celui effectué pour les objets interactifs : [[wiki:tutoriels:processing:processing_9:processing_9|Objet interactif avec détection de distance grâce une carte Arduino et un capteur de distance à ultrasons]]. Dans ce dernier exemple, les capteurs sont directement branchés à la carte Arduino qui est connectée au PC, sans passer par un module Bluetooth.
 +
 +===== PC comportant une connexion Bluetooth  =====
 +
 +==== Processing ====
 +Sur un PC sur Windows 10, le système d'exploitation permet de régler le port Bluetooth comme un port série. Il faut ouvrir la fenêtre de paramétrage du Bluetooth et choisir "Paramètres avancés". Paramétrer alors le port Bluetooth d'entrée comme un port Série. Idem pour le port de sortie Bluetooth (voir figure ci-dessous) : 
 +{{ :wiki:tutoriels:processing:processing_10:bt_settings_on_w10.png?400 |}}
 +
 +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'habit) en utilisant simplement la librairie Serial. Le programme est identique à celui développé précédemment :
 +  * {{ :wiki:tutoriels:processing:processing_10:objet_interactif_processing.zip |}}
 +
 +
 +Quelques recherches sur le forum Processing :
 +  * [[https://discourse.processing.org/t/anyone-possible-make-project/25109/17| ]]
 +  * https://discourse.processing.org/t/communication-over-laptops-bluetooth/14056
 +==== 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'écriture de ce tutoriel (13/11/2020) cette librairie n'existe pas.
 +
 +La solution est d'utiliser une [[https://fr.wikipedia.org/wiki/Interface_de_programmation|API]] JAVA (Application Programming Interface - interface de programmation applicative) dédiée à la communication Bluetooth.
 +
 +Il existe plusieurs API JAVA permettant la gestion de la communication Bluetooth :
 +  * [[https://www.oracle.com/technical-resources/articles/javame/bluetooth-wireless-technology-part1.html|Oracle - Bluetooth wireless technology part 1]]
 +  * [[https://www.oracle.com/technical-resources/articles/javame/bluetooth2.html|Oracle - Bluetooth wireless technology part 2]]
 +
 +==== Quelques exemples ====
 +Voici quelques exemples de programme utilisant l'API JAVAX :
 +
 +  * [[https://www.programcreek.com/java-api-examples/index.php?api=javax.bluetooth.LocalDevice| programcreek]]
 +  * [[http://www.bluecove.org/bluecove/apidocs/overview-summary.html|]]
 +  * [[http://www.aviyehuda.com/blog/2010/01/08/connecting-to-bluetooth-devices-with-java/|]]
 +  * [[https://www.programcreek.com/java-api-examples/?api=javax.bluetooth.LocalDevice|]]
 +  * [[https://stackoverflow.com/questions/15343369/sending-a-string-via-bluetooth-from-a-pc-as-client-to-a-mobile-as-server|]]
 +
 +==== Quelques vidéos ====
 +  * [[https://www.youtube.com/watch?v=TLXpDY1pItQ|]]
 +  * [[https://www.youtube.com/watch?v=aQcJ4uHdQEA|Bluetooth for Android and Arduino HC-05 Module, Java implementation]]
  
wiki/tutoriels/processing/processing_10/processing_10.1605283459.txt.gz · Dernière modification: 2020/11/13 17:04 de damien.muti