Përmbajtje:

4 projekte në 1 duke përdorur DFRobot FireBeetle ESP32 & LED Matrix Cover: 11 hapa (me fotografi)
4 projekte në 1 duke përdorur DFRobot FireBeetle ESP32 & LED Matrix Cover: 11 hapa (me fotografi)

Video: 4 projekte në 1 duke përdorur DFRobot FireBeetle ESP32 & LED Matrix Cover: 11 hapa (me fotografi)

Video: 4 projekte në 1 duke përdorur DFRobot FireBeetle ESP32 & LED Matrix Cover: 11 hapa (me fotografi)
Video: Как использовать LCD LCD1602 с модулем I2C для Arduino - Robojax 2024, Korrik
Anonim
Image
Image
Instaloni Bibliotekat e Përbashkëta për Projektet
Instaloni Bibliotekat e Përbashkëta për Projektet

Mendova të bëja një udhëzues për secilin prej këtyre projekteve - por në fund vendosa që vërtet ndryshimi më i madh është softueri për secilin projekt mendova se ishte më mirë të bëja vetëm një udhëzues të madh!

Pajisja është e njëjtë për secilin projekt, dhe ne po përdorim Arduino IDE për të programuar pajisjen ESP32.

Pra, çfarë është hardueri: I gjithë pajisja u sigurua nga miqtë e mi në DFRobot, ata kanë mësime shumë të mira, dhe të lehtë për t'u instaluar bordet bazë për këtë. Gjithashtu keni një sistem të mirë mbështetës në vend, dhe transport mjaft të shpejtë në SHBA

Zbulimi i plotë i bordit Firebeetle ESP32, dhe Matrica LED u siguruan nga DF Robot, projektet e paraqitura dhe në video janë të miat.

Të gjitha këto projekte përdorin një DFRobot FireBeetle ESP32 IOT MicroController

www.dfrobot.com/product-1590.html

Wiki mbështetës - me udhëzimet kryesore të instalimit të bordit mund të gjenden këtu:

www.dfrobot.com/wiki/index.php/FireBeetle_…

Ne gjithashtu kemi nevojë për një FireBeetle Covers 24x8 LED Matrix (BLUE)

www.dfrobot.com/product-1595.html

Nuk ju pëlqejnë llambat blu - Ata gjithashtu kanë ngjyra të ndryshme.

GREEN -

E KUQ -

E BARDH -

E VERDH -

Ju duhet vetëm një Matricë LED - ngjyra është zgjedhja juaj, të gjitha funksionojnë njësoj.

Wiki i mbështetjes së Matricës LED mund të gjendet këtu:

www.dfrobot.com/wiki/index.php/FireBeetle_…

Këtu gjejmë një lidhje me Bibliotekën Arduino.

github.com/Chocho2017/FireBeetleLEDMatrix

Më shumë për këto pak më vonë….

Diçka që është opsionale, por ndoshta e dobishme për ta pasur është një mbajtës i baterisë MicroUSB 3xAA.

www.dfrobot.com/product-1130.html

Pra, kjo është pajisja e nevojshme - Cilat janë 4 projektet -

Hapi 1: Projektet

Image
Image

Projekti 1: ashtë një orë e thjeshtë LED Matrix NTP me ekran Ora Ushtarake ose ekran AMPM, Kjo orë do të lidhet me një NTP (serveri i kohës) të kapë kohën dhe të aplikojë një grup fikur në mënyrë që të merrni kohën lokale. Do të shfaqë kohën në Matricën LED. - clockshtë një orë shumë e thjeshtë, dhe projekt i parë shumë i thjeshtë.

Projekti 2: Shfaqja e parashikimit të kalimit ISS, ky projekt përdor bërthamën e dytë të procesorit. Ai do të tregojë se sa afër (në milje) është ISS, kur të prisni që ISS -ja tjetër të kalojë në vendndodhjen tuaj (Në kohën UTC), dhe sipas dëshirës sa njerëz janë në hapësirë. Meqenëse shumë nga këto informacione nuk ndryshojnë shpesh, ne përdorim bërthamën e dytë për të kontrolluar vetëm për azhurnimet e parashikimeve të kalimit, ose sa njerëz janë në hapësirë çdo 15 minuta. Ne mund të parandalojmë shumë thirrje API në server në këtë mënyrë. Ky projekt është pak më i komplikuar, por ende mjaft i lehtë për tu bërë.

Projekti 3: Një Shenjë e Thjeshtë e Mesazhit Lëvizës duke përdorur MQTT, unë rishikova një projekt që ishte bërë për mini bordin ESP8266 D1, dhe është Matrica LED 8x8 - Ideja është të lidheni me një ndërmjetës MQTT, të dërgoni një mesazh në një temë që pajisja është duke dëgjuar - dhe shfaq atë mesazh. Prettyshtë mjaft e lehtë, dhe shumë e thjeshtë për tu bërë pasi gjithçka është konfiguruar. Dhe ka disa hapa për të vendosur softuerin e klientit MQTT në një kompjuter desktop. Pasi të jetë konfiguruar MQTT është një protokoll shumë i fuqishëm i mesazheve i përdorur nga shumë pajisje IoT për të dërguar dhe marrë mesazhe.

Projekti 4: Shfaqja e stacionit të motit - bazuar në mini stacionin e motit ESP8266 D1 të bërë nga Squix78 dhe ThingPulse. Ne i marrim të dhënat tona nga Wunderground dhe shfaqim kushtet aktuale dhe temperaturën në gradë Fahrenheit. Ne përdorim bërthamën e dytë të ESP32, për të përditësuar të dhënat tona çdo 10 minuta. Alsoshtë gjithashtu e thjeshtë për tu konfiguruar.

BOUNS MINI SHEMBUJ: Biblioteka (dhe skicat e mësipërme) përdorin një font 8x4, biblioteka gjithashtu përmban një font 5x4, të cilin e kam përdorur për shumicën e këtyre mini shembujve BOUNS. Ka disa probleme që mund të vërej me fontin e vogël, njëri duket se shkakton probleme kur përdorni WIFI të pajisjes. Kjo është diçka që dua të eksploroj më shumë, por kam pasur kohë. Problemi tjetër është se nuk lëviz, vetëm fonti më i madh mund të lëvizë. Pra, asnjë nga këta shembuj nuk përdor WIFI - ata thjesht azhurnojnë ekranin, dhe më shumë për këto do të jetë më vonë.

Le të fillojmë…..

Hapi 2: Instaloni bordin DFRobot FireBeetle ESP32 në Arduino IDE

Pra, unë do t'ju referoj tek DF Robot Wiki për instalimin e bërthamës së bordit për Arduino IDE.

Prettyshtë shumë e lehtë të bësh me IDE moderne (1.8.x ose më mirë).

www.dfrobot.com/wiki/index.php/FireBeetle_…

Kam gjetur se biblioteka WiFi e integruar në Arduino IDE shkakton probleme (PS çdo Bibliotekë tjetër WiFi që mund të jetë e instaluar në drejtorinë tuaj të bibliotekës mund ose nuk mund të shkaktojë probleme). Mënyra e vetme (ose të paktën mënyra më e lehtë) që kam gjetur për të zgjidhur çështjen është heqja e bibliotekës WiFi nga drejtoria IDE. Fatkeqësisht, nuk ka asnjë mënyrë të mirë për t'ju treguar se ku është instaluar - varet nga mënyra se si është instaluar IDE dhe nga cili OS po përdorni.

Ajo që kam bërë është gjetja e bibliotekës WiFi që po shkakton probleme, dhe thjesht zhvendosni drejtorinë e drejtorisë WiFi në desktopin tuaj … dhe rinisni IDE. Në atë mënyrë ju mund ta mbani bibliotekën në rast se ju nevojitet për tabelat Arduino WIFI.

90% e problemeve që kam parë kanë qenë të lidhura me çështjen e mësipërme. Nëse merrni shumë gabime të përpilimit, që lidhen me përdorimin e WiFi nga drejtoria Arduino IDE ose drejtoria e Bibliotekës Arduino, ky është problemi që keni.

Çështja ime e dytë është ndonjëherë që skica e ngarkimit nuk arrin të ngarkohet - Në këtë rast unë thjesht duhet të godas përsëri butonin e ngarkimit, dhe funksionon.

Dhe së fundi, nëse e keni tastierën seriale të hapur, dhe pastaj e mbyllni - FireBeetle ngrin.

Unë e di që DF Robot po punon në mënyrë aktive në thelbin e bordit, dhe vetëm në kohën e shkurtër që kam pasur bordin ata kanë lëshuar një bërthamë të re. Fatkeqësisht nuk e zgjidhi çështjen WiFi e cila është çështja ime më e madhe.

* Espressif ka një menaxher kryesor 'gjenerik' që mund të instalohet, thelbi përfshin bordin FireBeetle ESP32, por unë kisha një problem me mënyrën se si i ka numëruar kunjat. Gjëja interesante këtu është se biblioteka WiFi punon me bibliotekën e integruar WiFi - kështu që unë e di se ka një zgjidhje për atë çështje afër qoshes.

Nëse dëshironi të provoni bërthamat Espressif, mund të gjeni më shumë informacion këtu:

github.com/espressif/arduino-esp32

Më pëlqen personalisht se si funksionon thelbi i DF-Robot, edhe me disa çështje që kam.

** SHENIM: Unë jam duke përdorur LinuxMint 18 i cili është i bazuar në Ubuntu 16.04 Mendoj, nuk e kam provuar këtë në asnjë makinë tjetër, por besoj se çështja është e pranishme për të gjitha OS -të bazuar në disa kërkime në internet që kam bërë. **

Hapi 3: Instaloni Bibliotekat e Përbashkëta për Projektet

Instaloni Bibliotekat e Përbashkëta për Projektet
Instaloni Bibliotekat e Përbashkëta për Projektet

Të gjitha këto projekte përdorin disa biblioteka të zakonshme, kështu që është më e lehtë ta bëni këtë hap tani.

Në varësi të bibliotekës mund ta gjeni në menaxherin e bibliotekës - e cila është mënyra më e lehtë për të instaluar një bibliotekë.

Një mënyrë tjetër e zakonshme është instalimi përmes një skedari zip, i cili funksionon po aq mirë. Por në përgjithësi unë përdor metodën e instalimit manual. Ekziston një mësim i mirë për tre metodat në Uebfaqen Arduino.

www.arduino.cc/en/guide/libraries

Për këto biblioteka, unë do të rekomandoja metodën manuale - sepse ka disa biblioteka të ndryshme me të njëjtin emër, duke përdorur menaxherin e bibliotekës mund të përfundoni me atë të gabuar.

Të gjitha këto projekte përdorin një Menaxher WiFi për ta bërë më të lehtë lidhjen me wifi tuaj - vendosa ta bëj këtë kështu që nëse keni nevojë të lëvizni projektin tuaj, nuk keni nevojë të riprogramoni bordin. Kjo është diçka që unë përdor për bordet ESP8266, dhe funksionon mirë - nuk është e përsosur. Fat për përdorim biblioteka është transferuar për të përdorur ESP32 nga një përdorues github i quajtur bbx10. (Ky menaxher duhet të punojë gjithashtu me bordet ESP8266)

Duhet të instalojmë tre biblioteka për këtë punë.

WiFiManager -

WebServer -

Dhe së fundi DNSServer -

Gjithashtu e zakonshme për të gjitha skicat është biblioteka DF Robot DFRobot_HT1632C për Matricën LED.

www.dfrobot.com/wiki/index.php/FireBeetle_…

Bibliotekën mund ta gjeni këtu (Përsëri do të rekomandoja metodën e instalimit manual)

github.com/Chocho2017/FireBeetleLEDMatrix

Një shënim i veçantë: në depon time të github - kam disa biblioteka DFRobot_HT1632C pak të modifikuara

github.com/kd8bxp/DFRobot-FireBeetle-ESP32…

Modifikimi është për një font më të vogël dhe përdoret vetëm për disa nga shembujt e bonusit. Ju mund të përdorni bibliotekën e modifikuar dhe nuk duhet të shkaktojë ndonjë problem. Ekziston edhe një bibliotekë pak e modifikuar (Bashkangjitur në disa skica si skeda) që mund të bëjë imazhe bitmap.

Nëse zgjidhni të përdorni versionin pak të modifikuar, duhet të riemërtoni drejtorinë "biblioteka e modifikuar" në FireBeetleLEDMatrix dhe ta zhvendosni atë dosje në drejtorinë tuaj të bibliotekës Arduino. Ju nuk keni pse ta përdorni këtë version për këto projekte, është e nevojshme nëse doni të provoni disa nga fontet më të vegjël nga shembujt e bonusit.

Këto janë bibliotekat e zakonshme - ne do të instalojmë disa biblioteka të veçanta për secilin projekt.

Le të kalojmë në Matricën LED….

Hapi 4: Mbulesa e matricës LED 24x8

Mbulesa e matricës LED 24x8
Mbulesa e matricës LED 24x8
Mbulesa e matricës LED 24x8
Mbulesa e matricës LED 24x8
Mbulesa e matricës LED 24x8
Mbulesa e matricës LED 24x8

Sepse Ne do të ndjekim së bashku me DF Robot Tutorial për Matricën LED

www.dfrobot.com/wiki/index.php/FireBeetle_…

Hyrje: Ky ekran 24 × 8 LED Matrix është i veçantë i projektuar për seritë FireBeetle. Ai mbështet modalitetin e konsumit të ulët të energjisë dhe ekranin rrotullues. Me çipin e drejtuesit HT1632C me performancë të lartë, çdo led ka regjistër të pavarur, gjë që e bën të lehtë drejtimin veç e veç. Ai integron një orë RC 256KHz, vetëm 5uA nën modalitetin e energjisë së ulët, mbështet rregullimin e shkëlqimit të shkallës PWM 16. Ky produkt gjithashtu punon me mikrokontrolluesin tjetër Arduino si Arduino UNO.

Specifikim:

  • Tensioni i funksionimit: 3.3 ~ 5VLED
  • Ngjyra: Ngjyrë e vetme (E bardhë/Blu/E verdhë/E kuqe/jeshile)
  • Chip Drive: HT1632C
  • Rryma e punës: 6 ~ 100mA
  • Konsumi me fuqi të ulët: 5uARC
  • ora: 256KHz
  • Zgjedhja e çipit (CS): D2, D3, D4, D5 mund të zgjidhet
  • Mbështet ekranin e rrotullimit

PIN -et e paracaktuar:

  1. DATA 6
  2. WRD7 (në përgjithësi nuk përdoret)
  3. CSD2, D3, D4, D5 i zgjedhur (D2 i parazgjedhur)
  4. RDD8
  5. VCC 5VUSB; Bateri 3.7VLipo

(Të gjithë këta projekte përdorin D2 për pinin e zgjedhur, kjo mund të ndryshohet lehtësisht sipas nevojës.)

Në anën e pasme të Matricës LED do të shihni 4 ndërprerës të vegjël, sigurohuni që të zgjidhni vetëm një nga kunjat CS. Këta ndërprerës të vegjël janë mënyra se si zgjidhni CS Pin tuaj, dhe parazgjedhja është D2.

Roboti DF WIKI ka një kod mostër, ky kod është gjithashtu në shembujt për bibliotekën. (Unë besoj)

Një shënim tjetër: përdorni numrat Dx për kunjat tuaja - përndryshe numrat e kunjave do të jenë numrat/emrat e pinit IO

Dhe kjo mund t'ju shkaktojë disa probleme.

Vendosja e një pike:

X është nga 0 në 23 (ose nëse mendoni për të si një spreadsheet këto janë kolona).

Y është nga 0 në 7 (ose nëse mendoni për të si një spreadsheet këto janë rreshta).

Biblioteka siguron një funksion të caktuar të pikës.

display.setPoint (x, y) kjo do të vendosë kursorin në atë vend, ku tani mund të printoni një mesazh.

display.print ("Përshëndetje Botë", 40); // kjo do të bëjë që ekrani të shfaqë "Përshëndetje Botë" duke filluar në pikën x, y dhe duke lëvizur jashtë ekranit.

Ekziston gjithashtu një setPixel (x, y) dhe clrPixel (x, y) - setPixel do të ndezë një LED në vendndodhjen x, y, dhe clrPixel do të fikë një LED në vendndodhjen x, y.

Ka disa gjëra të tjera që mund të bëjë kjo bibliotekë - dhe shumica janë të përfshira në shembuj.

(Unë do të rekomandoja drejtimin dhe modifikimin e shembujve për të parë se çfarë mund të bëjë).

* Një gjë që duket se mungon është vizatimi i bitmap - biblioteka në fakt mund ta bëjë këtë, por për disa arsye është një funksion privat i bibliotekës. Shihni disa nga shembujt e mi të bonusit për një version pak të modifikuar të bibliotekës

** Një gjë tjetër që përfshin një grup fontesh 5x4, i cili është mirë të kesh një font më të vogël - komentohet si ndonjëherë në bibliotekë. Unë e komentova dhe e punova, por vura re disa çështje me të - më e madhja që nuk lëviz. Dhe vura re se duket se shkakton probleme ose me wifi -n ose ndoshta me një bibliotekë tjetër që doja të përdorja.

Një nga bibliotekat e modifikuara që unë përfshij megjithatë përdor fontin 5x4.

Le të kalojmë në projektet…..

Hapi 5: Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM

Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM
Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM
Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM
Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM
Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM
Projekti 1: Një orë e thjeshtë NTP Matrix LED me Orarin Ushtarak ose Ekran AMPM

Projekti 1: ashtë një orë e thjeshtë NTP Matrix LED me ekran Ora Ushtarake ose ekran AMPM, Kjo orë do të lidhet me një NTP (serveri i kohës) të kapë kohën dhe të aplikojë një set të fikur në mënyrë që të merrni kohën lokale. Do të shfaqë kohën në Matricën LED. - clockshtë një orë shumë e thjeshtë, dhe projekt i parë shumë i thjeshtë.

Para se të fillojmë me këtë projekt të thjeshtë, mund të jetë një ide e mirë të dimë se çfarë është NTP -

NTP është një protokoll interneti i përdorur për të sinkronizuar orët e kompjuterëve me një referencë kohore. Shtë një protokoll standard. NTP qëndron për Network Time Protocol.

NTP përdor UTC si një kohë referimi (UTC është Koha Universale e Koordinuar) ajo evoluoi nga GMT (Koha Mesatare e Greenwich), dhe në disa qarqe quhet Koha Zulu (Ushtarake). UTC bazohet në një rezonancë kuantike të një atomi ceziumi.

NTP është tolerant ndaj gabimeve dhe shumë i shkallëzueshëm, protokolli është shumë i saktë, duke përdorur një rezolutë më të vogël se një nanosekond.

*

Një orë UTC nuk është shumë e dobishme për shumicën e njerëzve, kështu që ne duhet ta përshtatim orën me kohën lokale. Për fat të mirë ne mund ta bëjmë këtë mjaft lehtë. Pra, le të fillojmë me këtë orë të thjeshtë NTP….

Së pari ne duhet të instalojmë një bibliotekë që e bën të lehtë bisedën me serverët NTP.

github.com/arduino-libraries/NTPClient (kjo bibliotekë ndoshta është në menaxherin e bibliotekës)

A e keni anashkaluar hapin 3 - dhe nuk jeni të sigurt se si të instaloni bibliotekat (?) Më mirë kthehuni dhe lexoni hapin 3:-)

Ju duhet të shkoni në këtë faqe interneti dhe të vendosni në qytetin më të afërt me ju që është në zonën tuaj kohore.

www.epochconverter.com/timezones

Kur shtypni enter, do të shihni "Rezultatet e konvertimit" dhe në rezultatet do të merrni kompensimin tuaj (ndryshimi në GMT/UTC) në sekonda (për mua kjo është -14400)

Në skicën dfrobot_firebeetle_led_matrix_ntp_clock në rreshtin 66 do të shihni:

#define TIMEOFFSET -14400 // Gjeni Zonën tuaj të kohës të fikur të vendosur këtu https://www.epochconverter.com/timezones OFF Vendosur në sekonda#përcaktoni AMPM 1 // 1 = Ora AM PM, 0 = KOHA USHTARAK/24 HR

zëvendësoni -14400 me kompensimin tuaj. Linja tjetër që do të shihni AMPM 1 - kjo do të bëjë që ora të shfaqë kohën në AM/PM - nëse preferoni ta shihni atë në 24 orë, bëjeni atë një zero.

Më pas ngarkoni skicën në tabelën tuaj, lidheni me pikën e hyrjes (menaxher wifi) dhe futni detajet për wifi -në tuaj. Nëse e keni bërë tashmë këtë, duhet të shihni lëvizjen "të lidhur" nëpër ekran dhe disa sekonda më vonë duhet të shihni kohën.

Kjo është ajo për këtë projekt - e thjeshtë dhe e lehtë për t’u përdorur…..

(Përmirësimet e mundshme: Shfaqni Muajin, Ditën dhe Vitin, vendosni një zile dhe alarme - në përgjithësi kontrolloni atë që shihni përmes një faqe në internet. Këto ide do të merrnin një rishkrim të madh të skicës së thjeshtë të tanishme)

Gati për një projekt tjetër të thjeshtë - Shfaqni ku është ISS - Kaloni parashikimet dhe sa njerëz janë në Hapësirë! (PS ky skicë përdor një faqe në internet për të kontrolluar atë që shfaqet)…..

Hapi 6: Projekti 2: Shfaqja e parashikimit të ISS Pass,

Projekti 2: Shfaqja e parashikimit të kalimit të ISS,
Projekti 2: Shfaqja e parashikimit të kalimit të ISS,
Projekti 2: Shfaqja e parashikimit të kalimit të ISS,
Projekti 2: Shfaqja e parashikimit të kalimit të ISS,
Projekti 2: Shfaqja e parashikimit të kalimit të ISS,
Projekti 2: Shfaqja e parashikimit të kalimit të ISS,

Projekti 2: Shfaqja e parashikimit të kalimit ISS, ky projekt përdor bërthamën e dytë të procesorit. Do të shfaqë sa afër (në milje) është ISS, kur të presësh që ISS -ja tjetër të kalojë në vendndodhjen tënde (Në kohën UTC), dhe sipas dëshirës sa njerëz janë në hapësirë. Meqenëse shumë nga këto informacione nuk ndryshojnë shpesh, ne përdorim bërthamën e dytë për të kontrolluar vetëm për azhurnimet e parashikimeve të kalimit, ose sa njerëz janë në hapësirë çdo 15 minuta. Ne mund të parandalojmë shumë thirrje API në server në këtë mënyrë. Ky projekt është pak më i komplikuar, por ende mjaft i lehtë për tu bërë.

Ky projekt bazohet në një nga projektet e mia të mëparshme që mund të gjenden këtu:

(Një sistem i thjeshtë njoftimi ISS) Në atë Kam përdorur një ESP8266 me një ekran OLED në bord (D-Duino). Në pjesën më të madhe ky projekt thjesht përdor një sistem të ndryshëm të shfaqjes, unë e zgjerova atë në mënyrë që të ndryshoni atë që dëshironi të shihni në fluturim përmes një faqe në internet. Pra, le të fillojmë….

Shumica e meritave për lehtësinë e përdorimit shkojnë në https://open-notify.org e cila ka një API shumë të thjeshtë dhe të lehtë për t’u përdorur. API me njoftim të hapur ka tre gjëra që mund të shfaqen, vendndodhjen e ISS në gjerësi dhe gjatësi, parashikimet e kaluara bazuar në një gjerësi dhe gjatësi të caktuar. Dhe së fundi sa njerëz (Dhe emrat e tyre) janë në hapësirë.

Do të na duhet të instalojmë një bibliotekë tjetër - bibliotekën ArduinoJson.

github.com/bblanchon/ArduinoJson

Ne gjithashtu kemi nevojë për TimeLib.h por nuk jam i sigurt se nga e kam marrë atë ose nëse është përfshirë në IDE (më falni)….

Pra, pse të parashikoni se ku do të jetë ISS - ISS përmban pajisje të ndryshme radio amatore, dhe kur është "mbi kokë" një operator radio proshutë mund të kontaktojë me ISS duke përdorur disa radio shumë të thjeshta (dhe të lira). Unë madje e kam bërë atë gjatë lëvizjes (duke vozitur në makinë). Ju me të vërtetë nuk keni nevojë për shumë për ta bërë këtë punë. E vetmja gjë që ju nevojitet është të dini se ku është. Dhe drejtimi i antenës në drejtimin e saj të përgjithshëm ndihmon.

Linjat 57, 58, 59 janë disa ndryshore të ekranit - nëse ato vendosen në 1 do të shihni një ekran, nëse janë vendosur në 0 (zero) nuk do të shihni një ekran. (Këto variabla mund të vendosen në skicë, ose të azhurnohen nga një faqe në internet që krijon brumbulli i zjarrit - më shumë për këtë më vonë).

int locDis = 1; // Shfaq vendndodhjen e ISSint pasDis = 0; // Parashikimet e kalimit të ekranit int pplDis = 1; // Shfaq njerëzit në hapësirë

kështu locDis do të shfaq vendndodhjen e ISS në gjerësi dhe gjatësi - gjithashtu tregon sa kilometra larg është.

pasDis do të marrë parashikimet e kalimit nga open-notify.org dhe do t'i shfaqë ato.

dhe së fundi, pplDis do të shfaqë emrat dhe sa njerëz janë në hapësirë - kjo mund të zgjasë shumë, por jo

ndryshoni shpesh ose. (mund t'i ndryshoni ose t'i lini, është krejtësisht opsionale)

Ne gjithashtu duhet të njohim gjerësinë dhe gjatësinë tonë dhe t'i vendosim ato në skicë.

Kjo nuk ka pse të jetë një vend i gjatë/i gjatë, mund të jetë qendra e qytetit tuaj, ose vetëm pak. Shtypja e këmbëve të ISS është e gjerë ndërsa është mbi kokë, dhe qindra (ose mijëra) kilometra mund të mbulohen, kështu që të qëndrosh pak në vonesë/gjatë nuk do të jetë një shkelje e marrëveshjes (shumicën e kohës), komunikimi mbi 500 kilometra është mjaft i zakonshëm.

Nëse nuk e dini gjerësinë dhe gjatësinë tuaj, kjo faqe në internet mund t'ju ndihmojë.

www.latlong.net Pranë rreshtit 84 të skicës do të shihni diçka si kjo:

// Gjeni gjerësinë dhe gjatësinë tuaj këtu // https://www.latlong.net/ float mylat = 39.360095; mylon notues = -84.58558;

Kjo duhet të jetë gjithçka që duhet ndryshuar. Ngarko skicën dhe lidhe Firebeetle me internetin - dhe duhet të shikosh, vendndodhjen e ISS të dhënë në lat/long dhe sa kilometra larg është (mbani mend se kjo do të jetë një distancë e përafruar. ISS lëviz shumë shpejt, dhe deri në përfundimin e ekranit ISS ka lëvizur shumë kilometra nga vendi ku ishte). Ju gjithashtu duhet të shihni njerëzit në hapësirë. (NFSE ju nuk e ndryshoni ndryshoren e mësipërme).

Ne po përdorim bërthamën e dytë të ESP32 për të drejtuar një faqe në internet, përdorimi i faqes na jep kontroll mbi atë që shfaqet në matricën LED. Duhet të jetë mjaft intuitive se si funksionon, një pjesë tregon atë që është aktivizuar për shfaqje, një pjesë tjetër ka butona "po" "jo" - klikuar "po" do të thotë që ju doni ta shihni atë, "jo" do të thotë " mos e trego. Ju gjithashtu duhet të shihni që pjesa e sipërme ndryshon bazuar në butonat.

E vetmja gjë që nuk është aq e prerë dhe e thatë këtu është se si të gjeni adresën IP të Firebeetle - për fat të keq nuk mund të gjeja një mënyrë të mirë për ta gjetur atë - kështu që unë thjesht përdor tastierën serike të IDE për t'u shfaqur ajo (9600 baud).

Hapni tastierën dhe duhet të shihni adresën IP. (hapeni atë para se të merrni mesazhin e lidhur) - zgjedhja ime tjetër ishte ta shfaqja atë në Matricën LED një herë në fillim - vendosa kundër kësaj sepse nuk mund të shikoni në atë kohë dhe do ta humbisni. Kisha marrë parasysh dërgimin e një mesazhi sms, ose diçka, por, në fund thjesht e mbaj të thjeshtë. (Unë gjithashtu u përpoqa të caktoja një IP statike/portë hyrëse/etj., Nuk arrita të funksionojë siç duhet me menaxherin wifi - kodi është ende në skicë, kështu që nëse dikush e kupton më njoftoni)

Skica gjithashtu merr përparimin e FreeRTOS të ndërtuar në thelbin ESP32 - Ne kemi një detyrë që funksionon çdo 15 minuta ose më shumë, ajo që bën është të përditësojë parashikimet e kalimit, si dhe njerëzit në hapësirë. Siç thashë më parë, njerëzit në hapësirë nuk ndryshojnë aq shumë, kështu që ndoshta mund të zhvendosen në një detyrë tjetër dhe mbase vrapojnë një herë në 12 orë (ose 6 orë) - por kjo funksionon, dhe i mban gjërat të thjeshta.

Për ata që nuk e dinë FreeRTOS është një mënyrë për të lejuar që një mikrokontrollues i vetëm kryesor të ekzekutojë detyra të shumëfishojë

Normalisht ju duhet të përfshini disa biblioteka dhe gjëra të tjera për ta bërë atë të funksionojë - sidoqoftë është ndërtuar në thelbin e ESP32 - të cilat e bëjnë ESP32 një pajisje shumë të fuqishme. për më shumë informacion në lidhje me FreeRTOS

freertos.org/

P IRMIRSIMET: Ka një numër gjërash që mund të përmirësohen për këtë projekt, dhe pothuajse çdo ditë mendoj për diçka që mund të bëhet pak më ndryshe, ose të ndryshohet, ose të shtohet.

Dhe në drejtorinë e më shumë shembujve të depove mund të shihni disa nga gjërat e mëparshme/të ndryshme për të cilat kam menduar- disa nga këto nuk funksionuan, disa thjesht ndryshuan, dhe disa ku përfshiheshin në skicën aktuale.

* Në një moment u përpoqa të shtoja një neopixel në ekran, kështu që do të ishte pak më shumë si projekti im i mëparshëm - nuk e kam arritur të funksionojë fare mirë (mendova se ishte një çështje energjie që nuk e kisha marrë parasysh) jam duke punuar në një mënyrë për të përmirësuar këtë ide *

Ndërsa shkruaja këtë hap, mendova, ndoshta mund të shtoj një mënyrë për të azhurnuar gjerësinë dhe gjatësinë tuaj në faqen e internetit - në atë mënyrë skica nuk do të kishte nevojë të modifikohej - do të mendoj edhe për këtë pak më shumë.

Një mënyrë e përmirësuar për të marrë adresën IP është diçka tjetër që do të doja të bëja (akoma duke menduar edhe për atë)

Le të kalojmë në projektin tonë të ardhshëm…..

Hapi 7: Projekti 3: Shenjë e Thjeshtë e Mesazhit Lëvizës duke Përdorur MQTT

Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT
Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT
Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT
Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT
Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT
Projekti 3: Shenjë e thjeshtë e mesazhit lëvizës duke përdorur MQTT

"loading =" dembel "" loading = "dembel"

Bonusi Pjesa 2 - Shfaq imazhet
Bonusi Pjesa 2 - Shfaq imazhet
Bonusi Pjesa 2 - Shfaq imazhet
Bonusi Pjesa 2 - Shfaq imazhet
Bonusi Pjesa 2 - Shfaq imazhet
Bonusi Pjesa 2 - Shfaq imazhet

Pra, rezulton se biblioteka mund të shfaqë imazhe - ju për ndonjë arsye ai funksion duket se është "privat" - mirë, për këto skica të tjera unë modifikova bibliotekën edhe një herë dhe e bëra drawImage një funksion publik.

Këtë herë, unë e vendos bibliotekën e modifikuar në drejtorinë e skicave, kështu që nuk keni nevojë të riinstaloni bibliotekën, skica së pari shikon vetveten, pastaj do të duket në drejtorinë e bibliotekës, kështu që ne jemi mirë!

*** Unë jam duke planifikuar ta paraqes këtë ndryshim në DFRobot, pasi është me të vërtetë shumë e lezetshme dhe e pastër për të qenë në gjendje të bëj këto lloj skicash ***

Skica LED Matrix Images, këtu fillimisht po përpiqesha të kuptoja se çfarë donte biblioteka dhe çfarë do të punonte dhe çfarë nuk do të funksiononte - me shkallë të ndryshme suksesi. Kam gjetur se imazhet 8x8 funksionojnë më së miri, por ju mund t'i bëni të tjerët të punojnë gjithashtu. Kam gjetur edhe disa redaktorë matricash të udhëhequr në internet, disa punojnë më mirë se të tjerët.

xantorohara.github.io/led-matrix-editor/-duket se funksionon mirë, bën imazhe 8x8 dhe ju i dëshironi ato si vargje byte.

www.riyas.org/2013/12/online-led-matrix-fo… ky funksionon mirë, dhe ka aftësinë për të bërë ekrane më të mëdhenj se 8x8, ekrani duket të jetë i kthyer në anën e tij me këtë ekran megjithatë Vargjet e bajtit duket se funksionojnë më së miri këtu. E kam përdorur për të bërë "pushtuesit hapësinorë" të parë në videon e mësipërme.

Pra, si funksionon kjo, drawImage (const byte * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

variabla e grupit të bajtit të imazhit, gjerësia e figurës (8), lartësia e figurës (8), pozicioni fillestar në ekran x (0), y (0) zakonisht dhe një numër i kompensuar, të cilin unë nuk jam 100% i sigurt se çfarë bën, kështu që shumicën e kohës e lashë atë në zero.

Në skicën Imazhet e Matricës LED - ka 8 vargje të ndryshme byte - me tre metoda të ndryshme gjithashtu ato.

- fishekzjarret janë vargjet e para, sinqerisht nuk jam i sigurt se si funksionon ky - por funksionon.

tjetër ka një gojë - kjo nuk funksionon vërtet siç duhet, goja po vendos rrugën e gabuar për një, dhe përpjekja për të bërë ndonjë ndryshim thjesht e përkeqëson atë. (të mësosh se çfarë funksionon dhe çfarë jo është gjysma e kënaqësisë)

E ndjekur nga marioImg e parë - kjo është shumë e madhe për ekranin, dhe unë mendoj se këtu hyn në lojë seti i fikur - e kam përdorur këtu, dhe ju mund të shihni pjesën e përparme të marios, nëse ndryshoni kompensimin në 1 ju Do të shoh pjesën e pasme të tij. (ti nuk mund të të them me të vërtetë pse ose çfarë bën kompensimi. Duket se e zhvendos imazhin, por pse 2 e zhvendos atë në mënyrë që të shihni pjesën e përparme të tij dhe pse 1 zhvendos drejtimin tjetër nuk mund t'ju them)

IMAGES - array byte është një shenjë @ që kam bërë - duket si ajo që kam bërë duke përdorur mjetin në

Grupi pic1 byte gjithashtu duket si ajo që po përpiqesha të bëja, vetëm se është më e vogël se sa po përpiqesha - atë që është nuk mund ta them, por mund të them në përgjithësi duket se ajo që po bëja në redaktues.

mario2Img - ky është versioni im i Mario -t më të madh të bërë për një madhësi të ekranit 8x8 - dhe ju jeni një ose dy piksele jashtë vendit (faji im, jo ekranet) duket si një Mario i vogël (sorta).

invader1 dhe invader2 - të dyja ideja ime për një pushtues hapësinor. ato dolën shumë mirë, dhe duke i vendosur imazhet njëra mbi tjetrën, unë jam në gjendje të krijoj efektin e lëvizjes së këmbëve.

Ka dy skica fishekzjarresh në drejtori, secila është pak më ndryshe, dhe ia vlen të provosh.

Njëri ka fishekzjarret që lëvizin nëpër ekran, kështu që pak më shumë/animacion të ndryshëm … tjetri ka dy fishekzjarre të shfaqur në të njëjtën kohë

Ekzistojnë gjithashtu tre skica "pushtues", secili është pak më ndryshe, njëri ka pushtuesin duke lëvizur nëpër ekran, dhe ju mund të shikoni se si e bëra atë - (ndoshta ka mënyra më të mira për ta bërë këtë, nuk e di)

Edhe më shumë: Ka disa skica në drejtorinë e testimit të depove - shumica e tyre nuk funksionuan ashtu siç doja, ose ishin ide që unë dua të bëj, por nuk funksionuan ashtu siç doja. I kam lënë sepse dikush më merr disa ide *(Unë bëra një "mburojë" të vogël me një piksel WS2812 për ta përdorur me ekranin ISS, por e lidha me linjën 3v, dhe thjesht nuk kisha mjaftueshëm fuqia me Matricën LED po funksionon gjithashtu, pikseli funksionoi mirë, pa Matricën LED ti, kështu që ka akoma diçka që mund të bëj me të)*

Ekziston gjithashtu një drejtori e quajtur "Më shumë shembuj" - këto janë ndryshime në disa nga skicat e projektit, ose unë diçka u shtua ose u hoq, ose ndryshoi në një farë mënyre. Për këto, ata punojnë - thjesht nuk janë projekti përfundimtar. Kështu që i lashë përsëri, dikush mund të marrë diçka të dobishme prej tyre. (Ndoshta)

Shpresoj që ju ka pëlqyer kjo udhëzues aq sa më ka pëlqyer mua kur i kam bërë këto projekte:-)

Hapi 11: Lidhjet…

Ky projekt u sponsorizua dhe u mbështet nga DF Robot. Ju lutemi përdorni lidhjet e mëposhtme për produktet:

Firebeetle ESP32 -

Mbulesa Firebeetle Cover 24x8 LED Matrix -

Depoja e Kodit Tim:

Nëse e shihni këtë ose ndonjë nga projektet e mia të dobishme ose të kënaqshme ju lutem më mbështesni. Çdo gjë që marr shkon për të blerë më shumë pjesë dhe për të bërë më shumë/projekte më të mira.

www.patreon.com/kd8bxp

Biblioteka NTPClient

ArduinoJson.h

ESP8266 Biblioteka e motit

Biblioteka Json-Streaming-Parser

Recommended: