Агуулгын хүснэгт:

Ганцхан 8x8 LED матриц ашиглан хоёр оронтой дэлгэц: 3 алхам
Ганцхан 8x8 LED матриц ашиглан хоёр оронтой дэлгэц: 3 алхам

Видео: Ганцхан 8x8 LED матриц ашиглан хоёр оронтой дэлгэц: 3 алхам

Видео: Ганцхан 8x8 LED матриц ашиглан хоёр оронтой дэлгэц: 3 алхам
Видео: Переработка энкодера колеса прокрутки мыши и его тестирование с помощью Arduino Nano 2024, Арваннэгдүгээр
Anonim
Ганц бие 8x8 LED матриц ашиглан хоёр оронтой дэлгэц
Ганц бие 8x8 LED матриц ашиглан хоёр оронтой дэлгэц

Энд би өрөөндөө температур, чийгшлийн индикаторыг бий болгохыг хүсч байна. Би хоёр оронтой тоог харуулахын тулд дан ганц 8x8 LED матрицыг ашигласан бөгөөд төслийн нэг хэсэг нь илүү ашигтай болсон гэж бодож байна. Би мод шиг будсан картон хайрцгийг ашиглан хийсэн эцсийн хэсгийг хайрцагласан.

Хангамж

  1. Arduino Nano x1
  2. DHT11 Температур ба чийгшил мэдрэгч x1
  3. MAX7219 x1 хэмжээтэй 8х8 LED матриц
  4. 10K эсэргүүцэл x1
  5. Толгойн утас
  6. 5V цахилгаан хангамж x1
  7. Картон хайрцаг (4x8x13 см)

Алхам 1: Схем

Схем
Схем

DHT11 дижитал температур ба чийгшлийн мэдрэгч нь 0-50 хэмийн температур, 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) дээр байршуулаагүй бол эхлээд байршуулна уу.

Код нь LED матрицын эхний 4 мөрийг хэдэн аравт, сүүлийн 4 мөрийг нэгж болгон ашигладаг. Жишээлбэл, хэрэв та "нэг" гэсэн кодыг шалгавал цагийн зүүний дагуу 90 ° эргүүлсэн "11" -ийг харах болно. Хэрэв та эдгээр кодыг өөрчлөхийг хүсч байвал энэ нарийн ширийн зүйлийг анхаарч үзээрэй.

байт нэг = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Мэдрэгчийн уншилтаас тоонуудыг авах кодууд нь:

нэгж = чийглэг % 10; хэдэн арван = (чийглэг /10) % 10;

Арван оронтой тоонуудын хувьд for давталт дараах байдлаар ажиллана.

if (tens == 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" -> температур -> "hum" -> чийгшил -> "dp" -> шүүдэр цэг -> шүүдэр цэгийн утга (доор тайлбарлав)

Хүмүүс шүүдэр цэгийн дагуу цаг агаарыг хэрхэн мэдэрдэг тухай мэдээллийг би дараах кодод орууллаа.

dp <10: хуурай

9 <dp <15: сайн (g..d)

14 <dp <18: Sweltry (sw)

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

dp> 23: нойтон

Эдгээр үгсийн дэлгэц нь тийм ч сайн биш боловч 8х8 хэмжээтэй ганц дэлгэцийн хувьд ойлгомжтой хэвээр байна

Зөвлөмж болгож буй: