Thermohygrometer med klocka och LCD-display på Arduino UNO (3 / 7 steg)
Steg 3: Rengöring DS3231 koden
Innan kombinera DS3231 realtidsklocka och DHT22, är det bättre att ta bort alla rader vi inte behöver i filen ds3231.ino som tidigare använts.
Som vanligt vi fäst koden klar för användning men ändå är det bättre att förstå hur den fungerar.
Ta bort vad vi inte behöver
Öppna DS3231 koden och ta bort raderna från 3 till 7:
Konvertera normala decimaltal till binary coded decimal
byte decToBcd(byte val)
{
tillbaka ((val/10 * 16) + (val % 10));
}
De behövs inte längre eftersom konvertera nummer från decimaltal till binärt är bara användbar när du är ange datum och tid.
Av samma anledning som ovan, ta bort raderna från 17 till 19 ligger i void setup -funktionen...
Ange den första tiden här:
DS3231 sekunder, minuter, timmar, dag, datum, månad, år
setDS3231time(30,12,21,6,1,05,15);
.. och rader från 21 till 35:
void setDS3231time (byte andra, byte minut, byte timme, byte dayOfWeek, byte
dayOfMonth, byte månad, byte år)
{
ställer in tid och datum data till DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); ställa in nästa ingång att starta vid sekunder register
Wire.write(decToBcd(Second)); ställa in sekunder
Wire.write(decToBcd(Minute)); minuter
Wire.write(decToBcd(Hour)); Ange timmar
Wire.write(decToBcd(DAYOFWEEK)); Ställ in dagen i veckan (1 = söndag, 7 = lördag)
Wire.write(decToBcd(dayOfMonth)); Ställ in datum (1 till 31)
Wire.write(decToBcd(month)); ange månad
Wire.write(decToBcd(Year)); år (0-99)
Wire.endTransmission();
}
Filen ds3231_bis.ino innehåller lättade.