Automatiserad optisk Fiber julgran + (bluetooth, timer, ljusare) (5 / 6 steg)
Steg 5: Programmet
Första sak att göra är ställa RTC. Använd instruktionen i länken https://www.virtuabotix.com/virtuabotix-ds1302-rea...
Nästa lägga till huvudkoden. Jag för närvarande har det fastställts att aktivera kl 5 och stänga kl 10 men du kan enkelt ändra detta. Också en sak att notera, jag använde en bluetooth seriell tangentbord app som du kan få för någon android-telefon och ställa in bokstaven "a" för på och "b" för off.
#include / / |
Real Time Clock skapas / / Pin Layout: SCLK -> 6, I/O -> 7, CE -> 8, gnd -> gnd, Vcc -> 3.3V virtuabotixRTC myRTC (6, 7, 8); Ange aktuellt datum och tid i följande format: / / sekunder, minuter, timmar, veckodag, dag i månaden, månad, år //myRTC.setDS1302Time (00, 45, 20, 2, 23, 11, 2015);
Inställningar för Bluetooth / / Pin Layout: gnd -> gnd, Vcc -> 5V, TXD -> RXD char Bluetooth_Input; Bluetooth-variabel
Installationsprogrammet för relä / / Pin Layout: gnd -> gnd, Vcc -> 3.3V, IN -> 13 const int relaypin = 13.
void setup() {Serial.begin(9600); / /}
void loop() {
Detta möjliggör för uppdatering av variabler tid eller få tillgång till de enskilda elementen. myRTC.updateTime(); Valfria tidssteg / / börja skriva ut beståndsdelar som individer //Serial.print ("aktuellt datum/tid:"); Serial.Print(myRTC.DAYOFMONTH); Serial.Print("/"); Serial.Print(myRTC.month); Serial.Print("/"); Serial.Print(myRTC.Year); Serial.Print(""); Serial.Print(myRTC.hours); Serial.Print(":"); Serial.Print(myRTC.Minutes); Serial.Print(":"); Serial.println(myRTC.seconds); Dröjsmål så att programmet inte skriva ut icke-stop fördröjning (100);
Bluetooth_Input = Serial.read(); Bluetooth kod om (Bluetooth_Input == "a") {//Bluetooth vidare med variabel 'a' digitalWrite(13,HIGH);} om (Bluetooth_Input == "b") {//Bluetooth OFF med variabel 'b' digitalWrite(13,LOW);}
om (myRTC.hours==17) {/ / automatiskt slå på 5 pm digitalWrite(13,HIGH);}
om (myRTC.hours==22) {/ / automatiskt slå av på 10 pm digitalWrite(13,LOW);}
}