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
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.039 seconds, 17 queries executed ]

Informacje debugowania

Time (s) Query
0.00021 SET CHARSET latin2
0.00009 SET NAMES latin2
0.00121 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.206.194.134' WHERE u.id=1
0.00380 UPDATE punbb_online SET logged=1594718849 WHERE ident='18.206.194.134'
0.00048 SELECT * FROM punbb_online WHERE logged<1594718549
0.00301 DELETE FROM punbb_online WHERE ident='46.229.168.138'
0.00265 DELETE FROM punbb_online WHERE ident='54.36.148.154'
0.00970 DELETE FROM punbb_online WHERE ident='54.36.148.155'
0.00409 DELETE FROM punbb_online WHERE ident='54.36.148.186'
0.00244 DELETE FROM punbb_online WHERE ident='54.36.148.199'
0.00093 DELETE FROM punbb_online WHERE ident='54.36.148.228'
0.00100 DELETE FROM punbb_online WHERE ident='54.36.148.247'
0.00204 DELETE FROM punbb_online WHERE ident='54.36.149.11'
0.00048 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.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00088 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.00255 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30080
Total query time: 0.03563 s