Usage avec la carte grove

Adaptation du code à la version grove

Le fonctionnement est sensiblement le même, la différence est que le composant électronique sur la carte permet d'envoyer l'impultion et de lire la durée sur la même broche .

lien vers le fabriquant

1
//version sans la bibliothèque plus pédagogique 
2
// la broche sur laquelle on branche le capteur (fil jaune)
3
int borne = 7;
4
5
void setup() {
6
  // put your setup code here, to run once:
7
  Serial.begin(9600);
8
}
9
10
void loop() {
11
  // On met la borne en sortie 
12
  pinMode(borne, OUTPUT);
13
  // On met la borne à zéro
14
  digitalWrite(borne, LOW);
15
  //on attend 2 micros secondes
16
  delayMicroseconds(2);
17
  //on envoie une impulsion pendant 5 micro secondes 
18
  digitalWrite(borne, HIGH);
19
  delayMicroseconds(5);
20
  //on remet la borne à zéro
21
  digitalWrite(borne, LOW);
22
  //on peasse en mode entrée
23
  pinMode(borne, INPUT);
24
  //on lit la durée
25
  long duree = pulseIn(borne, HIGH);
26
  //on calcule la distance 
27
  float DistanceEncm = duree / 29 / 2;
28
  Serial.println(DistanceEncm);  
29
30
  delay(1000);
31
}