Étape 5: Programmer:-
const int loopPeriod = 20 ;
unsigned long loopdelay = 0 ;
const int capteur = 12 ; BROCHE DE SORTIE ARDUINO POUR CAPTEUR D’ENTRÉE/SORTIE
const int bp1 = 7 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int bp2 = 8 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int bp3 = 4 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int bp4 = 2 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
ultraDistance int ;
int ultraDuration ;
void setup()
{
Serial.Begin(9600) ;
pinMode (bp1, sortie) ;
pinMode (bp2, sortie) ;
pinMode (bp3, sortie) ;
pinMode (bp4, sortie) ;
}
void loop()
{
if(Millis() - loopdelay > = loopPeriod)
{
readUltrasonicSensors() ;
motorstate() ;
LoopDelay = millis() ;
}
}
Sub readUltrasonicSensors()
{
pinMode (capteur, sortie) ;
digitalWrite (capteur, faible) ;
Delay(2) ;
digitalWrite (capteur, HIGH) ;
delayMicroseconds(10) ;
digitalWrite (capteur, faible) ;
pinMode (entrée de la sonde,) ;
ultraDuration = pulseIn (capteur, HIGH) ;
ultraDistance = (ultraDuration/2) / 29 ;
}
void motorstate() / / moteur fonction contrôle
{
Si ((ultraDistance > 15) || (ultraDistance < 0))
{
digitalWrite (bp3, faible) ;
digitalWrite (bp1, HIGH) ;
digitalWrite (bp2, HIGH) ;
digitalWrite (bp4, faible) ;
}
d’autre
{
digitalWrite (bp1, HIGH) ;
digitalWrite (bp2, faible) ;
digitalWrite (bp3, faible) ;
digitalWrite (bp4, HIGH) ;
}
}