Étape 5: Arduino câblage + programmation
Essentiellement un capteur sonar connecté à un servo avec et le voyant DÉL. Utiliser les définitions dans le code pour savoir où mettre les fils.
Le code :
#include < Servo.h >
Servo myservo ; Créez l’objet servo pour contrôler un servo
int pos = 0 ;
int trigPin = 4 ; Trig - cavalier vert
int echoPin = 2 ; Cavalier de Echo - jaune
longue durée, cm, inches ;
void setup() {}
Serial Port commencent
Serial.Begin (9600) ;
myservo.Attach(9) ;
Définir les entrées et sorties
pinMode (trigPin, sortie) ;
pinMode (echoPin, entrée) ;
pinMode (13, sortie) ;
}
rotate() Sub {}
va de 0 degrés à 180 degrés
par incréments de 1 degré
myservo.Write(100) ;
Delay(2000) ;
myservo.Write(0) ;
Delay(2000) ;
}
Sub cocher (int cm) {}
int temp ;
Temp = 0 ;
Temp = cm ;
Si {(temp < 5)
Delay(1000) ;
digitalWrite (13, HIGH) ;
Rotate() ;
} else {}
digitalWrite (13, faible) ;
myservo.Write(95) ;
}
}
void loop()
{
Le capteur est déclenché par une impulsion forte de 10 microsecondes.
Donner une brève impulsion faible au préalable pour s’assurer une impulsion propre élevée :
digitalWrite (trigPin, basse) ;
delayMicroseconds(5) ;
digitalWrite (trigPin, HIGH) ;
delayMicroseconds(10) ;
digitalWrite (trigPin, basse) ;
Lire le signal de la sonde : un maximum d’impulsion dont
la durée est la durée (en microsecondes) de l’envoi
du ping à la réception de son écho hors d’un objet.
pinMode (echoPin, entrée) ;
durée = pulseIn (echoPin, HIGH) ;
convertir l’heure dans un lointain
cm = (durée/2) / 29,1 ;
po = (durée/2) / 74 ;
Serial.Print(inches) ;
Serial.Print ("in") ;
Serial.Print(cm) ;
Serial.Print("cm") ;
Serial.println() ;
Delay(2000) ;
myservo.Write(95) ;
Check(cm) ;
Delay(100) ;
}