{{youtube>MiSdoO-Klpo?}} === Arduino: Zegar cyfrowy z pomiarem temperatury === #include "RTClib.h" #include #include #include "DHT.h" #include #include #include #include #define CLK 6 #define DIO 4 #define DHTPIN 9 #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 RTC_DS1307 rtc; TM1637Display display(CLK, DIO); DHT dht(DHTPIN, DHTTYPE); OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); void setup() { rtc.begin(); sensors.begin(); display.setBrightness(0x0f); display.showNumberDecEx(8888,0b01000000, false); delay(3000); display.clear(); display.setBrightness(3); Serial.begin(57600); dht.begin(); } void loop() { sensors.requestTemperatures(); float tempC = sensors.getTempCByIndex(0); int tempINT = round(tempC); DateTime now = rtc.now(); int Minute = now.minute(); int Hour = now.hour(); String strMinute; String strHour; float h = dht.readHumidity(); float t = dht.readTemperature(); if(Hour < 10) {strHour = "0" + String(Hour);} else if(Hour >= 10) {strHour = String(Hour);} else if(Hour == 0) {strHour = "00";} if(Minute < 10) {strMinute = "0" + String(Minute);} else if(Minute >= 10) {strMinute = String(Minute);} else if(Minute == 0) {strMinute = "00";} String Time; Time += strHour; Time += strMinute; if(Time == "0"){ Time = "0000"; } Serial.println(tempC); Serial.println(tempINT); int numTime = Time.toInt(); display.clear(); display.showNumberDecEx(numTime,0b01000000, true); delay(2000); display.clear(); display.showNumberDec(t,false,2,1); delay(2000); display.clear(); display.showNumberDec(h,false,2,1); delay(2000); display.clear(); display.showNumberDec(tempINT,false,2,1); delay(2000); }