Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Stworzyłem sobie układ, który wygląda jak na zdjęciach. Problem tkwi w tym, iz atmega nie trzyma żadnych ustawień(ustawiłem rtc, po zrestartowaniu godzina i data jest całkiem inna od tej ustawionej), za nic nie mogę zmusić dht11, aby wyświetlał temp. Co robię źle?Dodam,że program wgrany na arduino uno,l lub chińską podróbę arduino nano działa prawidłowo.
Kod wygląda
#define przycisk1 9 #define przycisk2 10 #define d 3000 #include <LiquidCrystal_I2C.h> #include <DS3231.h> #include <DHT.h> #include <Wire.h> LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); DS3231 rtc(SDA, SCL); float wilgotnosc; float temperatura; #define DHTPIN 8 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); lcd.begin(16,2); dht.begin (); rtc.begin (); lcd.noBacklight (); pinMode (przycisk1, INPUT_PULLUP); pinMode (przycisk2, INPUT_PULLUP); //rtc.setTime(11, 35, 10); //rtc.setDate(23, 11, 2017); } void loop() { temperatura = dht.readTemperature(); wilgotnosc = dht.readHumidity(); switch ((digitalRead(przycisk1) == LOW)) { case 1: //instrukcje dla var=1 lcd.clear(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("TEMP"); lcd.setCursor(0,1); lcd.print("WILG"); lcd.setCursor(8,0); lcd.print(temperatura); lcd.print("*C"); lcd.setCursor(8,1); lcd.print(wilgotnosc); lcd.print("%"); delay(d); lcd.clear(); break; default: lcd.noBacklight(); lcd.setCursor(0,0); lcd.print("Godz: "); lcd.setCursor(0,1); lcd.print("Data: "); lcd.setCursor(6,0); lcd.print(rtc.getTimeStr()); lcd.setCursor(6,1); lcd.print(rtc.getDateStr()); } if ((digitalRead(przycisk2) == LOW)) { lcd.backlight(); delay(1000); } else if ((digitalRead(przycisk2) == HIGH)) { lcd.noBacklight (); } }
Offline
Pokaż schemat.
BTW za ten delay(1000) to powinieneś dostać kopa w rzyć, i to centralnie w środek.
Offline
schematu jako takiego nie mam, tu https://postimg.org/gallery/2wgut0pbw/ wsadziłem zdjęcia,aczkolwiek raczej pomocne nie będą...coś mi się tak wydaje.
BTW za ten delay(1000) to powinieneś dostać kopa w rzyć, i to centralnie w środek.
Dlaczego za krótko?
Ostatnio edytowany przez qba1707 (2017-11-23 18:00:18)
Offline
qba1707 napisał(-a):
schematu jako takiego nie mam, tu https://postimg.org/gallery/2wgut0pbw/ wsadziłem zdjęcia,aczkolwiek raczej pomocne nie będą...coś mi się tak wydaje.
BTW za ten delay(1000) to powinieneś dostać kopa w rzyć, i to centralnie w środek.
Dlaczego za krótko?
:D
W ogóle nie używać do takich zadań delay.
Offline