Orodha ya maudhui:

Kuhamisha WordClock ya ESP32 kwenye Matrix ya LED: Hatua 5 (na Picha)
Kuhamisha WordClock ya ESP32 kwenye Matrix ya LED: Hatua 5 (na Picha)

Video: Kuhamisha WordClock ya ESP32 kwenye Matrix ya LED: Hatua 5 (na Picha)

Video: Kuhamisha WordClock ya ESP32 kwenye Matrix ya LED: Hatua 5 (na Picha)
Video: Mshumaa Mweusi Kwa Kuhamisha Mbaya wako,Na Kumtia Adabu Adui Yako 2024, Novemba
Anonim
Image
Image

Katika mradi huu ninaunda scrolling WordClock na ESP32, LED Matrix na sanduku la biri.

WordClock ni saa inayoelezea wakati badala ya kuichapisha tu kwenye skrini au kuwa na mikono unayoweza kusoma. Saa hii itakuambia ni dakika 10 zilizopita saa 3 alasiri, au saa sita. Hata niliiandaa kutumia Prevening (kutoka Nadharia ya Big Bang) jina la kipindi cha utata kati ya alasiri na jioni. Kuanza 4:00 PM.

ESP32 ni ya kushangaza, ni ya kufurahisha sana na ya bei rahisi, Ikiwa unapenda programu za Arduino utastaajabishwa na nini ESP32 inaweza kufanya chini ya $ 10. Wanatumia IDE ya Arduino na ni rahisi kupanga. Nitaonyesha jinsi ya kufanya hivyo katika hii inayoweza kufundishwa.

Vifaa

  • ESP32 - karibu $ 10 kwenye amazon
  • Matrix ya LED (max7219) (na waya) - $ 9 amazon
  • Sanduku la sigara
  • Cable ya umeme ya USB
  • Printa ya hiari ya 3d ya kusimama kwa esp32

Hatua ya 1: Sanidi IDE yako ya Arduino ili Usaidie ESP32

Pata IDE ya Arduino:

  • Katika kivinjari nenda kwa
  • Bonyeza kwenye Programu kisha Upakuaji kupata ARDUINO 1.8.12
Picha
Picha

Ongeza Usaidizi wa ESP32 kwa IDE yako ya Arduino:

  • Anza IDE ya Arduino
  • Bonyeza kwenye Menyu ya Faili kisha Mapendeleo.

Mara moja katika "Mapendeleo" ongeza msaada wa mtengenezaji kwa kuongeza laini ifuatayo kwa "Meneja wa Bodi ya Ziada"

Picha
Picha

dl.espressif.com/dl/package_esp32_index.js

Hii itatupa ufikiaji wa kuongeza bodi kwenye IDE

Nenda kwenye Menyu ya Zana na kisha Bodi na nenda kwa msimamizi wa bodi

Picha
Picha

Tafuta "ESP" na uongeze kifurushi na Expressif.

Picha
Picha

Mwishowe tunataka kurudi kwenye Menyu ya "Zana", halafu "Bodi" tena na utembeze chini kupata kifaa chako cha ESP32.

Yangu ni "ESP32 Wrover Module"

Picha
Picha

Hatua ya 2: Unganisha Matrix ya LED kwenye ESP32

Picha
Picha

Matrix ya LED imeundwa na vitalu vinne vya 8x8 vya LED na hutumia chip ya MAX7219. Hiyo inatupatia 8x32 LEDs katika Matrix au 256 LEDs !!!.

Esp32 imekaa kwenye kushikilia niliyounda katika TinkerCad. Mmiliki wangu anashikilia pini zinazoelekea juu ili uweze kushikamana na waya.

Matrix ya LED inaunganisha na ESP32 kwa kutumia SPI (Interface ya Peripheral Serial).

Tumia waya za Kike / Kike na pini za Unganisha kama ifuatavyo:

  • ESP32 - 5v kwa VCC kwenye Matrix
  • ESP32 - GND hadi GND kwenye Matrix
  • ESP32 - PIN5 (G5) hadi CS kwenye Matrix
  • ESP32 - PIN23 (G23) hadi Din kwenye Matrix
  • ESP32 - Pin 18 (G18) hadi CLK kwenye Matrix

Inawezekana kutumia pini zingine au ikiwa ESP32 yako ina pinout tofauti.

Hatua ya 3: Kuiweka Pamoja

Kuiweka Pamoja
Kuiweka Pamoja

Ifuatayo nilikata sanduku la sigara ili kunipa nafasi ya kuweka onyesho la LED. Sanduku ni laini na niliweza kutumia kisu cha wembe. Kisha nikapaka mchanga ili kuulainisha.

Pia nilikata nzima nyuma kwa kamba ya umeme. Nilitumia tu nguvu ya USB. Ningeweza hata kuongeza betri ya chaja ya simu ya USB ndani ya sanduku la biri ikiwa ningetaka iwe bila waya.

Hatua ya 4: IDE ya Arduino na Faili ya INO

Faili ya IDE ya Arduino na INO
Faili ya IDE ya Arduino na INO

Sehemu bora ni nambari. Lakini kwanza lazima tuongeze maktaba ili kuruhusu programu kutumia onyesho kwa njia rahisi zaidi. Niliongeza maktaba ya MD_MAX72xx.

Ili kuongeza maktaba bonyeza menyu ya "Mchoro", halafu "Jumuisha Maktaba" na "Dhibiti Maktaba" hii itapakia na kukuruhusu kutafuta maktaba ya MD_MAX72xx. Bonyeza tu kwenye kufunga na unayo.

Ifuatayo pata faili yangu ya Arduino INO:

github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino

Pakia faili hii kwenye IDE yako ya Arduino, Unganisha USB kutoka ESP32 kwenye kompyuta yako.

Bonyeza kwenye "Mchoro" kisha Pakia

Kwa wakati huu saa haitafanya kazi, ESP32 haitaonyesha chochote. Kwa nini? tunahitaji kuongeza WIFI yako kwa nambari kwa sababu WordClock inaunganisha kwenye wavuti kupata wakati. Hiyo ni sawa… hatua inayofuata ->.

Hatua ya 5: Kanuni

Hatimaye tulifika kwenye sehemu ninayopenda. Mpango. Nitaifunika kutoka juu hadi chini ikiwa una nia, Ili kupata mpango wa kufanya kazi na mtandao wako wa nyumbani unahitaji tu kubadilisha mistari hii.

// Ongeza habari ya mtandao wako

const char * ssid = "xxxxxx";

const char * nywila = "xxxxxx";

Programu hiyo ni ngumu sana, lakini inafurahisha sana.

Kulemaza "Kuzuia" badilisha tu thamani kuwa ya uwongo:

KUZUIA boolean = kweli; // Nadharia ya Big Bang.

Ili kuzima kuonyesha wakati wa dijiti baada ya kusogeza badilisha hii kuwa ya uwongo.

const boolean DISPLAY_DIGITAL = kweli; // washa kuonyesha wakati wa dijiti baada ya kusogeza.

Kutembeza Wakati:

Ninapata wakati kutoka kwa seva ya wakati kwenye wavuti kutumia NTP (Itifaki ya Wakati wa Mtandao). Wakati unashikiliwa kwa mabadiliko inayoitwa timeinfo na tunapata saa na dakika kutoka kwake

saa ya saa = timeinfo.tm_hour; /// 0-23

dakika ya dakika = timeinfo.tm_min; // 0-59

Angalia ijayo AM au PM

AM yake ikiwa saa <12

Ninaunda kamba inayoitwa "Wakati" na kuianza na:

Wakati = "Ni";

Ili kupata nambari kama maneno, niliunda safu ya maneno kwa nambari hadi 30

nambari za const char * = {

"0", "Moja", "Mbili", "Tatu", "Nne", "Tano", "Sita", "Saba", "Nane", "Tisa", "Kumi", "Kumi na moja", "Kumi na mbili "," Kumi na tatu "," Kumi na nne "," Robo "," Kumi na sita "," Kumi na saba "," kumi na nane "," kumi na tisa "," ishirini "," ishirini na moja "," ishirini na mbili "," ishirini na tatu "," Ishirini na nne "," ishirini na tano "," ishirini na sita "," ishirini na saba "," ishirini na nane "," ishirini na tisa "," nusu iliyopita "};

Kwa hivyo wakati wake ni 12: 05 au dakika tano zilizopita saa kumi na mbili ni kweli kwa Arduino

nambari [5] dakika zilizopita nambari [12]

Kuamua kama "Dakika Zilizopita" au "Dakika Kwa" tunaangalia tu dakika. Ikiwa dakika ni <31 ni "Dakika Zilizopita" ikiwa dakika ni kubwa kuliko 31 tunatumia "Dakika Kwa" lakini tumia nambari [dakika 60] kwa hivyo 12:50 itakuwa dakika 60-50 au nambari [10] ambayo ingeweza tupe Dakika 10 Hadi saa 12 0'clock.

Kwa kweli kuna sheria zingine kama tarehe 15, 30, 45 hatutumii dakika nusu tu kupita au robo, na ikiwa dakika ni 0 wakati ni "Saa Kumi tu" au Adhuhuri.

Kwa hivyo kuiweka pamoja, ninaongeza vitu vyote kwenye String theTime kisha nionyeshe kwenye Matrix ya LED. Ninatumia rundo la Ikiwa taarifa. Labda ningepaswa kutumia kesi lakini ilikuwa rahisi tu kuendelea kuiongeza.

Kwa mfano wetu 12:05

Wakati = "Ni"

ikiwa dakika <31 utumie "Dakika Zilizopita" vinginevyo "Dakika Kwa"

theTime + = namba [5] + "Dakika Zilizopita" + nambari [12] + "O'Clock" // Kumbuka: Nukuu + = imeambatishwa.

Ifuatayo tunaangalia saa ili kubaini ikiwa ni asubuhi, alasiri au jioni.

wakati + = "Jioni"

Kamba ya mwisho kwenda kwenye tumbo ni:

"Ni Dakika tano Zilizopita Saa Kumi na Mbili Jioni"

Mradi huu ulikuwa wa kufurahisha sana kuandika. Ukiipenda tafadhali bonyeza Moyo na Upigie Kura tafadhali.

Ilipendekeza: