Étape 6: Arduino Code
Avant que vous pouvez contrôler les armes à feu, vous devez télécharger un exemple de code à votre Arduino.
Voici un exemple de code que vous pouvez utiliser pour démarrer le projet.
Il suffit de télécharger le fichier ou le copier et coller le texte dans une nouvelle esquisse.
int relayOne = 2 ; Relais connecté à la broche numérique 2 int relayTwo = 4 ; Relais connecté à la broche numérique 4 int relayThree = 6 ; Relais connecté à la broche numérique 6 int motionSensorPin = 13 ; Détecteur de mouvement connecté à la broche numérique 13 int motionSensorState = 0 ;
void setup() {pinMode (relayOne, sortie); / / définit la broche numérique 2 comme sortie pinMode (relayTwo, sortie); / / définit la broche numérique 4 comme sortie pinMode (relayThree, sortie); / / définit la broche numérique 6 comme sortie pinMode (motionSensorPin, INPUT); / / définit la broche numérique 13 sous la forme d’entrée Serial.begin(9600);}
void loop() {motionSensorState = digitalRead(motionSensorPin) ; //read sortie du détecteur de mouvement
Si (motionSensorState == haute) / / si un mouvement est détecté, Canon à tir {digitalWrite (relayTwo, HIGH); / / s’allume le deuxième relais à feu le pistolet delay(1000) ; digitalWrite (relayOne, HIGH); / / allume le premier relais pour tourner la tourelle delay(150) ; digitalWrite (relayOne, basse); / / tourne le premier relais off delay(500) ; digitalWrite (relayThree, HIGH); / / tour le troisième relais pour tourner la tourelle arrière delay(300) ; digitalWrite (relayThree FAIBLE) ; tourne le troisième relais off delay(500) ; digitalWrite (relayOne, HIGH) ; allume le premier relais pour tourner la tourelle delay(300) ; digitalWrite (relayOne, basse) ; tourne le premier relais off delay(500) ; digitalWrite (relayThree, HIGH) ; tourne le troisième relais à tourner la tourelle delay(300) ; digitalWrite (relayThree, basse) ; tourne le troisième relais off delay(500) ; digitalWrite (relayTwo, basse) ; désactive le deuxième relais pour arrêter le tir au pistolet digitalWrite (relayOne, HIGH) ; allume le premier relais pour tourner la tourelle tout le chemin à un côté delay(700) ; digitalWrite (relayOne, basse) ; tourne le premier relais off delay(500) ; digitalWrite (relayThree, HIGH) ; tourne le troisième relais à tourner la tourelle à la delay(425) position de centre ; digitalWrite (relayThree, basse) ; tourne le troisième relais off delay(1000) ; }
else / / si aucun mouvement n’est détecté, par défaut à affecter tous les moteurs hors {digitalWrite (relayOne, LOW); digitalWrite (relayTwo, LOW); digitalWrite (relayThree, LOW);}
}