Stap 5: Het programma
Eerste ding om te doen is het instellen van de klok van de RTC. Gebruik de instructie in de link https://www.virtuabotix.com/virtuabotix-ds1302-rea...
Voeg vervolgens de belangrijkste code. Ik momenteel heb deze ingesteld om 5 pm inschakelen en uitschakelen om 10 pm, maar u kunt dat gemakkelijk veranderen. Ook een ding om op te merken, ik gebruikte een bluetooth seriële toetsenbord app dat u kunt voor een android telefoon krijgen en instellen van de letter "a" voor op en 'b' voor uit.
#include / / |
Maken van de Real Time Clock Object / / Pin lay-out: SCLK -> 6, I/O -> 7, CE -> 8, gnd -> gnd, Vcc -> 3,3 v virtuabotixRTC myRTC (6, 7, 8); Stel de huidige datum en tijd in de volgende notatie: / / seconden, minuten, uur, dag voor de dag van de maand, week, maand, jaar //myRTC.setDS1302Time (00 45 20, 2, 23, 11, 2015);
Setup voor Bluetooth / / Pin lay-out: gnd -> gnd, Vcc -> 5V, TXD -> RXD char Bluetooth_Input; Bluetooth variabele
Setup voor Relay / / Pin lay-out: gnd -> gnd, Vcc -> 3.3V, IN -> 13 const int relaypin = 13;
void setup {Serial.begin(9600); / /}
void loop {}
Dit zorgt voor het bijwerken van variabelen voor de tijd of de toegang tot de afzonderlijke elementen. myRTC.updateTime(); Optionele tijd stappen / / Start afdrukken elementen als individuen //Serial.print ("huidige datum/tijd:"); 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); Vertraging zodat het programma niet afgedrukt non-stop vertraging (100);
Bluetooth_Input = Serial.read(); Bluetooth Code als (Bluetooth_Input == 'a') {//Bluetooth ON met variabele "a" digitalWrite(13,HIGH);} als (Bluetooth_Input == 'b') {//Bluetooth af met variabele "b" digitalWrite(13,LOW);}
Als (myRTC.hours==17) {/ / Sla automatisch ON bij 5 pm digitalWrite(13,HIGH);}
Als (myRTC.hours==22) {/ / schakelt automatisch uit bij 10 pm digitalWrite(13,LOW);}
}