Stránka 1 z 1

Předělání kódu z DS1307 na DS3231

Napsal: 13 lis 2017, 10:12
od brunosaab
Ahoj,

byl by někdo ochotný předělat program z DS1307 na DS3231. Jedná se o osvětlení akvária - stmívání, rozsvěcování dvou okruhů v nastavený čas. Kód je již hotový, ale nedokážu si poradit s konvertem na jiné hodiny. Jsem ochotný za to zaplatit rozumnou cenu.
Děkuji

Re: Předělání kódu z DS1307 na DS3231

Napsal: 13 lis 2017, 20:49
od petan
Hodiny přečteš tímhle kódem:

Kód: Vybrat vše

//RTC DS3231 #define DS3231_I2C_ADDRESS 0x68 //adresa modulu 

void GetRtc() { 
 Wire.beginTransmission(DS3231_I2C_ADDRESS); 
 Wire.write(0); //zapsat nulu 
 Wire.endTransmission(); 

 Wire.requestFrom(DS3231_I2C_ADDRESS, 7); //požadavek na 7 bajtů od modulu RTC 
 SEC = bcdToDec(Wire.read() & 0x7f); 
 MIN = bcdToDec(Wire.read()); 
 GODZ = bcdToDec(Wire.read() & 0x3f); 
} 

// Konverze BCD na Dec 
byte bcdToDec(byte val) { 
 return((val / 16 * 10) + (val % 16)); 
}
Koukni sem, tady je napsáno, jak to číst hodiny pomocí DS3231. V podstatě stačí jen nahradit pár řádků, kde se čtou a nastavují proměnné pro hodiny, minuty a sekundy. Je to úplně primitivní.