Étape 3: Le Code!!
Maintenant tout ce que vous devez faire est d’écrire le code pour faire tous ces différents composants fonctionnent ensemble.Tout d’abord commencer par le code de Servo balayage des distractions Arduino, qui permet le servo à balayer sans cesse de la manière
Ensuite, vous créez une sous-routine qui trouve le temps qu’il faut pour un signal ultrasonore à être envoyé et revenir du côté de l’entrée du capteur. Ensuite, il définit cette valeur à une variable
Voici l’exemple de code
Comment le faire
digitalWrite (Trig_pin, basse) ;
delayMicroseconds(2) ;
digitalWrite (Trig_pin, élevé) ;
delayMicroseconds(5) ;
digitalWrite (Trig_pin, basse) ;
durée = pulseIn(Echo_pin,HIGH) ;
Serial.println (durée, DEC) ;
Delay(50) ;
Puis dans les boucles du code balayage créer un certain temps boucle. qui dit lorsque puis valeur duration est inférieur à un certain nombre
les pauses de servo, LED s’allume et vous vérifiez à nouveau la valeur de la sonde.
Le Code commenté complètement de mon projet est attaché
/*
Mitrailleuse
Un capteur à ultrason est la numérisation sans cesse pour trouver la distance à l’objet le plus proche
basé sur cette valeur le Servo moteur s’arrête (pistolet cesse de balayage) et la LED s’allume,
vérifie ensuite la valeur de la sonde à nouveau
Circuit :
Servo moteur est connecté au numérique Pin 9 et de la puissance au sol
LED est connecté à la broche numérique 13
Entrée de capteur à ultrasons est connectée à la broche 12
Sortie est connectée à la broche numérique 7 ;
Créé novembre 2013 de Krishna Peri
mis à jour le décembre 2013 par KRishna Peri
*/
#include < Servo.h >
#include < SoftwareSerial.h >
const int Trig_pin = 7 ; Pulsoe de déclencheurs pour capteur à ultrasons
const int Echo_pin = 12 ; Echo reçoit pour capteur à ultrasons
int ledpin = 13 ; conduit de broche de commande
longue durée ; Temps mis par l’impulsion de rebondir à droite capteur ultrasonique
unsigned int durée = 1 ; distance de valeur pour ultrasons
Servo-moteur ; Servo-moteur qui contrôle
int pos = 0 ; variable pour stocker la position du servo
int Dcmotor = 10 ; ne fait rien maintenant
void setup() {}
Serial.Begin(9600) ; Mettre en place une bibliothèque série à 9600 bps
Motor.Attach(9) ; Servo-moteur est attaché à la broche 9
initialiser la goupille d’impulsion en sortie :
pinMode (Trig_pin, sortie) ;
initialiser la broche echo_pin comme intrant :
pinMode (entrée, Echo_pin) ;
pinMode(ledpin,OUTPUT) ;
pinMode(Dcmotor,OUTPUT) ;
}
void loop()
{
pour (pos = 0; pos < 180; pos += 2) / / manches servo par incréments de 5 de 0 à 180
{
Motor.Write(POS) ;
Delay(15) ;
Capteur () ;
tandis que (durée > 10 & & durée < 400) {/ / si le détecteur détecte quelque chose de fermer
delayMicroseconds(30) ; pauses servo
digitalWrite(ledpin,HIGH) ; allume les led
Sensor() ; vérifie si l’objet est toujours fermer
}
digitalWrite(ledpin,LOW) ; s’éteint voyant
}
pour (pos = 180; pos > = 1; pos-= 2) / / de même que le précédent pour la boucle sauf tourne en sens inverse
{
Motor.Write(POS) ;
Delay(15) ;
Capteur () ;
tandis que (durée > 10 & & durée < 400) {}
digitalWrite(ledpin,HIGH) ;
delayMicroseconds(30) ;
Sensor() ;
}
digitalWrite(ledpin,LOW) ;
}
}
void Sensor() {/ / vérifie la distance entre le capteur et objet le plus proche, tout droit
digitalWrite (Trig_pin, basse) ;
delayMicroseconds(2) ; retards
digitalWrite (Trig_pin, élevé) ; signal de mises en chantier
delayMicroseconds(5) ; Delay
digitalWrite (Trig_pin, basse) ; signal d’arrêt
durée = pulseIn(Echo_pin,HIGH) ; vérifie que la valeur est
Serial.println (durée, DEC) ; imprime la valeur
Delay(50) ; retards
}