Stap 6: Arduino Code
Voordat u het geweer kunt, moet u wat voorbeeldcode uploaden naar je Arduino.
Hier is wat voorbeeldcode die u gebruiken kunt om het project te starten.
Gewoon downloaden van het bestand of de kopie en plak de tekst in een nieuwe schets.
int relayOne = 2; Relay aangesloten op digital pin 2 int relayTwo = 4; Relay aangesloten op digital pin 4 int relayThree = 6; Relay aangesloten op digital pin 6 int motionSensorPin = 13; Bewegingssensor aangesloten op digital pin 13 int motionSensorState = 0;
void setup {pinMode (relayOne, OUTPUT); / / de digitale pin 2 sets als uitvoer pinMode (relayTwo, OUTPUT); / / de digitale pin 4 sets als uitvoer pinMode (relayThree, OUTPUT); / / de digitale pin 6 sets als uitvoer pinMode (motionSensorPin, INPUT); / / Hiermee stelt u de digitale pin 13 als invoer Serial.begin(9600);}
void loop {motionSensorState = digitalRead(motionSensorPin); //read output van bewegingssensor
Als (motionSensorState == HIGH) / / als beweging wordt gedetecteerd, brand geweer {digitalWrite (relayTwo, hoge); / / verandert de tweede slag bij brand het pistool delay(1000); digitalWrite (relayOne, hoge); / / het eerste relais ingeschakeld om te schakelen van het torentje delay(150); digitalWrite (relayOne, laag); / / verandert de eerste estafette af delay(500); digitalWrite (relayThree, hoge); / / bochten de derde Relais bij de toren weer delay(300); digitalWrite (relayThree LAAG); Zet de derde estafette uit delay(500); digitalWrite (relayOne, hoge); het eerste relais ingeschakeld om te schakelen van het torentje delay(300); digitalWrite (relayOne, laag); draait de eerste estafette uit delay(500); digitalWrite (relayThree, hoge); Zet de derde estafette naar Schakel het torentje weer delay(300); digitalWrite (relayThree, laag); Zet de derde estafette uit delay(500); digitalWrite (relayTwo, laag); de tweede estafette uitschakelt om te stoppen met het afvuren van het kanon-digitalWrite (relayOne, hoge); het eerste relais ingeschakeld om de toren helemaal naar één kant delay(700); digitalWrite (relayOne, laag); draait de eerste estafette uit delay(500); digitalWrite (relayThree, hoge); Zet de derde estafette naar beurt het torentje terug naar het midden positie delay(425); digitalWrite (relayThree, laag); Zet de derde estafette uit delay(1000); }
anders / / als er geen beweging wordt gedetecteerd, standaard aan het instellen van alle motoren off {digitalWrite (relayTwo, LOW), digitalWrite (relayOne, laag); digitalWrite (relayThree, laag);}
}