Skocz do zawartości

Prototyp stacji pogodowej DHT11


Pomocna odpowiedź

(edytowany)

Jeden drobiazg: DHT11 to coś co potrafi przekłamać o 2-3 stopnie, a odczyt wilgotności to całkiem niezły generator liczb losowych. Fajne do testów, ale wymień to na DHT22.

Do kodu zajrzę później 🙂

Ekhm... znaczy jak pokażesz cały kod.

Edytowano przez ethanak
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@ethanak

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
byte znak_stopnia[8] = 
              {
                0b00111,
                0b00101,
                0b00111,
                0b00000,
                0b00000,
                0b00000,
                0b00000,
                0b00000
              };

int gate=11; 
volatile unsigned long duration=0;
unsigned char i[5];
unsigned int j[40];
unsigned char value=0;
unsigned answer=0;
int z=0;
int b=1;

void setup() {
  lcd.init(); 
  lcd.backlight(); 
  lcd.print("Temperatura");
  lcd.setCursor(0,1);
  lcd.print("Wilgotnosc");
  lcd.createChar(1, znak_stopnia);
  lcd.setCursor(14,0);
  lcd.write(1);
  lcd.print("C");
  lcd.setCursor(13,1);
  lcd.print("%");
}

void loop() {
  delay(1000);

  while(1) {
    delay(1000);
    pinMode(gate,OUTPUT);
    digitalWrite(gate,LOW);
    delay(20);
    digitalWrite(gate,HIGH);
    pinMode(gate,INPUT_PULLUP);

  
    duration=pulseIn(gate, LOW);
    if(duration <= 84 && duration >= 72){
      while(1){
        duration=pulseIn(gate, HIGH);
        
        if(duration <= 26 && duration >= 20){
        value=0;
        }
        
        else if(duration <= 74 && duration >= 65){
        value=1;
        }
        
        else if(z==40){
        break;
        }
        
        i[z/8]|=value<<(7- (z%8));
        j[z]=value;
        z++;
      }
    }
    answer=i[0]+i[1]+i[2]+i[3];

    if(answer==i[4] && answer!=0){
    lcd.setCursor(12,0);
    lcd.print(i[2]);
    lcd.setCursor(11,1);
    lcd.print(i[0]);
    } 

    z=0;
    i[0]=i[1]=i[2]=i[3]=i[4]=0;
  }
}

O to chodziło?

Link do komentarza
Share on other sites

Gratuluję pierwszego projektu! Co do obudowy, to zanim miałem drukarkę 3D wsadzałem swoje do jakichś ładnych kartonów, albo dla tych bardziej dopracowanych robiłem z PCW (to taka płyta plastikowa którą można ciąć nożem i kleić lub skręcać).

  • Lubię! 1
Link do komentarza
Share on other sites

Konkretniej spienione PCW bo zwykłe to dobrą piłą trzeba ciąć. Ja używałem 4mm. Poza tym przydają się małe kawałki 8-10mm na jakieś łączniki, w sklepie można dostać odpady po parę cm za darmo.

  • Lubię! 1
Link do komentarza
Share on other sites

@AntekBezak Bardzo dziękuję! Co do obudowy, to ja teraz szukam jakiś plastikowych pojemników po czymś co wcześniej kupowałem - tam mam w planach wkładać projekty. 🙂 Ja z Tatą robiłem kiedyś obudowę z plexi, całkiem fajnie wyszła ale bez Taty bym sobie nie poradził bo nie było to najłatwiejsze zadanie.

Link do komentarza
Share on other sites

3 godziny temu, AntekBezak napisał:

(to taka płyta plastikowa którą można ciąć nożem i kleić lub skręcać)

A oprócz kleju na gorąco, jakie kleje polecacie?

Link do komentarza
Share on other sites

5 godzin temu, BeeKeyPro napisał:

plastikowych pojemników po czymś co wcześniej kupowałem - tam

A właśnie sobie przypomniałem - jak byłem w Twoim wieku to jak była potrzebna obudowa leciałem do kiosku po mydelniczkę 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

Mały detal: można wyrównać liczby, tak by były jedna pod drugą w tej samej "kolumnie" - wydaje mi się, że będzie lepiej wyglądać na wyświetlaczu. Zapewne będą dwucyfrowe dla 99,9% przypadków.

Edytowano przez matsobdev
  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.