Outils pour utilisateurs

Outils du site


wiki:tutoriels:processing:processing_10:processing_10

Ceci est une ancienne révision du document !


Objet interactif en Bluetooth

  • Porteur(s) du projet : Damien MUTI DESGROUAS
  • Date : 13/11/2020
  • Licence : libre !
  • Contexte : Apprentissage

Présentation

En s'inspirant des 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.

On choisit exemple un capteur de distance à ultrason.

Le système comporte deux cartes Arduino équipée chacune d'un module Bluetooth leur permettant de communiquer.

Carte 1 - fixée sur l'habit

Montage

La carte Arduino comporte :

Le schéma de câblage est le suivant :

Le code Fritzing est le suivant : envoie_donnees_distance_bt.fzz.zip

Programme Arduino

Carte 2 - connectée au PC

Montage

La carte Arduino comporte uniquement :

Le schéma de câblage est le suivant :

Le code Fritzing est le suivant : reception_donneesbt_et_envoie_vers_processing.fzz.zip

Programme Arduino

Le programme Arduino permettant la réception des données envoyées par la Carte 1 est le suivant :

/* Réception des données issues du port Bluetooth - Module HC06 
Envoie des données reçues via le port série vers le programme Processing*/

#include <SoftwareSerial.h>
SoftwareSerial hc06(2, 3);
// réception des données envoyées sur le port bluetooth
String cmd = "";
int distance = 0;
// Gestion de la led
byte led = 13;
int Tblink = 20; // période de clignotement
float isBlink = false; // drapeau pour lancer le clignotement... ou non

void setup() {
  // pin 13 OUTPUT
  pinMode(led, OUTPUT);
  //Initialiser le  Serial Monitor
  Serial.begin(9600);
  //Initialiser le  Bluetooth Serial Port
  hc06.begin(9600);
}
void loop() {
  //Lecture des données depuis le module HC06
  while (hc06.available() > 0) {
    cmd += (char)hc06.read();
  }
  //Select function with cmd
  if (cmd != "") {
    // convertir la comande en un entier
    distance = cmd.toInt(); // conversion de la chaine de caractère en un entier : distance mesurée

    cmd = ""; //reset cmd
  }
  // envoie des données sur le port Série -> Processing
  Serial.println(distance);  
  clignoterLed(led, Tblink, Tblink); // allumer la led à chaque envoie de donnée

  // patienter x ms
  delay(100);
}

void clignoterLed(int led, int Ta, int Te) { // led : patte connécéet à la led, Ta: temps d'allumage, Te: temps led éteinte
  digitalWrite(led, HIGH);
  delay(Ta);
  digitalWrite(led, LOW);
  delay(Te);
}

Le code Arduino est directement disponible sur le lien suivant : reception_donnees_capteur_hc06_1.zip

Programme Processing

Le programme Processing permettant la réception et le traitement des données envoyées par la Carte 2 est le suivant :



Ce programme est identique à celui effectué pour les objets interactifs : 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.

wiki/tutoriels/processing/processing_10/processing_10.1605278962.txt.gz · Dernière modification: 2020/11/13 15:49 de damien.muti