Étape 5: Le programme
Première chose à faire est définie l’horloge RTC. Utilisez plutôt l’instruction dans le lien https://www.virtuabotix.com/virtuabotix-ds1302-rea...
Ajoutez ensuite le code principal. J’ai actuellement mis à allumer à 17:00 et éteindre à 22:00, mais vous pouvez facilement changer cela. Aussi une chose à noter, j’ai utilisé une app de série clavier bluetooth que vous pouvez obtenir pour n’importe quel téléphone android et définir la lettre « a » pour sur et « b » pour désactiver.
#include / / |
Création de l’objet d’horloge temps réel / / disposition des broches : SCLK -> 6, I/O -> 7, CE -> 8, gnd -> gnd, SCR -> 3.3V virtuabotixRTC myRTC (6, 7, 8) ; Régler la date actuelle et l’heure dans le format suivant: / / des secondes, minutes, heures, jour de la semaine, jour du mois, mois, année //myRTC.setDS1302Time (00, 45, 20, 2, 23, 11, 2015) ;
Le programme d’installation de Bluetooth / / Pin Layout : gnd -> gnd, SCR -> 5V, TXD -> char RXD Bluetooth_Input ; Variable de Bluetooth
Le programme d’installation pour le relais / / disposition des broches : gnd -> gnd, SCR -> 3.3V, IN -> 13 const int relaypin = 13 ;
void setup() {Serial.begin(9600); / /}
void loop() {}
Cela permet la mise à jour des variables de temps ou d’accéder à des éléments individuels. myRTC.updateTime() ; Incréments de temps facultatif / / début des éléments d’impression comme individus //Serial.print ("Current Date/Time:") ; 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) ; Retard si le programme n’imprime pas tarder sans escale (100) ;
Bluetooth_Input = Serial.read() ; Le Code Bluetooth si (Bluetooth_Input == « a ») {ON //Bluetooth à la variable « a » digitalWrite(13,HIGH);} si (Bluetooth_Input == « b ») {//Bluetooth OFF avec la variable « b » digitalWrite(13,LOW);}
Si (myRTC.hours==17) {/ / automatiquement l’activation à 17:00 digitalWrite(13,HIGH);}
Si (myRTC.hours==22) {/ / éteindre automatiquement à 22:00 digitalWrite(13,LOW);}
}