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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-11-23 15:32:00

  qba1707 - Użytkownik

qba1707
Użytkownik
Zarejestrowany: 2011-08-16

atmega328p,rtc idht11

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

Kod:

#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

 

#2  2017-11-23 17:14:36

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: atmega328p,rtc idht11

Pokaż schemat.
BTW za ten delay(1000) to powinieneś dostać kopa w rzyć, i to centralnie w środek.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2017-11-23 17:58:17

  qba1707 - Użytkownik

qba1707
Użytkownik
Zarejestrowany: 2011-08-16

Re: atmega328p,rtc idht11

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.[/quote]
Dlaczego za krótko?

Ostatnio edytowany przez qba1707 (2017-11-23 18:00:18)

Offline

 

#4  2017-11-23 18:22:15

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: atmega328p,rtc idht11

[quote=qba1707]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.[/quote]
Dlaczego za krótko?[/quote]
:D
W ogóle nie używać do takich zadań delay.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.015 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00118 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.218.61.16' WHERE u.id=1
0.00142 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.218.61.16', 1713545256)
0.00068 SELECT * FROM punbb_online WHERE logged<1713544956
0.00121 SELECT topic_id FROM punbb_posts WHERE id=315714
0.00083 SELECT id FROM punbb_posts WHERE topic_id=30080 ORDER BY posted
0.00062 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30080 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00170 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30080 ORDER BY p.id LIMIT 0,25
0.00458 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30080
Total query time: 0.01251 s