Spisu treści:

Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: 3 kroki
Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: 3 kroki

Wideo: Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: 3 kroki

Wideo: Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: 3 kroki
Wideo: Sony ZV-1 - test w 2022. Czy nadal warto? 2024, Lipiec
Anonim
Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8
Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8

Tutaj chciałbym zbudować wskaźnik temperatury i wilgotności dla mojego pokoju. Użyłem pojedynczej matrycy LED 8x8 do wyświetlania liczb dwucyfrowych i myślę, że ta część projektu stała się bardziej użyteczna. Ostateczną konstrukcję zapakowałem w kartonowe pudełko, pomalowane jak drewno.

Kieszonkowe dzieci

  1. Arduino Nano x1
  2. Czujnik temperatury i wilgotności DHT11 x1
  3. Matryca 8x8 LED z MAX7219 x1
  4. Rezystor 10K x1
  5. Przewody rozgałęźne
  6. Zasilanie 5 V x1
  7. Pudełko kartonowe (4x8x13 cm)

Krok 1: Schemat

Schematyczny
Schematyczny

Cyfrowy czujnik temperatury i wilgotności DHT11 zapewnia temperaturę od 0 do 50°C i wilgotność od 20% do 90%. Dokładność temperatury wynosi ±2°C (maksymalnie), a dokładność wilgotności wynosi ±5%.

DHT11 dostarcza również wartości punktu rosy. Punkt rosy to temperatura, do której powietrze musi zostać schłodzone, aby zostało nasycone parą wodną. Po dalszym schłodzeniu, unosząca się w powietrzu para wodna skondensuje się, tworząc ciekłą wodę.

Krok 2: Okablowanie i boks

Okablowanie i boks
Okablowanie i boks
Okablowanie i boks
Okablowanie i boks
Okablowanie i boks
Okablowanie i boks
Okablowanie i boks
Okablowanie i boks

Najpierw pomalowałam karton farbą akrylową i po wyschnięciu przez 1 dzień skończyłam lakierem do włosów. Na przedniej okładce zrobiłem kwadratowe okienko na wyświetlacz LED. Otworzyłem też mały prostokątny otwór na zasilacz Arduino Nano i umieściłem kilka otworów w pobliżu czujnika DHT11.

Umocowałem Arduino w rogu głównego pudełka za pomocą małego pudełka i gorącego silikonu.

Matrycę LED umieściłem w oknie za pomocą przezroczystych pasków taśmy. Tutaj ważne jest, aby umieścić go z obrotem o 90° w kierunku przeciwnym do ruchu wskazówek zegara, ponieważ kod użyje górnych 4 rzędów dla cyfr dziesiątek i dolnych 4 rzędów dla cyfr jednostek. W przypadku modułu, którego użyłem strona z MAX7219 powinna znajdować się po stronie podstawy.

Ponieważ umieściłem Arduino i czujnik po stronie zamykania pudełka, nie mogłem go całkowicie zamknąć?. Lepiej wybierz drugą stronę:).

Krok 3: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Najpierw prześlij bibliotekę dla DHT11 (https://github.com/adidax/dht11) i matrycę LED (https://github.com/wayoda/LedControl), jeśli jeszcze nie masz.

Kod wykorzystuje pierwsze 4 rzędy matrycy LED jako dziesiątki, a ostatnie 4 rzędy jako jednostki. Na przykład, jeśli zaznaczysz kod na „jeden”, zobaczysz „11” obrócone o 90° zgodnie z ruchem wskazówek zegara. Jeśli chcesz zmienić te kody, zajmij się tym szczegółem.

bajt jeden = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Kody do pobrania cyfr z odczytu czujnika to:

jednostki = wilgotny % 10; dziesiątki = (wilgotność/10) % 10;

Dla cyfry dziesiątek pętla for przebiega następująco:

if (dziesiątki == 1) { for (int c=0;c<4;c++) { lc.setRow(0, c, one[c]); }

Dla cyfry jednostek pętla for przebiega następująco:

if (jednostki == 1) { for (int c=4;c<8;c++) { lc.setRow(0, c, one[c]); }

Kolejność wyświetlania jest zapętlona w następujący sposób:

„°C” -> temperatura -> „szum” -> wilgotność -> „dp” -> punkt rosy -> znaczenie punktu rosy (wyjaśnione poniżej)

Mam trochę informacji o tym, jak ludzie czują pogodę według punktu rosy i umieszczam te informacje w kodzie w następujący sposób:

dp < 10: suchy

9 < dp < 15: dobry (g..d)

14 < dp < 18: Opieka (sw)

17 < dp < 24: Słodki plus (sw +)

dp > 23: mokry

Wyświetlacz dla tych słów nie jest dobry, ale nadal zrozumiały dla pojedynczego wyświetlacza 8x8

Zalecana: