Sisukord:
- Samm: projektid
- Samm: paigaldage DFRobot FireBeetle ESP32 plaat Arduino IDE -sse
- Samm: installige projektide jaoks ühised raamatukogud
- Samm: 24x8 LED -maatriksi kate
- Samm: projekt 1: lihtne LED -maatriksiga NTP -kell koos sõjalise aja või AMPM -ekraaniga
- 6. toiming: projekt 2: ISS Pass Ennustuskuva,
- Samm: projekt 3: lihtne liikuv sõnumimärk MQTT abil
- Samm 11: Tundub…
Video: 4 projekti ühes DFRobot FireBeetle ESP32 ja LED -maatrikskatte kasutamine: 11 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Mõtlesin, et teeksin iga projekti jaoks juhendatava - kuid lõpuks otsustasin, et tõesti suurim erinevus on iga projekti jaoks mõeldud tarkvara, mida arvasin, et on parem teha lihtsalt üks suur juhendatav!
Riistvara on iga projekti jaoks sama ja ESP32 seadme programmeerimiseks kasutame Arduino IDE -d.
Mis on riistvara: kogu riistvara pakkusid mu sõbrad DFRobotis, neil on väga head õpetused ja selle jaoks on lihtne paigaldada põhiplaate. Samuti on teil hea tugisüsteem ja üsna kiire kohaletoimetamine USA -sse
Firebeetle ESP32 plaadi ja LED -maatriksi täieliku avalikustamise pakkus DF Robot, esitatud projektid ja videod on minu enda tehtud.
Kõik need projektid kasutavad DFRobot FireBeetle ESP32 IOT mikrokontrollerit
www.dfrobot.com/product-1590.html
Toe wiki - koos plaadi tuuma installimise juhistega leiate siit:
www.dfrobot.com/wiki/index.php/FireBeetle_…
Vajame ka FireBeetle kaaned 24x8 LED maatriksit (SININE)
www.dfrobot.com/product-1595.html
SINISED LED -id ei meeldi - neil on ka erinevaid värve.
ROHELINE -
PUNANE -
VALGE -
KOLLANE -
Teil on vaja ainult ühte LED -maatriksit - värv on teie valik, kõik töötavad samamoodi.
LED -maatriksi toe wiki leiate siit:
www.dfrobot.com/wiki/index.php/FireBeetle_…
Siit leiame lingi Arduino raamatukogule.
github.com/Chocho2017/FireBeetleLEDMatrix
Lisateavet nende kohta veidi hiljem….
Midagi valikulist, kuid võib -olla käepärast, on MicroUSB 3xAA patareihoidik.
www.dfrobot.com/product-1130.html
Nii et see on vajalik riistvara - millised on 4 projekti -
Samm: projektid
Projekt 1: Kas lihtne LED -maatriksiga NTP -kell, millel on sõjaväeline või AMPM -ajakuva, See kell ühendab aja NTP -ga (aja server) ja rakendab väljalülitatud komplekti, et saaksite kohaliku aja. See kuvab aja LED -maatriksil. - See on väga lihtne kell ja väga lihtne esimene projekt.
Projekt 2: ISS Pass Prediction Display, see projekt kasutab protsessori teist tuuma. See näitab, kui lähedal (miilides) on ISS, millal oodata järgmist ISS -i läbimist teie asukohas (UTC aja järgi) ja valikuliselt, kui palju inimesi on kosmoses. Kuna suur osa sellest teabest ei muutu sageli, kasutame teist tuuma, et kontrollida ainult pääsuprognooside värskendusi või seda, kui palju inimesi on kosmoses iga 15 minuti järel. Sel viisil saame vältida liiga palju API -kõnesid serverisse. See projekt on natuke keerulisem, kuid siiski üsna lihtne teha.
Projekt 3: Lihtne liikuv sõnumimärk MQTT abil kuulata - ja kuvada see sõnum. See on üsna lihtne ja väga lihtne teha, kui kõik on seadistatud. Ja MQTT klienditarkvara seadistamiseks lauaarvutis on mõned sammud. Pärast seadistamist on MQTT väga võimas sõnumiprotokoll, mida paljud IoT -seadmed kasutavad sõnumite saatmiseks ja vastuvõtmiseks.
Projekt 4: Ilmajaama kuvamine - põhineb ESP8266 D1 mini ilmajaamal, mille on valmistanud Squix78 ja ThingPulse. Võtame oma andmed Wundergroundist ja kuvame praegused tingimused ja temperatuuri Fahrenheiti kraadides. Kasutame ESP32 teist tuuma, et oma andmeid värskendada iga 10 minuti järel. Seda on ka lihtne seadistada.
BOUNS MINI NÄITED: Raamatukogu (ja ülaltoodud visandid) kasutab 8x4 fonti, raamatukogu sisaldab ka 5x4 fonti, mida kasutasin enamiku nende BOUNS mini näidete puhul. Väikese fondi puhul võin märkida paar probleemi, millest üks tundub seadme WIFI kasutamisel probleeme tekitavat. Seda ma tahan rohkem uurida, kuid mul on olnud aega. Teine probleem on see, et see ei keri, ainult suurem font saab kerida. Nii et ükski neist näidetest ei kasuta WIFI -d - nad lihtsalt värskendavad ekraani ja nende kohta räägime hiljem.
Alustame…..
Samm: paigaldage DFRobot FireBeetle ESP32 plaat Arduino IDE -sse
Niisiis, ma viitan teid Arduino IDE plaadituuma paigaldamise kohta DF Robot Wiki.
Kaasaegse IDE -ga (1.8.x või parem) on seda üsna lihtne teha.
www.dfrobot.com/wiki/index.php/FireBeetle_…
Leidsin, et Arduino IDE -sse sisseehitatud WiFi -raamatukogu põhjustab probleeme (PS mis tahes muu WiFi -raamatukogu, mis võib olla teie raamatukogu kataloogi installitud, võib probleeme tekitada või mitte). Ainus viis (või vähemalt lihtsaim viis), mille leidsin probleemi lahendamiseks, on WiFi -teegi eemaldamine IDE -kataloogist. Kahjuks pole head võimalust öelda, kuhu see võib -olla installitud - see sõltub sellest, kuidas IDE on installitud ja millist OS -i kasutate.
See, mida ma olen teinud, on leidnud probleeme tekitava WiFi -teegi ja lihtsalt teisaldage kataloog WiFi kataloog töölauale… ja taaskäivitage IDE. Nii saate raamatukogu hoida, kui teil seda Arduino WIFI -tahvlite jaoks vaja läheb.
90% probleemidest, mida olen näinud, on olnud seotud ülaltoodud probleemiga. Kui teil on palju kompileerimisvigu, mis on seotud WiFi kasutamisega Arduino IDE kataloogist või Arduino raamatukogu kataloogist, on teil see probleem.
Minu teine probleem on see, et mõnikord ei õnnestu eskiisi üles laadida - sel juhul pean lihtsalt uuesti üleslaadimisnuppu vajutama ja see töötab.
Ja lõpuks, kui teil on jadakonsool avatud ja seejärel sulgege - FireBeetle külmub.
Ma tean, et DF Robot töötab aktiivselt tahvli tuumiku kallal ja just selle lühikese aja jooksul, mis mul plaat on olnud, on nad välja andnud uue tuuma. Kahjuks ei lahendanud see WiFi probleemi, mis on minu suurim probleem.
* Espressifil on üldine põhihaldur, mida saab installida, tuum sisaldab FireBeetle ESP32 plaati, kuid mul oli probleeme sellega, kuidas tihvtid on nummerdatud. Huvitav on siin WiFi -raamatukogu, mis töötab sisseehitatud WiFi -raamatukoguga - seega tean, et sellele probleemile on lahendus kohe nurga taga.
Kui soovite Espressifi südamikke proovida, leiate lisateavet siit:
github.com/espressif/arduino-esp32
Mulle isiklikult meeldib, kuidas DF-Roboti tuum töötab, isegi kui mul on vähe probleeme.
** MÄRKUS. Ma kasutan LinuxMint 18, mis põhineb Ubuntu 16.04 -l, ma arvan, et ma pole seda üheski teises masinas proovinud, kuid usun, et see probleem esineb kõigi OS -ide puhul, mis põhinevad mõningatel minu tehtud Interneti -otsingutel. **
Samm: installige projektide jaoks ühised raamatukogud
Kõik need projektid kasutavad mõnda tavalist raamatukogu, nii et seda sammu on nüüd lihtsam teha.
Sõltuvalt raamatukogust leiate selle teegihaldurist - see on kaugelt lihtsaim viis raamatukogu installimiseks.
Teine levinud viis on installimine zip -faili kaudu, mis töötab sama hästi. Kuid üldiselt kasutan käsitsi installimise meetodit. Arduino veebisaidil on hea õpetus kolme meetodi kohta.
www.arduino.cc/en/guide/libraries
Nende teekide puhul soovitaksin manuaalset meetodit - kuna sama nimega raamatukogusid on paar erinevat, võib raamatukoguhalduri kasutamine osutuda valeks.
Kõik need projektid kasutavad WiFi halduri hõlbustamiseks teie WiFi -ga ühenduse loomist - otsustasin seda teha, nii et kui teil on vaja oma projekti teisaldada, ei pea te plaati ümber programmeerima. Seda kasutan ESP8266 plaatide puhul ja see töötab hästi - see pole täiuslik. Githubi kasutaja nimega bbx10 on teisaldanud teegi kasutamise õnne ESP32 kasutamiseks. (See haldur peaks töötama ka ESP8266 tahvlitega)
Selle töö jaoks peame installima kolm raamatukogu.
WiFiManager -
Veebiserver -
Ja lõpuks DNS -server -
Kõikide visandite puhul on ühine ka LED -maatriksi jaoks mõeldud DF Robot DFRobot_HT1632C raamatukogu.
www.dfrobot.com/wiki/index.php/FireBeetle_…
Raamatukogu leiate siit (Soovitan jällegi käsitsi installimise meetodit)
github.com/Chocho2017/FireBeetleLEDMatrix
Eriline märkus: minu githubi hoidlas - mul on paar veidi muudetud DFRobot_HT1632C raamatukogu
github.com/kd8bxp/DFRobot-FireBeetle-ESP32…
Muudatus on mõeldud väiksemale fondile ja seda kasutatakse ainult mõne boonusnäite puhul. Saate kasutada muudetud raamatukogu ja see ei tohiks probleeme tekitada. Samuti on veidi muudetud teek (lisatud mõnele visandile vahekaartidena), millega saab teha bitikaardipilte.
Kui otsustate kasutada veidi muudetud versiooni, peate kataloogi "modifitseeritud raamatukogu" ümber nimetama FireBeetleLEDMatrixiks ja teisaldama selle kausta oma Arduino raamatukogu kataloogi. Te ei pea seda versiooni nende projektide jaoks kasutama, see on vajalik, kui soovite proovida mõnda väiksemat fonti boonusnäidetest.
Need on tavalised raamatukogud - iga projekti jaoks paigaldame mõned konkreetsed raamatukogud.
Liigume edasi LED -maatriksi juurde….
Samm: 24x8 LED -maatriksi kate
Sest me järgime koos LED -maatriksi DF -i robotite õpetusega
www.dfrobot.com/wiki/index.php/FireBeetle_…
Sissejuhatus: see 24 × 8 LED -maatriksekraan on spetsiaalselt loodud FireBeetle seeria jaoks. See toetab väikese energiatarbimise režiimi ja kerivat ekraani. HT1632C suure jõudlusega LED -draiveri kiibiga on igal LED -il sõltumatu register, mis muudab eraldi sõitmise lihtsaks. See integreerib 256KHz RC kella, ainult 5uA madala energiatarbega režiimis, toetab 16 skaala PWM heleduse reguleerimist. See toode töötab ka koos teise Arduino mikrokontrolleriga nagu Arduino UNO.
Spetsifikatsioon:
- Tööpinge: 3.3 ~ 5VLED
- Värv: ühevärviline (valge/sinine/kollane/punane/roheline)
- Ajami kiip: HT1632C
- Töövool: 6 ~ 100mA
- Madala energiatarbega: 5uARC
- Kell: 256KHz
- Kiibi valimine (CS): D2, D3, D4, D5 valitav
- Kerimise ekraani tugi
Vaikimisi PIN -koodid:
- DATAD6
- WRD7 (üldiselt ei kasutata)
- CSD2, D3, D4, D5 valitav (vaikimisi D2)
- RDD8
- VCC 5VUSB; 3.7VLipo aku
(Kõik need projektid kasutavad valiku tihvti jaoks D2, seda saab vastavalt vajadusele hõlpsasti muuta.)
LED -maatriksi tagaküljel näete 4 väikest lülitit, valige kindlasti ainult üks CS -tihvtidest. Nende väikeste lülitite abil valite oma CS -pin ja vaikimisi on see D2.
DF Robot WIKI -l on mõni näidiskood, see kood on ka raamatukogu näidetes. (Ma usun)
Teine märkus: kasutage nööpnõelte jaoks Dx -numbreid - vastasel juhul on PIN -numbrid IO -tihvtide numbrid/nimed
Ja see võib teile probleeme tekitada.
Punkti seadmine:
X on 0 kuni 23 (või kui arvate seda arvutustabelina, on need veerud).
Y on 0 kuni 7 (või kui arvate seda arvutustabelina, on need read).
Raamatukogu pakub seadepunkti funktsiooni.
display.setPoint (x, y) seab kursori sellele kohale, kust saate nüüd sõnumi printida.
display.print ("Tere maailm", 40); // selle tulemusel kuvatakse ekraanil "Tere maailm", alustades x, y punktist ja kerides ekraanilt välja.
Samuti on olemas setPixel (x, y) ja clrPixel (x, y) - setPixel lülitab x, y asukohas ühe LED -i sisse ja clrPixel lülitab LED välja x, y asukohas.
See raamatukogu saab teha ka mõnda muud - ja enamik neist on näidetes.
(Soovitaksin näiteid käitada ja neid muuta, et näha, mida see suudab).
* Üks asi, mis tundub olevat puudu, on bitikaartide joonistamine - raamatukogu saab seda tegelikult teha, kuid mingil põhjusel on see raamatukogu privaatne funktsioon. Vaadake mõningaid minu boonusnäiteid raamatukogu veidi muudetud versiooni kohta
** Teine asi, mis sisaldab 5x4 fondikomplekti, mis on tore, kui on väiksem font - seda kommenteeritakse raamatukogus. Ma jätsin selle märkamata ja lasin tal töötada, kuid märkasin sellega mõningaid probleeme - suurim see ei keri. Ja märkasin, et tundub, et see tekitab probleeme kas WiFi -ga või mõne muu raamatukoguga, mida soovisin kasutada.
Üks minu kaasatud muudetud teekidest kasutab siiski 5x4 fonti.
Liigume edasi projektide juurde ….
Samm: projekt 1: lihtne LED -maatriksiga NTP -kell koos sõjalise aja või AMPM -ekraaniga
Projekt 1: Kas lihtne LED -maatriksiga NTP -kell, millel on sõjaväeline või AMPM -ajakuva, See kell ühendab aja NTP -ga (aja server) ja rakendab väljalülitatud komplekti, et saaksite kohaliku aja. See kuvab aja LED -maatriksil. - See on väga lihtne kell ja väga lihtne esimene projekt.
Enne selle lihtsa projektiga alustamist võib olla hea mõte teada, mis on NTP -
NTP on Interneti -protokoll, mida kasutatakse arvutite kellade sünkroonimiseks teatud ajaviitega. See on tavaline protokoll. NTP tähistab Network Time Protocol.
NTP kasutab võrdlusajana UTC -d (UTC on universaalse aja koordineeritud), see arenes välja GMT -st (Greenwichi keskmine aeg) ja mõnes ringis nimetatakse seda Zulu ajaks (sõjavägi). UTC põhineb tseesiumi aatomi kvantresonantsil.
NTP on tõrketaluv ja hästi skaleeritav, protokoll on ülitäpne, kasutades eraldusvõimet alla nanosekundi.
*
Enamiku inimeste jaoks pole UTC kellast suurt kasu, seega peame kohandama oma kella kohaliku aja järgi. Õnneks saame seda teha üsna lihtsalt. Alustame siis selle lihtsa NTP -kellaga….
Esiteks peame installima kogu, mis muudab NTP -serveritega rääkimise lihtsaks.
github.com/arduino-libraries/NTPClient (see raamatukogu on tõenäoliselt raamatukoguhalduris)
Kas jätsite 3. sammu vahele - ja pole kindel, kuidas teeke installida (?) Parem minge tagasi ja lugege 3. sammu:-)
Peate minema sellele veebisaidile ja sisestama teile lähima linna, mis asub teie ajavööndis.
www.epochconverter.com/timezones
Kui vajutate sisestusklahvi, näete teksti „Konversioonitulemused” ja tulemustes saate sekunditega (erinevus GMT/UTC) (minu jaoks -14400)
Rea 66 visandis dfrobot_firebeetle_led_matrix_ntp_clock näete järgmist:
#define TIMEOFFSET -14400 // Leidke oma ajavöönd välja siit https://www.epochconverter.com/timezones OFF Määra sekundites#define AMPM 1 // 1 = AM PM time, 0 = MILITARY/24 HR Time
asendage -14400 oma nihkega. Järgmisel real näete AMPM 1 - see näitab kellaaega AM/PM - kui soovite seda näha 24 tunni pärast, muutke see nulliks.
Seejärel laadige eskiis oma tahvlile üles, looge ühendus pääsupunktiga (wifi haldur) ja sisestage oma WiFi andmed. KUI olete seda juba teinud, peaksite ekraanil nägema "ühendatud" ja mõne sekundi pärast kellaaega.
Selle projekti jaoks see ongi - lihtne ja hõlpsasti kasutatav ….
(Võimalikud täiustused: kuvage kuu, päev ja aasta, seadistage helisignaal ja alarmid - kontrollige üldiselt seda, mida näete veebilehe kaudu. Need ideed võtaksid praeguse lihtsa visandi suure ümberkirjutamise)
Valmis veel üheks lihtsaks projektiks - kuvage ISSi asukoht - edastage ennustused ja kui palju inimesi on kosmoses! (PS see visand kasutab kuvatava juhtimiseks veebilehte)…..
6. toiming: projekt 2: ISS Pass Ennustuskuva,
Projekt 2: ISS Pass Prediction Display, see projekt kasutab protsessori teist tuuma. See näitab, kui lähedal (miilides) on ISS, millal oodata järgmist ISS -i läbimist teie asukohas (UTC aja järgi) ja valikuliselt, kui palju inimesi on kosmoses. Kuna suur osa sellest teabest ei muutu sageli, kasutame teist tuuma, et kontrollida ainult pääsuprognooside värskendusi või seda, kui palju inimesi on kosmoses iga 15 minuti järel. Sel viisil saame vältida liiga palju API -kõnesid serverisse. See projekt on natuke keerulisem, kuid siiski üsna lihtne teha.
See projekt põhineb ühel minu varasemal projektil, mille leiate siit:
(Lihtne ISS-i teavitussüsteem) Kasutasin ESP8266 koos OLED-ekraaniga (D-Duino). Enamasti kasutab see projekt lihtsalt teistsugust kuvamissüsteemi, laiendasin seda, et saaksite veebilehe kaudu käigu pealt muuta seda, mida soovite näha. Nii et alustame….
Suurem osa lihtsa kasutamise eest kuulub aadressile https://open-notify.org, millel on väga lihtne ja hõlpsasti kasutatav API. Avatud teavitamise API-l on kolm asja, mida saab kuvada, ISS-i asukoht laius- ja pikkuskraadidel, antud laius- ja pikkuskraadidel põhinevate ennustuste edastamine. Ja lõpuks, kui palju inimesi (ja nende nimesid) on kosmoses.
Peame installima teise raamatukogu - ArduinoJsoni raamatukogu.
github.com/bblanchon/ArduinoJson
Meil on vaja ka TimeLib.h -d, kuid ma pole kindel, kust ma selle sain või kas see on IDE -s (vabandust)….
Miks siis ennustada, kus ISS asub - ISS sisaldab erinevaid amatöörraadio seadmeid ja kui see on üle pea, saab singiraadiooperaator ISSiga kontakti luua, kasutades väga lihtsaid (ja odavaid) raadioid. Olen seda isegi liikudes (autos sõites) teinud. Selle töö tegemiseks pole teil tõesti palju vaja. Üks asi, mida vajate, on teada, kus see asub. Ja antenni suunamine selle üldsuunas aitab.
Ridad 57, 58, 59 on mõned kuvari muutujad - kui need on seatud väärtusele 1, näete ekraani, kui need on seatud väärtusele 0 (null), siis ei kuvata. (Neid muutujaid saab visandisse seada või värskendada tulelehe loodud veebilehelt - sellest lähemalt hiljem).
int locDis = 1; // Kuva ISSint pasDis = 0 asukoht; // Display Pass Ennustused int pplDis = 1; // Näita inimesi ruumis
nii kuvab locDis ISS -i asukoha laius- ja pikkuskraadidel - see näitab ka mitu miili kaugusel.
pasDis saab pääsuprognoosid saidilt open-notify.org ja kuvab need.
ja lõpuks, pplDis kuvab nimed ja kui palju inimesi on kosmoses - see võib venida väga pikaks
muutuvad ka sageli. (saate neid muuta või jätta, see on täiesti vabatahtlik)
Samuti peame teadma oma laius- ja pikkuskraade ning need eskiisi lisama.
See ei pea olema täpne laius/pikkus, see võib olla teie linna keskus või veidi eemal. ISS -i jalajälg on pea kohal lai ja sadu (või tuhandeid) miile saab läbida, nii et pisut oma lati/pikkuse maha jäämine ei muuda tehingut (enamasti), suhtlus üle 500 miili on üsna tavaline.
Kui te ei tea oma laius- ja pikkuskraade, võib see veebisait teid aidata.
www.latlong.net Visandi rea 84 lähedal näete midagi sellist:
// Leia oma laius- ja pikkuskraadid siit // https://www.latlong.net/ float mylat = 39.360095; ujuk mülon = -84,58558;
See peaks olema kõik, mida tuleb muuta. Laadige eskiis üles ja ühendage Firebeetle Internetiga - ja peaksite nägema ISSi asukohta, mis on antud lati/pikkuse järgi ja mitu miili kaugusel (pidage meeles, et see on ligikaudne kaugus. ISS liigub väga kiiresti ja kuvari valmimise ajaks on ISS palju kilomeetreid sellest kohast eemaldunud). Samuti peaksite nägema inimesi kosmoses. (KUI te ei muutnud ülaltoodud muutujat).
Kasutame veebisaidi käitamiseks ESP32 teist tuuma, saidi kasutamine annab meile kontrolli LED-maatriksil kuvatava üle. See peaks toimima üsna intuitiivselt, üks jaotis näitab, mis kuvamiseks sisse on lülitatud, teises jaotises on nupud "jah" ja "ei" - klõpsates "jah" tähendab, et soovite seda näha, "ei" tähendab mitte " ära näita seda. Samuti peaksite nägema, et ülemine osa muutub nuppude põhjal.
Ainus asi, mis pole siin nii kärbitud ja kuiv, on see, kuidas leida Firebeetle'i IP -aadress - kahjuks ei suutnud ma selle leidmiseks head võimalust välja pakkuda - seega kasutasin lihtsalt IDE jadakonsooli kuvamiseks see (9600 baud).
Avage konsool ja peaksite nägema IP -aadressi. (avage see enne ühendatud sõnumi saamist) - minu teine valik oli kuvada see LED -maatriksil kohe käivitamisel - otsustasin selle vastu, sest te ei pruugi kellaaega vaadata ja jääte sellest ilma. Olin mõelnud SMS -i saatmisele või muule, aga lõpuks hoian selle lihtsalt. (Proovisin määrata ka staatilise IP/lüüsi/jne, ma ei saanud seda WiFi -halduriga õigesti tööle - kood on visandis alles, nii et kui keegi selle välja mõtleb, andke mulle sellest teada)
Eskiis võtab ette ka FreeRTOSe integreerimise ESP32 tuuma - meil on ülesanne, mis töötab umbes iga 15 minuti tagant. See uuendab läbipääsu ennustusi ja inimesi ruumis. Nagu ma juba ütlesin, ei muuda inimesed kosmoses nii palju, nii et selle võiks tõenäoliselt teisele ülesandele üle viia ja võib -olla joosta üks kord iga 12 tunni (või 6 tunni) järel - aga see toimib ja hoiab asjad lihtsana.
Neile, kes ei tea FreeRTOS-i, on võimalus lasta ühe tuumal oleval mikrokontrolleril korrata ülesandeid
Tavaliselt peate selle toimimiseks lisama mõned raamatukogud ja muud asjad - kuigi see on ESP32 tuuma sisse ehitatud -, mis muudavad ESP32 väga võimsa seadme. FreeRTOSe kohta lisateabe saamiseks
freertos.org/
PARANDUSED: selle projekti jaoks on mitmeid asju, mida saab parandada, ja ma mõtlen peaaegu iga päev midagi, mida saaks teha natuke teisiti, muuta või lisada.
Ja hoidla näidiste kataloogis näete mõnda varasemat/erinevat asja, millest ma mõtlesin- mõned neist ei töötanud, mõned lihtsalt muutusid ja mõned olid praeguses visandis.
* Ühel hetkel proovisin ekraanile lisada neopikseli, nii et see meenutaks veidi rohkem minu eelmist projekti - ma ei saanud seda kunagi päris õigesti tööle (leidsin, et see on toiteprobleem, mida ma pole kaalunud) töötab selle idee täiustamiseks *
Seda sammu kirjutades mõtlesin, et võib -olla saan veebisaidile lisada viisi, kuidas värskendada teie laius- ja pikkuskraade - nii poleks visandit kunagi vaja muuta - mõtlen ka sellele veidi rohkem.
Täiustatud viis IP -aadressi saamiseks on midagi muud, mida tahaksin teha (mõtlen endiselt ka sellele)
Liigume edasi järgmise projekti juurde ….
Samm: projekt 3: lihtne liikuv sõnumimärk MQTT abil
"loading =" laisk "" loading = "laisk"
Nii selgub, et raamatukogu saab pilte kuvada - sina näed mingil põhjusel, et see funktsioon on "privaatne" - nende järgmiste visandite jaoks muutsin raamatukogu veel kord ja muutsin joonistuspildi avalikuks funktsiooniks.
Seekord panin muudetud teegi eskiiside kataloogi, nii et te ei pea teeki uuesti installima, eskiis vaatab kõigepealt ennast, siis näeb see raamatukogu kataloogi, nii et oleme tublid!
*** Kavatsen selle muudatuse DFRobotile esitada, kuna see on tõesti väga lahe ja omamoodi puhas, et saaksin seda tüüpi visandeid teha ***
LED -maatrikspiltide visand, siin proovisin kõigepealt välja mõelda, mida raamatukogu soovis ja mis toimiks ja mis mitte - vahelduva eduga. Leidsin, et 8x8 pildid töötavad kõige paremini, kuid saate ka teisi tööle panna. Leidsin ka mõned online led maatriksitoimetajad, mõned töötavad paremini kui teised.
xantorohara.github.io/led-matrix-editor/-tundub töötavat hästi, teeb 8x8 pilti ja soovite neid baitmassiividena.
www.riyas.org/2013/12/online-led-matrix-fo… see töötab hästi ja suudab teha suuremaid kui 8x8 ekraane, tundub, et ekraan on selle kuvariga küljel Kuid. Tundub, et baitmassiivid töötavad siin kõige paremini. Kasutasin seda ülalolevas videos nähtud "kosmose sissetungijate" tegemiseks.
Niisiis, kuidas see töötab, drawImage (const bait * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);
pildi baitmassiivi muutuja, pildi laius (8), pildi kõrgus (8), lähteasend ekraanil x (0), y (0) tavaliselt ja nihkearv, mida ma ei ole 100% kindel, mida see teeb, nii et enamasti jätsin selle nulli.
LED -maatrikspiltide eskiisil - 8 erinevat baidimassiivi - on ka kolm erinevat meetodit.
- ilutulestik on esimesed massiivid, ausalt öeldes pole ma kindel, kuidas see töötab - aga see toimib.
järgmisena on suu - see ei tööta tegelikult päris õigesti, suu asetab ühele vale tee ja mis tahes muudatuste tegemine muudab selle ainult hullemaks. (õppida, mis töötab ja mis mitte, on pool lõbu)
Järgnes esimene marioImg - see on ekraani jaoks liiga suur ja ma arvan, et siin tuleb mängu off -set - ma kasutasin seda siin ja näete mario esiosa, kui muudate nihke 1 -ks Ma näen teda taga. (sa ei oska sulle öelda, miks või mida nihutamine teeb. Tundub, et see muudab pilti, aga miks 2 nihutab seda nii, et näed teda ees ja miks 1 muudab teist suunda, ma ei saa teile öelda)
IMAGES - baidimassiiv on minu tehtud @ märk - see näeb välja selline, mille tegin tööriista abil aadressil
pic1 baidimassiiv näeb välja ka see, mida ma üritasin teha, ainult see on väiksem kui proovisin - mida see on, seda ma ei oska öelda, kuid üldiselt võin öelda, et see näeb välja nii, nagu ma toimetajaga tegin.
mario2Img - see on minu enda versioon suuremast Mario'st, mis on tehtud 8x8 ekraani suuruse jaoks - ja sina oled seal üks või kaks pikslit paigast ära (minu viga, mitte kuvarid), see näeb välja nagu väike Mario (sorta).
sissetungija1 ja sissetungija2 - mõlemad minu ideed kosmosesissetungijaks. need osutusid päris heaks ja pilte üksteise peale pannes suudan luua jalgade liigutamise efekti.
Kataloogis on kaks ilutulestiku visandit, millest igaüks on pisut erinev ja tasub proovida.
Ühes liigub ilutulestik üle ekraani, seega natuke rohkem/erinevat animatsiooni … teises on korraga ilutulestikku
Samuti on kolm "sissetungijate" visandit, millest igaüks on pisut erinev, ühel on sissetungija liikumas üle ekraani ja võite vaadata, kuidas ma seda tegin - (võib -olla on paremaid viise, kuidas seda teha, ma ei tea)
Veelgi enam: hoidla testkataloogis on mõned visandid - enamik neist ei töötanud päris nii, nagu ma tahtsin, või olid ideed, mida ma tahan teha, kuid ei töötanud nii, nagu ma tahtsin. Olen need maha jätnud, sest kellelgi on ideid *(tegin küll väikese kilbi, millel oli WS2812 piksel ja mida kasutati ISS -ekraaniga, aga ühendasin selle 3v liiniga ja lihtsalt ei jätkunud toide, kui LED -maatriks töötab ka, töötas piksel hästi ilma LED -maatriksita, nii et on veel midagi, mida saaksin sellega teha)*
Samuti on kataloog nimega "Veel näiteid" - need on mõne projekti visandi variatsioonid, kas ma lisasin või eemaldasin midagi või muutsin seda mingil viisil. Nende jaoks nad töötavad - need pole lihtsalt lõplik projekt. Nii et ma jätsin nad uuesti, keegi võib neile midagi kasulikku välja tuua. (Võib olla)
Loodan, et teile meeldis see juhendatav sama palju kui mulle nende projektide tegemine:-)
Samm 11: Tundub…
Seda projekti sponsoreeris ja toetas DF Robot. Kasutage toodete jaoks järgmisi linke:
Firebeetle ESP32 -
Firebeetle kate 24x8 LED -maatriks -
Minu koodivaramu:
Kui leiate, et see või mõni minu projekt on kasulik või meeldiv, palun toetage mind. Kõik, mida ma saan, läheb ostma rohkem osi ja tegema rohkem/paremaid projekte.
www.patreon.com/kd8bxp
NTPClienti teek
ArduinoJson.h
ESP8266 ilmaraamatukogu
Json-Streaming-Parseri raamatukogu
Soovitan:
4 ühes kast (päikeseenergia laetav uimastamispüstol, toitepank, LED -valgus ja laser): 5 sammu (piltidega)
4 in 1 BOX (päikeseenergiaga laetav uimastamispüstol, toitepank, LED -valgus ja laser): Selles projektis räägin sellest, kuidas valmistada 4 ühes päikesepatarei, elektripank, LED -valgus ja amp; Laser kõik ühes karbis. Ma tegin selle projekti, sest tahan lisada kõik soovitud seadmed kasti, see on nagu ellujäämiskast, suur maht
Kõik ühes digitaalne kronomeeter (kell, taimer, äratus, temperatuur): 10 sammu (koos piltidega)
Kõik ühes digitaalne kronomeeter (kell, taimer, äratus, temperatuur): plaanisime teha mõne muu võistluse jaoks taimerit, kuid hiljem rakendasime ka kella (ilma RTC -ta). Programmeerimise juurde asudes tekkis meil huvi rakendada seadmele rohkem funktsioone ja lõpuks lisasime DS3231 RTC, nagu
Valguslüliti + ventilaatori dimmer ühes tahvlis ESP8266 abil: 7 sammu (piltidega)
Valguslüliti + ventilaatori hämardaja ühes plaadis ESP8266 abil: Selles õpetuses saate teada, kuidas mikrokontrolleri ja WiFi -mooduliga ESP8266 luua oma valguslüliti ja ventilaatori hämardaja vaid ühte tahvlisse. See on suurepärane projekt asjade Interneti jaoks. : See vooluahel käsitleb vahelduvvoolu põhipingeid, seega olge ettevaatlik
3 ühes lambiga kõrvaklappide / sülearvutite hoidja: 8 sammu (piltidega)
3 ühes lambiga kõrvaklappide / sülearvutite hoidik: selles juhendis tegin kõrvaklappide aluse. See on minu YouTube'i kanalil olnud suur taotlus. Niisiis, ma arvasin, et on aeg seda ülesannete nimekirjast kontrollida. Alus oli valmistatud mahagonipuust. Selle põhjas on LED -tuli, mis püsib
100+ lülitit ühes Arduino nööpnõelas: 6 sammu (piltidega)
100+ lülitit ühes Arduino nööpnõelas: Sissejuhatus Kas sisendpoldid said otsa? Ärge muretsege, siin on lahendus ilma vahetuste registriteta. Selles videos õpime rohkem kui 100 lüliti ühendamist ühe Arduino tihvtiga