snazim sa napisat zdrojovy kod, ktory po zapnuti relatka/svetla spusti pwm na pin 9, cim chcem docielit postupne rozsvecovanie. Pouzivam arduino nano a ako rtc DS3231 a data zobrazujem na displayi nokia 5110 (v tomto ukazkovom kode nie je zahrnuty-cely zdrojak nemam so sebou). Ak bude potrebne, vecer sem prihodim kompletny zdrojak.
Problem je ten, ze ked sa zopne rele v nastavenom case, pwm prebehne az do 255 ale pocas tejto doby sa mi rtc zastavi a cas na displayi zostane zamrznuty.
Moze ma prosim niekto nasmerovat co je spatne a ako docielit to, aby cas nepostal?
Kód: Vybrať všetko
#include <DS3231.h>
int Relay = 4;
int wait = 150;
int Pin1 = 9;
DS3231 rtc(SDA, SCL);
Time t;
const int OnHour = 12;
const int OnMin = 24;
const int OffHour = 12;
const int OffMin = 25;
void setup() {
Serial.begin(9600);
rtc.begin();
pinMode(Relay, OUTPUT);
digitalWrite(Relay, LOW);
}
void loop() {
t = rtc.getTime();
Serial.print(t.hour);
Serial.print(" hour(s), ");
Serial.print(t.min);
Serial.print(" minute(s)");
Serial.println(" ");
delay (1000);
if(t.hour == OnHour && t.min == OnMin){
digitalWrite(Relay,HIGH);
Serial.println("ZAPNUTE");
hore();
}
else if(t.hour == OffHour && t.min == OffMin){
digitalWrite(Relay,LOW);
Serial.println("VYPNUTE");
}
}
void hore() {
for (i=0; i<=255; i++) {
analogWrite(Pin1, i);
delay(wait);
}
}