Talaan ng mga Nilalaman:

Dalawang-digit na Display Paggamit ng Single 8x8 Led Matrix: 3 Mga Hakbang
Dalawang-digit na Display Paggamit ng Single 8x8 Led Matrix: 3 Mga Hakbang

Video: Dalawang-digit na Display Paggamit ng Single 8x8 Led Matrix: 3 Mga Hakbang

Video: Dalawang-digit na Display Paggamit ng Single 8x8 Led Matrix: 3 Mga Hakbang
Video: C++ | Модификаторы Типов | Указатели | 02 2024, Nobyembre
Anonim
Dalawang-digit na Display Gamit ang Single 8x8 Led Matrix
Dalawang-digit na Display Gamit ang Single 8x8 Led Matrix

Dito nais kong bumuo ng isang tagapagpahiwatig ng temperatura at halumigmig para sa aking silid. Gumamit ako ng solong 8x8 LED Matrix para sa pagpapakita ng dalawang-digit na numero, at sa palagay ko ang bahagi ng proyekto ay naging mas kapaki-pakinabang. Inilagay ko ang pangwakas na itinayo gamit ang isang karton na kahon, na pininturahan tulad ng kahoy.

Mga gamit

  1. Arduino Nano x1
  2. DHT11 Temperatura at Humidity Sensor x1
  3. 8x8 LED matrix na may MAX7219 x1
  4. 10K risistor x1
  5. Mga header wire
  6. 5V power supply x1
  7. Kahon ng karton (4x8x13 cm)

Hakbang 1: Skematika

Skematika
Skematika

Naghahatid ang DHT11 digital na temperatura at sensor ng kahalumigmigan ng temperatura sa pagitan ng 0 - 50 ° C at halumigmig sa pagitan ng 20% hanggang 90%. Ang katumpakan ng temperatura ay ± 2 ° C (maximum) at ang katumpakan ng kahalumigmigan ay ± 5%.

Nagbibigay din ang DHT11 ng mga halaga ng dew point. Ang hamog na punto ay ang temperatura kung saan ang hangin ay dapat na cooled upang maging puspos ng singaw ng tubig. Kapag higit na pinalamig, ang singaw ng tubig na dala ng hangin ay magpapalawak upang makabuo ng likidong tubig.

Hakbang 2: Mga Kable at Boksing

Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing
Mga Kable at Boksing

Una kong pininturahan ang kahon ng karton gamit ang pinturang acrylic at pagkatapos ng pagpapatayo ng 1 araw natapos ako sa isang hairspray. Gumawa ako ng isang parisukat na bintana para sa LED display sa harap na takip. Nagbukas din ako ng isang maliit na butas na rektanggulo para sa supply ng kuryente ng Arduino Nano at naglagay ng maraming mga butas malapit sa sensor ng DHT11.

Inayos ko ang Arduino sa sulok ng pangunahing kahon gamit ang maliit na kahon at mainit na silikon.

Inilagay ko ang LED matrix sa window gamit ang mga transparent tape strips. Dito mahalaga na ilagay ito sa isang 90 ° counter-clockwise rotation dahil gagamitin ng code ang itaas na 4 na mga hilera para sa sampung digit at ang mas mababang 4 na mga hilera para sa mga digit ng yunit. Para sa modyul na ginamit ko ang tagiliran na may MAX7219 ay dapat na nasa base na bahagi.

Dahil inilagay ko ang Arduino at sensor sa pagsasara ng kahon hindi ko ito ganap na naisara?. Mas mabuti mong piliin ang iba pang mga bahagi:).

Hakbang 3: Code

Code
Code
Code
Code
Code
Code

Una i-upload ang library para sa DHT11 (https://github.com/adidax/dht11) at LED matrix (https://github.com/wayoda/LedControl) kung wala ka pa.

Ginagamit ng code ang unang 4 na hilera ng LED matrix bilang sampu at ang huling 4 na mga hilera bilang mga yunit. Kaya halimbawa kung suriin mo ang code para sa "isa" makikita mo ang "11" bilang paikot na 90 ° paliko sa oras. Kung nais mong baguhin ang mga code na ito mangyaring alagaan ang detalyeng iyon.

byte one = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Ang mga code para sa pagkuha ng mga digit mula sa pagbabasa ng sensor ay:

mga yunit = mahalumigmig% 10; sampu = (mahalumigmig / 10)% 10;

Para sa sampung digit na ang para sa loop ay tumatakbo tulad ng sumusunod:

kung (sampu == 1) {para sa (int c = 0; c <4; c ++) {lc.setRow (0, c, isa [c]); }

Para sa mga unit na digit ang for loop ay tumatakbo tulad ng sumusunod:

kung (unit == 1) {para sa (int c = 4; c <8; c ++) {lc.setRow (0, c, isa [c]); }

Ang display order ay nasa loop tulad ng sumusunod:

"° C" -> temperatura -> "hum" -> halumigmig -> "dp" -> dew point -> kahulugan ng dew point (ipinaliwanag sa ibaba)

Mayroon akong ilang impormasyon tungkol sa kung paano pakiramdam ng mga tao ang panahon ayon sa hamog na punto at ilagay ang impormasyong iyon sa code tulad ng sumusunod:

dp <10: tuyo

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

14 <dp <18: Sweltry (sw)

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

dp> 23: basa

Ang display para sa salitang ito ay hindi maganda ngunit naiintindihan pa rin para sa isang solong 8x8 na display

Inirerekumendang: