Outils pour utilisateurs

Outils du site


wiki:flossmanuals:un-capteur-une-application:accueil

Ceci est une ancienne révision du document !


Un Capteur - Une application : Dialogue simple entre Arduino et Processing

  • Porteur(s) du projet : Damien MUTI (Prof. de Numérique)
  • Date : 05/2021
  • Contexte : Cours
  • Fichiers :
  • Liens :
  • Capteurs/Actionneurs :
    • Capteur de distance ultrason Grove
    • Potentiomètre
    • Processing

Intentions : explication du projet et objectifs

L'objectif de cet article est de montrer sur un exemple simple comment dialoguer entre la carte Arduino et Processing. L'objectif est de mesurer la valeur lue sur UN capteur et de l'envoyer vers le programme Processing comme un paramètre pouvant faire varier la forme ou la couleur d'un graphisme.

Les programmes proposés sont des formes simplifiés des exemples SerialCallResponse de Processing et Arduino.

Le schéma suivant résume la situation :

Nous proposons ici de mesurer une distance à l'aide d'un capteur de distance ultrason et de faire varier la couleur d'une forme sous Processing.

Circuit Arduino

On utilise un capteur de distance Ultrason Ultrasonic en Grove. Le schéma de câblage est le suivant :

Le capteur Ultrason est branché sur le “slot” D7.

Programme Arduino

Le programme Arduino est le suivant : un_capteur_une_application_arduino.zip

#include "Ultrasonic.h"
Ultrasonic ultrasonic(7);
long distance=0; // variable qui stoke la valeur de la distance
int firstSensor = 0;    // first analog sensor
int inByte = 0;         // incoming serial byte

void setup() {
  // start serial port at 9600 bps:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  establishContact();  // send a byte to establish contact until receiver responds
}

void loop() {
  // if we get a valid byte, read analog ins:
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();

    // lecture de la distance
    distance = ultrasonic.MeasureInCentimeters();
    // conversion de la valeur en un octet
    firstSensor = map(distance,0,400,0,255);
    
    // send sensor values:
    Serial.write(firstSensor);
   
  }
}

void establishContact() {
  while (Serial.available() <= 0) {
    Serial.print('A');   // send a capital A
    delay(300);
  }
}

wiki/flossmanuals/un-capteur-une-application/accueil.1620097348.txt.gz · Dernière modification: 2021/05/04 05:02 de damien.muti