Stap 5: programmering
Code wordt weergegeven in de afbeelding en tekstinformatie is in het hieronder.
/*
WakeUp1
Leest een analoge ingang op pin0, digitale input van pin 12 en 13. Uitgang is van de spreker.
PIR Sensor, spreker en fotoweerstand verbinden met arduino.
Gecreëerd 12/07/13
door marymountparis
*/
int sensorPin = 0; //the analoge pin verbonden met de fotoweerstand de uitgang
int sensorValue = 0;
int pirPin = 5; //the digitale pin verbonden met de PIR-sensor de uitgang
int spreker = 12; //the digitale pin aangesloten op de luidspreker
int ledPin = 13;
int maxval = 0; minimumwaarde die fotoweerstand kan detecteren
int minval = 1023; maximumwaarde die photoresister kan detecteren
int i = 0;
int m = 0;
de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
Serial.begin(9600); Initialiseer seriële communicatie met 9600 bits per seconde:
pinMode (sensorPin, INPUT); Stel analoge pin als input
pinMode (pirPin, INPUT); set digitale pin als input
digitalWrite (pirPin, laag); set digitale pin als input
while(i<1000) {}
int val=analogRead(sensorPin); de helderheid van de kamer te vinden
if(Val>maxval) {}
de ondergrens van mogelijke bereik aanpassen bij het opsporen van de minder helderheids
maxval = val;
}
if(Val<minval) {}
de bovengrens van de mogelijke bereik aanpassen bij het opsporen van de meer helderheids
minval = val;
}
digitalWrite(ledPin,HIGH);
tijdens initialisatieproces brandt aangesloten op de arduino pin13 LED.
i ++;
}
noTone(12);
digitalWrite(ledPin,LOW);
LED aangesloten op de arduino pin13 zal zwenking vandoor wanneer initialisatieproces is voltooid.
}
void loop {}
apparaat controleert de terugkeer van zowel fotoweerstand en PIR-sensor.
de combinatie van de resultaten wijzigen de terugkeer van apparaat
sensorValue = analogRead(sensorPin);
if(digitalRead(pirPin) == HIGH) {}
Als (sensorValue > minval-100 =) {}
m = 0; teller reset
PIR sensor beweging heeft gedetecteerd en kamer is helder, maar er gebeurt niets
}
else {}
Tone(speaker,150);
delay(500);
noTone(12);
m = 0; teller reset
Wanneer de PIR sensor beweging detecteren wanneer kamer donker is,
spreker vertrekt voor enkele seconden.
Het gaat zo door totdat de kamer krijgt helder of PIR sensor stopt beweging detecteren.
}
}
else {}
Als (sensorValue > minval-30 =) {}
if(m>10000) {}
Tone(speaker,150);
delay(500);
noTone(12);
m = 0; teller reset
Wanneer de PIR sensor did niet speurder beweging en kamer is helder voor bepaalde hoeveelheid tijd,
spreker vertrekt voor enkele seconden.
Geluid gaat zo door totdat de kamer donker of PIR sensor detecteert de beweging.
}
}
}
m = m + 1; de teller telt opgeteld
}