Съдържание:

Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица: 3 стъпки
Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица: 3 стъпки

Видео: Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица: 3 стъпки

Видео: Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица: 3 стъпки
Видео: Преобразователь постоянного тока в постоянный из схемы инвертора 2024, Ноември
Anonim
Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица
Двуцифрен дисплей, използващ единична 8x8 светодиодна матрица

Тук бих искал да вградя индикатор за температура и влажност в моята стая. Използвах единична 8x8 LED матрица за показване на двуцифрени числа и мисля, че част от проекта стана по-полезна. Кутирах финала, построен с картонена кутия, боядисана като дърво.

Консумативи

  1. Arduino Nano x1
  2. DHT11 сензор за температура и влажност x1
  3. 8x8 LED матрица с MAX7219 x1
  4. 10K резистор x1
  5. Хедър проводници
  6. 5V захранване x1
  7. Картонена кутия (4x8x13 cm)

Стъпка 1: Схеми

Схематично
Схематично

Дигиталният датчик за температура и влажност на DHT11 осигурява температури между 0 - 50 ° C и влажност между 20% и 90%. Точността на температурата е ± 2 ° C (максимум), а точността на влажността е ± 5%.

DHT11 също така предоставя стойности на точката на оросяване. Точката на оросяване е температурата, до която въздухът трябва да се охлади, за да стане наситен с водни пари. При допълнително охлаждане водната пара във въздуха ще се кондензира, за да образува течна вода.

Стъпка 2: Окабеляване и бокс

Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс
Окабеляване и бокс

Първо боядисах картонената кутия с акрилна боя и след като изсъхнах 1 ден завърших с лак за коса. Направих квадратен прозорец за LED дисплей на предния капак. Също така отворих малък правоъгълен отвор за захранването на Arduino Nano и поставих няколко дупки близо до сензора DHT11.

Поправих Arduino в ъгъла на основната кутия, използвайки малка кутия и горещ силиций.

Поставих LED матрицата в прозореца с помощта на прозрачни ленти. Тук е важно да го поставите с въртене на 90 ° обратно на часовниковата стрелка, защото кодът ще използва горните 4 реда за десетки цифри и долните 4 реда за цифри на единица. За модула, който използвах, страната с MAX7219 трябва да е от основата.

Тъй като поставих Arduino и сензора от затварящата страна на кутията, не можах да го затворя напълно?. По -добре изберете другата страна:).

Стъпка 3: Код

Код
Код
Код
Код
Код
Код

Първо качете библиотеката за DHT11 (https://github.com/adidax/dht11) и LED матрица (https://github.com/wayoda/LedControl), ако все още нямате.

Кодът използва първите 4 реда на LED матрицата като десетки и последните 4 реда като единици. Така например, ако проверите кода за "едно", ще видите "11", завъртяно на 90 ° по часовниковата стрелка. Ако искате да промените тези кодове, моля, погрижете се за тази подробност.

байт един = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Кодовете за получаване на цифрите от показанията на сензора са:

единици = влажен % 10; десетки = (влажно /10) % 10;

За десетки цифри цикълът for работи както следва:

if (десетки == 1) {for (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

За цифрите на единиците цикълът for работи както следва:

if (единици == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Редът на показване е в цикъл, както следва:

"° C" -> температура -> "бръмчене" -> влажност -> "dp" -> точка на оросяване -> значението на точката на оросяване (обяснено по -долу)

Имам малко информация за това как хората чувстват времето според точката на оросяване и поставих тази информация в кода, както следва:

dp <10: сухо

9 <dp <15: добро (g..d)

14 <dp <18: Бременност (sw)

17 <dp <24: Sweltry plus (sw +)

dp> 23: мокро

Дисплеят за тези думи не е добър, но все пак разбираем за един 8x8 дисплей

Препоръчано: