Étape 6: Exemple de Code de l’Arduino
const int pingPin = 2 ;
int sensingRangeUnit = 11 ; int buzzerLimit = 100 ; int buzzerFrequency ;
void setup() {}
pinMode (3, sortie) ; définit la broche numérique 3 comme sortie pour une sonnerie pinMode (4 sortie) ; définit la broche numérique 4 comme sortie pour une LED pinMode (5, sortie) ; définit la broche numérique 5 comme sortie pour une LED pinMode (6, sortie) ; définit la broche numérique 6 en sortie pour une LED pinMode (7, sortie) ; définit la broche numérique 7 comme sortie pour une LED pinMode (8 sortie) ; définit la broche numérique 8 en sortie pour une LED pinMode (9 sortie) ; définit la broche numérique 9 comme sortie pour une LED pinMode (10, sortie) ; définit la broche numérique 10 comme sortie pour une LED pinMode (11 sortie) ; définit la broche numérique 11 comme sortie pour une LED pinMode (12, sortie) ; définit la broche numérique 12 comme sortie pour une LED pinMode (13, sortie) ; définit la broche numérique 13 comme sortie d’un Serial.begin(9600) de LED ;
}
void loop() {longue durée, pouces, cm ;
pinMode (pingPin, sortie) ; digitalWrite (pingPin, basse) ; delayMicroseconds(2) ; digitalWrite (pingPin, HIGH) ; delayMicroseconds(5) ; digitalWrite (pingPin, basse) ;
pinMode (pingPin, entrée) ; durée = pulseIn (pingPin, HIGH) ;
convertir l’heure dans un pouce de distance = microsecondsToInches(duration) ; cm = microsecondsToCentimeters(duration) ; Serial.Print(inches) ; Serial.Print ("in") ; Serial.Print(cm) ; Serial.Print("cm") ; Serial.println() ;
Si (pouces < (sensingRangeUnit * 1)) {digitalWrite (4, HIGH);} else {digitalWrite (4, faible);}
Si (pouces < (sensingRangeUnit * 2)) {digitalWrite (5, HIGH);} else {digitalWrite (5, LOW);}
Si (pouces < (sensingRangeUnit * 3)) {digitalWrite (6, HIGH);} else {digitalWrite (6, LOW);}
Si (pouces < (sensingRangeUnit * 4)) {digitalWrite (7, HIGH);} else {digitalWrite (7, LOW);}
Si (pouces < (sensingRangeUnit * 5)) {digitalWrite (8, HIGH);} else {digitalWrite (8, LOW);}
Si (pouces < (sensingRangeUnit * 6)) {digitalWrite (9, HIGH);} else {digitalWrite (9, faible);}
Si (pouces < (sensingRangeUnit * 7)) {digitalWrite (10, HIGH);} else {digitalWrite (10, LOW);}
Si (pouces < (sensingRangeUnit * 8)) {digitalWrite (11, HIGH);} else {digitalWrite (11, LOW);}
Si (pouces < (sensingRangeUnit * 9)) {digitalWrite (12, HIGH);} else {digitalWrite (12, LOW);}
Si (pouces < (sensingRangeUnit * 10)) {digitalWrite (13, HIGH);} else {digitalWrite (13, LOW);}
Si (pouces < buzzerLimit) {buzzerFrequency = (((buzzerLimit-inches) * 255) / buzzerLimit); analogWrite (3, buzzerFrequency);} else {analogWrite (3, 0);} delay(100) ; }
long microsecondsToInches (longs microsecondes) {/ / selon la fiche technique de la parallaxe))), il y a / / 73,746 microsecondes par pouce (c'est-à-dire son voyage à 1130 pieds / / / seconde). Cela donne la distance parcourue par le ping, sortant / / et le retour, donc on divise par 2 pour obtenir la distance de l’obstacle. retourner les microsecondes / 74 / 2 ; }
long microsecondsToCentimeters (longs microsecondes) {/ / la vitesse du son est de 340 m/s ou 29 microsecondes par centimètre. / / le ping déplace dehors et en arrière, afin de trouver la distance de la / / objet nous prenons la moitié de la distance parcourue. retourner microsecondes / 29 / 2;}