Rörelseaktiverade kanontornet (6 / 11 steg)
Steg 6: Arduino kod
Innan du kan styra pistolen, måste du ladda upp några exempelkod till din Arduino.
Här är några exempel på kod som du kan använda för att starta projektet.
Bara ladda ner filen eller kopiera och klistra in texten i en ny skiss.
int relayOne = 2; Relay ansluten till digital stift 2 int relayTwo = 4; Relay ansluten till digital stift 4 int relayThree = 6; Relay ansluten till digital stift 6 int motionSensorPin = 13. Motion Sensor kopplad till digital stift 13 int motionSensorState = 0;
void setup() {pinMode (relayOne, produktionen); / / anger det digitala stiftet 2 som output pinMode (relayTwo, produktionen); / / sätter det digitala stiftet 4 som output pinMode (relayThree, produktionen); / / sätter det digitala stiftet 6 som output pinMode (motionSensorPin, ingång); / / sätter det digitala stiftet 13 som ingående Serial.begin(9600);}
void loop() {motionSensorState = digitalRead(motionSensorPin); //read produktionen av rörelsesensor
om (motionSensorState == hög) / / om rörelse detekteras, eld pistol {digitalWrite (relayTwo, hög); / / varv understödjarelän på eld pistol delay(1000); digitalWrite (relayOne, hög); / / varv första reläet att vända torn delay(150); digitalWrite (relayOne, låg); / / varv första relän av delay(500), digitalWrite (relayThree, hög); / / varv tredje relän på att vrida tornet tillbaka delay(300), digitalWrite (relayThree LÅG); visar den tredje relän av delay(500); digitalWrite (relayOne, hög); tänds den första relän vända torn delay(300); digitalWrite (relayOne, låg); visar den första relän av delay(500); digitalWrite (relayThree, hög); visar den tredje relän till vända tornet rygg delay(300); digitalWrite (relayThree, låg); visar den tredje relän av delay(500); digitalWrite (relayTwo, låg); stänger understödjarelän av för att stoppa bränning gun digitalWrite (relayOne, hög); tänds den första relän vända tornet ända till ena sidan delay(700); digitalWrite (relayOne, låg); visar den första relän av delay(500); digitalWrite (relayThree, hög); visar den tredje relän på tur tornet tillbaka till center position delay(425); digitalWrite (relayThree, låg); visar den tredje relän av delay(1000); }
annat / / om ingen rörelse detekteras, standard att ställa alla motorer av {digitalWrite (relayOne, låg), digitalWrite (relayTwo, låg), digitalWrite (relayThree, låg);}
}