Stap 6: Upload het programma.
Plaats de batterij terug in de zender en de schakeling testen. Als alles werkt, moet u het apparaat loskoppelen vanaf USB.
/ * Trigger een transistor gebaseerd op de licht niveau gemeten door de photoresistor
Sluit de fotoweerstand één been om 0, en pin aan + 5V pin
Verbinding maken met een weerstand (ongeveer 10k is een goede waarde, hoger
waarden geeft hogere lezingen) van pin 0 naar GND.
----------------------------------------------------
PhotoR 10K
+ 5 o---///--.--///---o GND
|
PIN 0 o---
----------------------------------------------------
Sluit digitale pin 5 aan de poort van een transistor.
Sluit de afvoer poot van de transistor met GND en op het been van de grond van het circuit waarnaar wordt overgeschakeld.
Het bronpakket been van de transistor verbinden met het andere been van de circuitgeschakelde.
Het circuit waarnaar wordt overgeschakeld moet hebben een eigen stroomvoorziening.
*/
int lightPin = 0; definieert een pin voor Photoresistor
int outPin = 5; een pin voor transistor-gate definiëren
VOID Setup
{
Serial.begin(9600); De seriële communicatieboekjes begin (voor diagnose)
pinMode (outPin, uitvoer);
digitalWrite (outPin, laag); Sluiten van de poort
}
void loop
{
int currentLight = analogRead(lightPin); de huidige lezing van de photoresistor
Serial.println(currentLight); Schrijf de waarde van de fotoweerstand naar de seriële monitor.
Als (currentLight > 400) {}
digitalWrite (outPin, hoog); Druk op de bel
digitalWrite (outPin, laag); De poort weer uitschakelen
delay(4000); Wachten zodat u don't trigger opnieuw voor hetzelfde licht evenement
}
delay(100); wachten voordat het lichtniveau opnieuw te controleren (maar niet te lang of je zou kunnen missen!)
}