Motion känsliga Tesla Coil (2 / 4 steg)
Steg 2: kod
Nedan är koden för Halloween del av programmet. När någon går med mindre än 2m bort och ingen har gått i 1,5 minuter, tänds Tesla Coil.int transistor = 13. transistor till motstånd till pin 13unsigned lång tid = 0; int avgdistance = 0; void setup() {Serial.begin(9600); / / protip: Anslut en seriell lcd för att snabbt testa sonarSetup(); pinMode (transistor, produktionen); delay(2000); //give tid för allt redo för (int jag = 0; jag < = 30; i ++) //get ett genomsnittligt avstånd på hur långt bort den andra väggen är {avgdistance += sonarPulseWidth();} avgdistance = 30; avgdistance-= 50;} void loop() {int avstånd = sonarPulseWidth(); Serial.println(Distance); om (avstånd < avgdistance & & (tid + 90000) < millis()) //distance måste vara mindre än avgdistance bort //and inte kan ha utlösts i senaste 90 sekunder {digitalWrite (transistor, hög); delay(500); //turn spole på 1/2 sekund digitalWrite (transistor, låg), tid = millis();}}
Koden för att köra sonar sensorn är också nedan.
Sonar GND att jorda //Sonar + 5 till + 5 //Sonar TX--värdelös för detta projekt //Sonar RX--värdelös för detta projekt //Sonar AN--värdelös för denna projectint sonarPW = 5; Sonar PW till digital stift 5, 147uS per tum (2,54 cm/i) //Sonar BW--värdelös för denna projectvoid sonarSetup() {pinMode (sonarPW, ingång);} int sonarPulseWidth() {return ((pulseIn (sonarPW, hög) / 147) * 2,54);}
Du kan ladda ner skissen nedan.