Skocz do zawartości

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

@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?

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

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

@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.

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?

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
(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

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...