Оглавление:

Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8: 3 шага
Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8: 3 шага

Видео: Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8: 3 шага

Видео: Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8: 3 шага
Видео: ДЕШИФРАТОР из СВЕТОДИОДОВ для семисегментного индикатора 2024, Ноябрь
Anonim
Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8
Двухразрядный дисплей с использованием одной светодиодной матрицы 8x8

Здесь я хотел бы построить индикатор температуры и влажности для своей комнаты. Я использовал одиночную светодиодную матрицу 8x8 для отображения двузначных чисел, и я думаю, что эта часть проекта стала более полезной. Я поместил финальную сборку в картонную коробку, выкрашенную под дерево.

Запасы

  1. Ардуино Нано x1
  2. Датчик температуры и влажности DHT11 x1
  3. Светодиодная матрица 8x8 с MAX7219 x1
  4. Резистор 10K x1
  5. Заголовочные провода
  6. Источник питания 5 В x1
  7. Картонная коробка (4х8х13 см)

Шаг 1: Схема

Схема
Схема

Цифровой датчик температуры и влажности DHT11 обеспечивает температуру от 0 до 50 ° C и влажность от 20% до 90%. Точность температуры составляет ± 2 ° C (максимум), а точность влажности составляет ± 5%.

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

Шаг 2: Электромонтаж и бокс

Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс
Электромонтаж и бокс

Сначала я покрасила картонную коробку акриловой краской, а после высыхания в течение 1 дня закончила лаком для волос. Я сделал квадратное окошко для светодиодного дисплея на передней крышке. Также я открыл небольшое прямоугольное отверстие для блока питания Arduino Nano и проделал несколько отверстий рядом с датчиком DHT11.

Я закрепил Arduino в углу основного блока с помощью маленькой коробки и горячего силикона.

Я разместил светодиодную матрицу в окне с помощью прозрачных лент. Здесь важно разместить его с поворотом на 90 ° против часовой стрелки, потому что код будет использовать верхние 4 строки для разряда десятков и нижние 4 строки для разряда единиц. Для модуля, который я использовал, сторона с MAX7219 должна быть на стороне основания.

Поскольку я поместил Arduino и датчик на закрывающуюся сторону коробки, я не смог полностью закрыть его? Лучше выберите другую сторону:).

Шаг 3: Код

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

Сначала загрузите библиотеку для DHT11 (https://github.com/adidax/dht11) и светодиодную матрицу (https://github.com/wayoda/LedControl), если вы еще этого не сделали.

Код использует первые 4 строки светодиодной матрицы как десятки и последние 4 строки как единицы. Так, например, если вы проверите код на «один», вы увидите, что цифра «11» повернута на 90 ° по часовой стрелке. Если вы хотите изменить эти коды, позаботьтесь об этом.

первый байт = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

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

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

Для разряда десятков цикл for работает следующим образом:

если (десятки == 1) {для (int c = 0; c <4; c ++) {lc.setRow (0, c, один [c]); }

Для разряда единиц цикл for работает следующим образом:

if (units == 1) {для (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Порядок отображения в цикле следующий:

«° C» -> температура -> «гул» -> влажность -> «dp» -> точка росы -> значение точки росы (поясняется ниже)

У меня есть информация о том, как люди чувствуют погоду в зависимости от точки росы, и я помещаю эту информацию в код следующим образом:

dp <10: сухой

9 <dp <15: хорошо (g..d)

14 <dp <18: Sweltry (sw)

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

dp> 23: мокрый

Дисплей для этих слов нехороший, но все же понятный для одного дисплея 8x8

Рекомендуемые: