Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: I-set up ang Iyong Arduino IDE upang suportahan ang ESP32
- Hakbang 2: Ikonekta ang LED Matrix sa ESP32
- Hakbang 3: Pagsasama-sama Ito
- Hakbang 4: Ang Arduino IDE at INO File
- Hakbang 5: Ang Code
Video: ESP32 Pag-scroll ng WordClock sa LED Matrix: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa proyektong ito lumilikha ako ng isang Scrolling WordClock na may isang ESP32, LED Matrix at isang kahon ng tabako.
Ang WordClock ay isang orasan na nagbabaybay ng oras sa halip na i-print lamang ito sa screen o may mga kamay na mababasa. Sasabihin sa iyo ng orasan na ito na 10 minuto pasado alas-3 ng hapon, o tanghali. Pinrograma ko pa ito upang magamit ang Prevening (mula sa Big Bang Theory) ang pangalan para sa hindi siguradong tagal ng oras sa pagitan ng hapon at gabi. Magsisimula ng 4:00 PM.
Ang ESP32 ay kahanga-hanga, ang mga ito ay labis na masaya at napakamahal, Kung gusto mo ng programa ang Arduino's talagang mamangha ka sa kung ano ang magagawa ng isang ESP32 sa ilalim ng $ 10. Gumagamit sila ng Arduino IDE at madaling mai-program. Ipapakita ko kung paano ito gawin sa itinuturo na ito.
Mga gamit
- ESP32 - humigit-kumulang na $ 10 sa amazon
- LED Matrix (max7219) (at mga wire) - $ 9 amazona
- Cigar box
- USB power cable
- Opsyonal na 3d printer para sa esp32 stand
Hakbang 1: I-set up ang Iyong Arduino IDE upang suportahan ang ESP32
Kunin ang Arduino IDE:
- Sa isang browser pumunta sa
- Mag-click sa Software pagkatapos Mag-download upang makakuha ng ARDUINO 1.8.12
Idagdag ang Suporta ng ESP32 sa iyong Arduino IDE:
- Simulan ang Arduino IDE
- Mag-click sa File Menu pagkatapos ng Mga Kagustuhan.
Kapag sa "Mga Kagustuhan" idagdag ang suporta ng tagagawa sa pamamagitan ng pagdaragdag ng sumusunod na linya sa "Karagdagang Board Manager"
dl.espressif.com/dl/package_esp32_index.js
Bibigyan kami nito ng pag-access upang idagdag ang board sa IDE
Pumunta sa Menu ng Mga Tool at pagkatapos ang Mga Board at pumunta sa board manager
Susunod na paghahanap para sa "ESP" at idagdag ang package sa pamamagitan ng Expressif.
Panghuli nais naming bumalik sa "Mga Tool" na Menu, pagkatapos ay "Lupon" muli at mag-scroll pababa upang mahanap ang iyong aparato na ESP32.
Ang minahan ay isang "ESP32 Wrover Module"
Hakbang 2: Ikonekta ang LED Matrix sa ESP32
Ang LED matrix ay binubuo ng apat na 8x8 bloke ng LEDs at gumagamit ng isang MAX7219 chip. Nagbibigay iyon sa amin ng 8x32 LEDs sa Matrix o 256 LEDs !!!.
Ang esp32 ay nakaupo sa isang hold na nilikha ko sa TinkerCad. Hawak ng aking may-ari ang mga pin na nakaharap sa itaas upang maglakip ka ng mga wire.
Ang LED Matrix ay kumokonekta sa ESP32 gamit ang SPI (Serial Peripheral Interface).
Gumamit ng Mga Babae / Babae na Wires at Connect pin tulad ng sumusunod:
- ESP32 - 5v sa VCC sa Matrix
- ESP32 - GND sa GND sa Matrix
- ESP32 - PIN5 (G5) sa CS sa Matrix
- ESP32 - PIN23 (G23) hanggang Din sa Matrix
- ESP32 - I-pin ang 18 (G18) sa CLK sa Matrix
Posibleng gumamit ng iba pang mga pin o kung ang iyong ESP32 ay may ibang pinout.
Hakbang 3: Pagsasama-sama Ito
Susunod ay pinutol ko ang kahon ng tabako upang mabigyan ako ng isang lugar upang mailagay ang LED display. Malambot ang kahon at nagamit ko ang isang labaha. Pagkatapos ay nag-sanded ako upang makinis ito.
Pinutol ko din ang isang buo sa likuran para sa kurdon ng kuryente. Gumamit lang ako ng USB power. Maaari pa akong magdagdag ng isang baterya ng charger ng telepono sa USB sa loob ng kahon ng tabako kung nais kong maging wireless ito.
Hakbang 4: Ang Arduino IDE at INO File
Ang pinakamagandang bahagi ay ang code. Ngunit dapat muna kaming magdagdag ng isang silid-aklatan upang payagan ang programa na gamitin ang display sa isang mas simpleng paraan. Idinagdag ko ang MD_MAX72xx library.
Upang idagdag ang pag-click sa library sa menu na "Sketch", pagkatapos ay "Isama ang Library" at "Pamahalaan ang Mga Aklatan" maglo-load ito at papayagan kang maghanap para sa MD_MAX72xx library. I-click lamang sa pag-install at mayroon ka nito.
Susunod na makuha ang aking Arduino INO File:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
I-load ang ino file sa iyong Arduino IDE, Ikonekta ang USB mula sa ESP32 sa iyong computer.
Mag-click sa "Sketch" pagkatapos Mag-upload
Sa puntong ito ang orasan ay hindi gagana, ang ESP32 ay hindi magpapakita ng anuman. Bakit? kailangan naming idagdag ang iyong WIFI sa code dahil kumokonekta ang WordClock sa internet upang makuha ang oras. Tama iyon … susunod na hakbang ->.
Hakbang 5: Ang Code
Sa wakas ay nakarating kami sa aking paboritong bahagi. Ang programa. Saklawin ko ito mula sa itaas hanggang sa ibaba kung interesado ka, Upang mapagana ang programa sa iyong home internet kailangan mo lamang baguhin ang mga linyang ito.
// Idagdag ang iyong impormasyon sa network
const char * ssid = "xxxxxx";
const char * password = "xxxxxx";
Ang programa ay medyo kumplikado, ngunit napakasaya.
Upang huwag paganahin ang "Pag-iwas" baguhin lamang ang halaga sa maling:
const boolean PREVENING = totoo; // Teorya ng Big Bang.
Upang hindi paganahin ang pagpapakita ng digital na oras pagkatapos ng pag-scroll palitan ito sa hindi totoo.
const boolean DISPLAY_DIGITAL = totoo; // i-on ang pagpapakita ng digital na oras pagkatapos ng pag-scroll.
Pag-scroll sa Oras:
Nakukuha ko ang oras mula sa isang time server sa internet gamit ang NTP (Network Time Protocol). Ang oras ay gaganapin sa isang variable na tinatawag na timeinfo at nakukuha natin ang oras at minuto mula rito
int oras = timeinfo.tm_hour; /// 0-23
int minuto = timeinfo.tm_min; // 0-59
Susunod na suriin ang AM o PM
Ang AM kung oras <12
Lumilikha ako ng isang string na tinatawag na "theTime" at sinisimulan ito sa:
theTime = "Ito";
Upang makuha ang bilang bilang mga salita, lumikha ako ng isang hanay ng mga salita para sa mga numero hanggang sa 30
mga numero ng char char = {
"0", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Labindalawa "," Labintatlo "," Labing apat "," Quarter "," Sixteen "," Labimpito "," Labingwalong "," Labing labing siyam "," Dalawampu't "," Dalawampu't Isa "," Dalawampu't Dalawa "," Dalawampu't Tatlo "," Dalawampu't Apat "," Dalawampu't Limang "," Dalawampu't Anim "," Dalawampu't pitong "," Dalawampu't Walong "," Dalawampu't Siyam "," Half Past "};
Kaya't kapag 12:05 o limang minuto pasado alas-dose, talagang sa Arduino ito
mga numero [5] minuto nakaraang mga numero [12]
Upang matukoy kung ang "Minuto Nakaraan" o "Minuto To" titingnan lamang natin ang mga minuto. Kung ang minuto ay <31 ito ay "Minuto Past" kung ang minuto ay mas malaki sa 31 ginagamit namin ang "Minutes To" ngunit gumagamit ng mga numero [60-minuto] kaya 12:50 ay 60-50 minuto o numero [10] na bigyan kami ng 10 Minuto Hanggang 12 0'clock.
Siyempre may iba pang mga patakaran tulad ng sa 15, 30, 45 hindi kami gumagamit ng mga minuto nito lamang kalahating pasado o ika-apat na, at kung ang minuto ay 0 ang oras ay "Ten Oclock" lamang o Noon.
Kaya upang pagsamahin ito, idinaragdag ko ang lahat ng mga item sa String theTime pagkatapos ay ipakita ito sa LED Matrix. Gumagamit ako ng isang bungkos ng Kung mga pahayag. Marahil ay dapat gumamit ako ng kaso ngunit mas madali lamang na patuloy na idagdag ang mga ito.
Para sa aming halimbawa 12:05
theTime = "Ito"
kung minuto <31 ang paggamit ng "Minuto Past" kung hindi man ang "Minute To" na
theTime + = mga numero [5] + "Minuto Nakaraan" + numero [12] + "O'Clock" // Tandaan: Ang notasyon + = ay idinagdag.
Susunod na titingnan natin ang oras upang matukoy kung umaga, hapon o gabi nito.
theTime + = "Sa Gabi"
Ang pangwakas na String na pupunta sa matrix ay:
"Limang Minuto Pasado Labindalawang O'Clock sa Gabi"
Napakasarap isulat ng proyektong ito. Kung gusto mo ito mangyaring i-click ang Puso at Bumoto para sa akin mangyaring.
Inirerekumendang:
HeadBot - isang Robot na Nagbabago ng Sarili para sa Pag-aaral at Pag-abot sa STEM: 7 Mga Hakbang (na may Mga Larawan)
HeadBot - isang Self-Balancing Robot para sa STEM Learning and Outreach: Headbot - isang dalawang talampakan ang taas, self-balancing robot - ay ang ideya ng South Eugene Robotics Team (SERT, FRC 2521), isang mapagkumpitensyang pangkat ng robotics ng high school sa UNA Kompetisyon ng Robotics, mula sa Eugene, Oregon. Ang sikat na robot sa pag-abot na ito ay ginagawang
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: 4 Mga Hakbang (na may Mga Larawan)
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: Mahirap ang mga password … at ang pag-alala sa isang ligtas ay mas mahirap pa! Bukod dito kung mayroon kang kasama, nagbabagong password ay magtatagal ito upang mai-type. Ngunit huwag matakot sa aking mga kaibigan, mayroon akong solusyon dito! Lumikha ako ng isang maliit na awtomatikong pag-type ng makina na
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: 9 Mga Hakbang (na may Mga Larawan)
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: Ano ito? &Quot; Roomblock " ay isang robot platform na binubuo ng isang Roomba, isang Raspberry Pi 2, isang laser sensor (RPLIDAR) at isang mobile baterya. Ang mounting frame ay maaaring gawin ng mga 3D printer. Pinapayagan ang sistema ng nabigasyon ng ROS na gumawa ng isang mapa ng mga silid at gamitin ang
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Arduino Obstacle Pag-iwas sa Robot (Bersyon ng Pag-upgrade): 7 Mga Hakbang (na may Mga Larawan)
Arduino Obstacle Avoiding Robot (Upgrade Version): Ang post na ito ay unang nai-publish sa website na ito https://truesains22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Sagabal Pag-iwas sa Robot. Ito ay simple ngunit ilang tampok at