Étape 8: Explication du code
Cela ajoute la bibliothèque de ultrasonic.h à l’esquisse
int moteur = 9 ; Goupille de relais. Il s’agit de l’axe où le motor1 est connecté
int MOTOR2 = 7 ; Il s’agit de l’axe où le motor2 est connecté
int TRIG = 11 ; L’ergot, c’est l’ergot du capteur ultrasonique
int ECHO = 10 ; Echo Pin, c’est l’axe de l’écho du capteur ultrasonique
Gamme int ; La gamme de l’objet du capteur de Ping
int Dist ; La valeur de la Distance, la quantité de pouces que vous définissez avant que le moteur tourne c’est à dire détecte le mur
Ultrasonic(TRIG,ECHO) ultrasonique ; Créez et initialisez l’objet ultrasonique.
void setup() {}
pinMode (moteur, sortie) ; Cela met le 1er moteur comme sortie
pinMode (MOTOR2, sortie) ; Cela met le 2 ème moteur comme sortie
Dist = 10 ; La distance en pouces. Changer cela pour gamme augmenté ou diminué.
}
void loop() {}
public static int sensorCount = 0 ; Cela est essentiellement considéré le capteur d’entrée à 0 au début
Gamme = ultrasonique. Ranging(Inc) ; Gamme est calculé en pouces.
Si (plage > Dist) {}
digitalWrite (moteur, élevé) ;
digitalWrite (MOTOR2, élevé) ;
sensorCount = 0 ;
} else {}
++ sensorCount ;
Si (sensorCount = 5) si la plage n’est pas > à distance puis le capteur active la gamme 5 fois d’affilée avec un écart de 20 ms et si ils font tous preuve qui vont < à distance, puis la fonction else est exécutée qui désactive un moteur afin que le robot change de direction
{
digitalWrite (moteur, faible) ;
digitalWrite (MOTOR2, élevé) ;
Delay(500) ;
sensorCount = 0 ; Définir la valeur initiale de lectures du capteur à 0
}
d’autre
{
Delay(20) ; attendre 20 ms avant le capteur détecte à nouveau afin d’obtenir les 5 valeurs de plage < dist d’arrêter motor1
}
}
}