Sisällysluettelo:

4 projektia yhdessä DFRobot FireBeetle ESP32- ja LED -matriisisuojuksen avulla: 11 vaihetta (kuvilla)
4 projektia yhdessä DFRobot FireBeetle ESP32- ja LED -matriisisuojuksen avulla: 11 vaihetta (kuvilla)

Video: 4 projektia yhdessä DFRobot FireBeetle ESP32- ja LED -matriisisuojuksen avulla: 11 vaihetta (kuvilla)

Video: 4 projektia yhdessä DFRobot FireBeetle ESP32- ja LED -matriisisuojuksen avulla: 11 vaihetta (kuvilla)
Video: Ошибки в сантехнике. Вводной узел в квартиру. 2024, Heinäkuu
Anonim
Image
Image
Asenna projekteille yhteiset kirjastot
Asenna projekteille yhteiset kirjastot

Ajattelin tehdä ohjeen jokaiselle projektille - mutta lopulta päätin, että suurin ero on jokaisen projektin ohjelmisto, jonka mielestäni oli parempi tehdä vain yksi iso ohje!

Laitteisto on sama jokaiselle projektille, ja käytämme Arduino IDE: tä ESP32 -laitteen ohjelmointiin.

Joten mikä on laitteisto: Kaikki laitteistot toimittivat ystäväni DFRobotissa, heillä on erittäin hyviä opetusohjelmia ja helppo asentaa ydinlevyt tätä varten. Sinulla on myös hyvä tukijärjestelmä ja melko nopea toimitus Yhdysvaltoihin

DF Robot toimitti Firebeetle ESP32 -levyn ja LED -matriisin kokonaan, esittelemäni ja videoissa olevat projektit ovat omiani.

Kaikki nämä projektit käyttävät DFRobot FireBeetle ESP32 IOT MicroControlleria

www.dfrobot.com/product-1590.html

Tukiviki - levyn ytimen asennusohjeet löytyvät täältä:

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

Tarvitsemme myös FireBeetle -kannet 24x8 LED Matrix (SININEN)

www.dfrobot.com/product-1595.html

En pidä sinisistä ledeistä - niissä on myös eri värejä.

VIHREÄ -

PUNAINEN -

VALKOINEN -

KELTAINEN -

Tarvitset vain yhden LED -matriisin - väri on sinun valintasi, ne kaikki toimivat samalla tavalla.

LED Matrix -tukiviki löytyy täältä:

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

Täältä löydät linkin Arduinon kirjastoon.

github.com/Chocho2017/FireBeetleLEDMatrix

Näistä lisää vähän myöhemmin….

Jotain valinnaista, mutta ehkä kätevää hankkia on MicroUSB 3xAA -paristopidike.

www.dfrobot.com/product-1130.html

Joten se on tarvittava laitteisto - Mitkä ovat 4 projektia -

Vaihe 1: Projektit

Image
Image

Projekti 1: Onko yksinkertainen LED -matriisi NTP -kello, jossa on joko sotilasajan näyttö tai AMPM -aikanäyttö, Tämä kello muodostaa yhteyden NTP: hen (aikapalvelin). Se näyttää ajan LED -matriisissa. - Se on hyvin yksinkertainen kello ja hyvin yksinkertainen ensimmäinen projekti.

Projekti 2: ISS Pass Prediction Display, tämä projekti käyttää suorittimen toista ydintä. Se näyttää, kuinka lähellä (kilometreinä) ISS on, milloin odottaa seuraava ISS -kulku sijainnissasi (UTC -aikaan), ja valinnaisesti kuinka monta ihmistä on avaruudessa. Koska suuri osa näistä tiedoista ei muutu usein, käytämme toista ydintä vain tarkistamaan, onko päivityksiä hyväksyttyihin ennusteisiin tai kuinka monta ihmistä on avaruudessa 15 minuutin välein. Voimme estää liikaa API -kutsuja palvelimelle tällä tavalla. Tämä projekti on hieman monimutkaisempi, mutta silti melko helppo tehdä.

Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä, kävin uudelleen projektissa, joka tehtiin ESP8266 D1 mini -levylle, ja se on 8x8 LED -matriisi - Ideana on muodostaa yhteys MQTT -välittäjään, lähettää viesti aiheeseen, jota laite on kuunnella - ja näyttää viestin. Se on melko helppoa ja erittäin yksinkertaista tehdä, kun kaikki on asennettu. MQTT -asiakasohjelmiston asentamiseen pöytätietokoneeseen on muutama vaihe. Asennuksen jälkeen MQTT on erittäin tehokas viestintäprotokolla, jota monet IoT -laitteet käyttävät viestien lähettämiseen ja vastaanottamiseen.

Projekti 4: Sääaseman näyttö - perustuu ESP8266 D1 -sääasemaan, jonka ovat valmistaneet Squix78 ja ThingPulse. Haemme tietomme Wundergroundista ja näytämme nykyiset olosuhteet ja lämpötilan Fahrenheit -asteina. Käytämme ESP32: n toista ydintä tietojen päivittämiseen 10 minuutin välein. Se on myös helppo asentaa.

BOUNS MINI -ESIMERKKEJÄ: Kirjasto (ja yllä olevat luonnokset) käyttää 8x4 -kirjasinta, kirjasto sisältää myös 5x4 -kirjasimen, jota käytin useimmissa näistä BOUNS -miniesimerkeistä. Pienellä fontilla voin huomata pari ongelmaa, joista yksi näyttää aiheuttavan ongelmia, kun käytät laitteen WIFI -yhteyttä. Tätä haluaisin tutkia enemmän, mutta minulla on ollut aikaa. Toinen ongelma on, että se ei vieri, vain suurempi fontti voi vierittää. Mikään näistä esimerkeistä ei siis käytä WIFI -yhteyttä - ne vain päivittävät näytön, ja näistä lisää myöhemmin.

Aloitetaan…..

Vaihe 2: Asenna DFRobot FireBeetle ESP32 -kortti Arduino IDE: hen

Joten, aion viitata sinut DF Robot Wikiin, joka koskee Arduino IDE -levyn ytimen asentamista.

Se on melko helppo tehdä modernilla IDE: llä (1.8.x tai parempi).

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

Huomasin, että Arduino IDE: hen rakennettu WiFi -kirjasto aiheuttaa ongelmia (PS mikä tahansa muu kirjastohakemistoosi asennettu WiFi -kirjasto saattaa aiheuttaa ongelmia tai ei). Ainoa tapa (tai ainakin helpoin tapa), jonka löysin ratkaisemaan ongelman, on poistaa WiFi -kirjasto IDE -hakemistosta. Valitettavasti ei ole hyvää tapaa kertoa, minne se on ehkä asennettu - se riippuu IDE: n asennuksesta ja käyttämästäsi käyttöjärjestelmästä.

Olen löytänyt ongelmat aiheuttavan WiFi -kirjaston ja siirtänyt hakemiston WiFi -hakemiston työpöydällesi… ja käynnistä IDE uudelleen. Näin voit säilyttää kirjaston, jos tarvitset sitä Arduino WIFI -levyille.

90% näkemistäni ongelmista on liittynyt edellä mainittuun ongelmaan. Jos saat paljon kääntämisvirheitä, jotka liittyvät WiFi: n käyttöön Arduino IDE -hakemistosta tai Arduino Library -hakemistosta, tämä on ongelma.

Toinen ongelmani on joskus, että luonnoksen lataaminen epäonnistuu - Tällöin minun on vain painettava latauspainiketta uudelleen, ja se toimii.

Ja lopuksi, jos sinulla on sarjakonsoli auki ja sulje se - FireBeetle jäätyy.

Tiedän, että DF Robot työskentelee aktiivisesti levyn ytimen parissa, ja juuri sen lyhyen ajan, jonka olen saanut levyn, he ovat julkaisseet uuden ytimen. Valitettavasti se ei ratkaissut WiFi -ongelmaa, joka on suurin ongelmani.

* Espressifillä on "yleinen" ydinhallinta, joka voidaan asentaa, ydin sisältää FireBeetle ESP32 -levyn, mutta minulla oli ongelma siitä, kuinka nastat on numeroitu. Mielenkiintoista tässä on WiFi -kirjasto toimii sisäänrakennetun WiFi -kirjaston kanssa - joten tiedän, että tähän ongelmaan on ratkaisu aivan nurkan takana.

Jos haluat kokeilla Espressif -ytimiä, saat lisätietoja täältä:

github.com/espressif/arduino-esp32

Pidän henkilökohtaisesti siitä, miten DF-Robot-ydin toimii, vaikka minulla on muutamia ongelmia.

** HUOMAUTUS: Käytän LinuxMint 18: ta, joka on Ubuntu 16.04 -pohjainen, mielestäni en ole kokeillut tätä millään muulla koneella, mutta uskon, että ongelma esiintyy kaikissa käyttöjärjestelmissä joidenkin Internet -hakujen perusteella. **

Vaihe 3: Asenna projektien yhteiset kirjastot

Asenna projekteille yhteiset kirjastot
Asenna projekteille yhteiset kirjastot

Kaikki nämä projektit käyttävät muutamia yleisiä kirjastoja, joten tämän vaiheen tekeminen on nyt helpompaa.

Kirjastosta riippuen saatat löytää sen kirjastonhallinnasta - mikä on ylivoimaisesti helpoin tapa asentaa kirjasto.

Toinen yleinen tapa on asentaa zip -tiedoston kautta, joka toimii yhtä hyvin. Mutta yleensä käytän manuaalista asennustapaa. Arduinon verkkosivustolla on hyvä opetusohjelma kolmesta menetelmästä.

www.arduino.cc/en/guide/libraries

Näille kirjastoille suosittelen manuaalista menetelmää - koska on olemassa muutamia erilaisia kirjastoja, joilla on sama nimi, saatat päätyä väärään kirjastohallinnan avulla.

Kaikki nämä projektit käyttävät WiFi Manageria, joka helpottaa yhteyden muodostamista wifi -verkkoon - päätin tehdä tämän, joten jos sinun on siirrettävä projektiasi, sinun ei tarvitse ohjelmoida levyä uudelleen. Tätä käytän ESP8266 -levyissä, ja se toimii hyvin - se ei ole täydellinen. Github -käyttäjä bbx10 on siirtänyt onnea kirjaston käyttöön ESP32: lle. (Tämän johtajan tulisi toimia myös ESP8266 -levyjen kanssa)

Tätä varten meidän on asennettava kolme kirjastoa.

WiFiManager -

Web -palvelin -

Ja lopuksi DNS -palvelin -

Myös kaikille luonnoksille on yhteinen DF Robot DFRobot_HT1632C -kirjasto LED -matriisille.

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

Kirjasto löytyy täältä (suosittelen jälleen manuaalista asennustapaa)

github.com/Chocho2017/FireBeetleLEDMatrix

Erityinen huomautus: github -arkistossani - minulla on pari hieman muokattua DFRobot_HT1632C -kirjastoa

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

Muutos koskee pienempää fonttia, ja sitä käytetään vain joihinkin bonusesimerkkeihin. Voit käyttää muokattua kirjastoa, eikä sen pitäisi aiheuttaa ongelmia. Siellä on myös hieman muokattu kirjasto (liitetty joihinkin luonnoksiin välilehdinä), joka voi tehdä bittikarttakuvia.

Jos päätät käyttää hieman muokattua versiota, sinun on nimettävä "Modified-library" -hakemisto uudelleen FireBeetleLEDMatrixiksi ja siirrettävä kansio Arduino-kirjastohakemistoosi. Sinun ei tarvitse käyttää tätä versiota näihin projekteihin, sitä tarvitaan, jos haluat kokeilla joitain pienempiä fontteja bonusesimerkeistä.

Nämä ovat yleisiä kirjastoja - asennamme jokaiseen projektiin tiettyjä kirjastoja.

Siirrytään LED -matriisiin….

Vaihe 4: 24x8 LED -matriisisuojus

24x8 LED -matriisisuojus
24x8 LED -matriisisuojus
24x8 LED -matriisisuojus
24x8 LED -matriisisuojus
24x8 LED -matriisisuojus
24x8 LED -matriisisuojus

Sillä Seuraamme yhdessä LED -matriisin DF -robotin opetusohjelman kanssa

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

Johdanto: Tämä 24 × 8 LED -matriisinäyttö on suunniteltu erityisesti FireBeetle -sarjaa varten. Se tukee virrankulutusta ja vieritysnäyttöä. Tehokkaalla HT1632C LED -ohjainsirulla jokaisella ledillä on itsenäinen rekisteri, mikä tekee siitä ajamisen helppoa. Se sisältää 256KHz RC-kellon, vain 5uA virransäästötilassa, tukee 16 asteikon PWM-kirkkauden säätöä. Tämä tuote toimii myös muiden Arduinon mikro -ohjaimien, kuten Arduino UNO, kanssa.

Erittely:

  • Käyttöjännite: 3.3 ~ 5VLED
  • Väri: Yksivärinen (valkoinen/sininen/keltainen/punainen/vihreä)
  • Aseman siru: HT1632C
  • Käyttövirta: 6 ~ 100mA
  • Alhainen virrankulutus: 5uARC
  • kello: 256KHz
  • Sirun valinta (CS): D2, D3, D4, D5 valittavissa
  • Tuki vieritysnäyttö

Oletus -PIN -koodit:

  1. DATAD6
  2. WRD7 (ei yleensä käytetty)
  3. CSD2, D3, D4, D5 valittavissa (D2 oletus)
  4. RDD8
  5. VCC 5VUSB; 3.7VLipo -akku

(Kaikki nämä projektit käyttävät D2 -valintanasta, tätä voidaan helposti muuttaa tarpeen mukaan.)

LED -matriisin takana näet 4 pientä kytkintä, muista valita vain yksi CS -nastoista. Nämä pienet kytkimet ovat tapa, jolla valitset CS -nastasi, ja oletusarvo on D2.

DF Robot WIKI -laitteessa on jonkinlainen näytekoodi, tämä koodi on myös kirjaston esimerkeissä. (Minä uskon)

Toinen huomautus: käytä Dx -numeroita nastoillesi - muuten pin -numerot ovat IO -nastan numeroita/nimiä

Ja se voi aiheuttaa sinulle joitain ongelmia.

Pisteen asettaminen:

X on 0–23 (tai jos pidät sitä laskentataulukkona, nämä ovat sarakkeita).

Y on 0–7 (tai jos pidät sitä laskentataulukkona, nämä ovat rivejä).

Kirjasto tarjoaa asetuspistetoiminnon.

display.setPoint (x, y) tämä asettaa kohdistimen kyseiseen paikkaan, jossa voit nyt tulostaa viestin.

display.print ("Hello World", 40); // tämä saa näytön näyttämään "Hello World" alkaen x, y -pisteestä ja vierittämällä pois näytöstä.

On myös setPixel (x, y) ja clrPixel (x, y) - setPixel sytyttää yhden LED -valon x, y -paikassa ja clrPixel sammuttaa LED -valon x, y -paikassa.

Tämä kirjasto voi tehdä joitain muita asioita - ja useimmat niistä sisältyvät esimerkkeihin.

(Suosittelen suorittamaan ja muokkaamaan esimerkkejä nähdäksesi, mitä se voi tehdä).

* Yksi asia, joka näyttää puuttuvan, on bittikarttojen piirtäminen - kirjasto voi itse tehdä tämän, mutta jostain syystä se on kirjaston yksityinen toiminto. Katso joitakin bonusesimerkkejäni hieman muokatusta versiosta kirjastosta

** Toinen asia, joka sisältää 5x4 -kirjasinsarjan, joka on mukava saada pienempi kirjasin - se on kommentoitu kuinka kirjastossa. En kommentoinut sitä ja saanut sen toimimaan, mutta huomasin muutamia ongelmia sen kanssa - suurin se ei vieri. Ja huomasin, että se näyttää aiheuttavan ongelmia joko wifi -yhteyden tai ehkä jonkin muun kirjaston kanssa, jota halusin käyttää.

Yksi muokkaamistani kirjastoista käyttää kuitenkin 5x4 -kirjasinta.

Siirrytään projekteihin ….

Vaihe 5: Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö

Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö
Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö
Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö
Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö
Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö
Projekti 1: Yksinkertainen LED -matriisi NTP -kello, jossa on joko armeijan aikanäyttö tai AMPM -näyttö

Projekti 1: Onko yksinkertainen LED -matriisi NTP -kello, jossa on joko sotilasajan näyttö tai AMPM -aikanäyttö, Tämä kello muodostaa yhteyden NTP: hen (aikapalvelin). Se näyttää ajan LED -matriisissa. - Se on hyvin yksinkertainen kello ja hyvin yksinkertainen ensimmäinen projekti.

Ennen kuin aloitamme tämän yksinkertaisen projektin, saattaa olla hyvä tietää, mitä NTP on -

NTP on Internet -protokolla, jota käytetään synkronoimaan tietokoneiden kellot tiettyyn aikaviitteeseen. Se on vakioprotokolla. NTP on lyhenne sanoista Network Time Protocol.

NTP käyttää UTC: tä viiteajana (UTC on Universal Time Coordinated), ja se kehittyi GMT: stä (Greenwich Mean Time), ja joissakin piireissä sitä kutsutaan Zulu Time (armeija). UTC perustuu cesiumatomin kvanttiresonanssiin.

NTP on vikasietoinen ja erittäin skaalautuva, protokolla on erittäin tarkka ja käyttää alle nanosekunnin tarkkuutta.

*

UTC -kellosta ei ole paljon hyötyä useimmille ihmisille, joten meidän on säädettävä kellomme paikalliseen aikaan. Onneksi voimme tehdä tämän melko helposti. Joten aloitetaan tällä yksinkertaisella NTP -kellolla….

Ensimmäiseksi meidän on asennettava kirjasto, joka helpottaa puhumista NTP -palvelimien kanssa.

github.com/arduino-libraries/NTPClient (tämä kirjasto on luultavasti kirjaston hallinnassa)

Ohititko vaiheen 3 - etkä ole varma kirjastojen asentamisesta (?) Palaa paremmin ja lue vaihe 3:-)

Sinun on siirryttävä tälle verkkosivustolle ja asetettava aikavyöhykkeesi lähin kaupunki.

www.epochconverter.com/timezones

Kun painat Enter -näppäintä, näet "Konversiotulokset", ja tuloksissa saat muutoksen (ero GMT/UTC) sekunneissa (minulle se on -14400)

Dfrobot_firebeetle_led_matrix_ntp_clock luonnoksessa rivillä 66 näet:

#define TIMEOFFSET -14400 // Etsi aikavyöhykkeesi pois täältä https://www.epochconverter.com/timezones OFF Aseta sekunneissa#define AMPM 1 // 1 = AM PM time, 0 = MILITARY/24 HR Time

korvaa -14400 offsetillasi. Seuraavalla rivillä näet AMPM 1 - kello näyttää ajan AM/PM - jos haluat nähdä sen 24 tunnin kuluttua, tee siitä nolla.

Lataa seuraavaksi luonnos taulullesi, muodosta yhteys tukiasemaan (wifi -hallinta) ja kirjoita wifi -tiedot. JOS olet jo tehnyt tämän, sinun pitäisi nähdä "yhdistetty" vieritä näytön poikki ja muutaman sekunnin kuluttua sinun pitäisi nähdä aika.

Se on tässä projektissa - yksinkertainen ja helppokäyttöinen ….

(Mahdolliset parannukset: Näytä kuukausi, päivä ja vuosi, aseta summeri ja hälytykset - hallitse yleensä sitä, mitä näet verkkosivun kautta. Nämä ajatukset vaatisivat suuren uudelleenkirjoituksen nykyisestä yksinkertaisesta luonnoksesta)

Valmiina toiseen yksinkertaiseen projektiin - Näytä ISS: n sijainti - Anna ennusteet ja kuinka monta ihmistä on avaruudessa! (PS tämä luonnos käyttää verkkosivua hallitakseen mitä näytetään)…..

Vaihe 6: Projekti 2: ISS Pass Prediction Display,

Projekti 2: ISS Pass Prediction Display,
Projekti 2: ISS Pass Prediction Display,
Projekti 2: ISS Pass Prediction Display,
Projekti 2: ISS Pass Prediction Display,
Projekti 2: ISS Pass Prediction Display,
Projekti 2: ISS Pass Prediction Display,

Projekti 2: ISS Pass Prediction Display, tämä projekti käyttää suorittimen toista ydintä. Se näyttää, kuinka lähellä (kilometreinä) ISS on, milloin odottaa seuraava ISS -kulku sijainnissasi (UTC -aikaan), ja valinnaisesti kuinka monta ihmistä on avaruudessa. Koska suuri osa näistä tiedoista ei muutu usein, käytämme toista ydintä vain tarkistamaan, onko päivityksiä hyväksyttyihin ennusteisiin tai kuinka monta ihmistä on avaruudessa 15 minuutin välein. Voimme estää liikaa API -kutsuja palvelimelle tällä tavalla. Tämä projekti on hieman monimutkaisempi, mutta silti melko helppo tehdä.

Tämä projekti perustuu yhteen aiemmista projekteistani, jotka löytyvät täältä:

(Yksinkertainen ISS-ilmoitusjärjestelmä) Siinä, että käytin ESP8266: ta OLED-näytöllä (D-Duino). Suurimmassa osassa tämä projekti käyttää vain eri näyttöjärjestelmää, laajensin sitä, jotta voit muuttaa mitä haluat nähdä lennossa verkkosivun kautta. Joten aloitetaan….

Suurin osa helppokäyttöisyydestä on osoitteessa https://open-notify.org, jolla on erittäin yksinkertainen ja helppokäyttöinen sovellusliittymä. Avoimen ilmoituksen sovellusliittymässä on kolme näytettävää asiaa: ISS: n sijainti leveys- ja pituusasteilla, välitysennusteet tietyn leveys- ja pituusasteen perusteella. Ja lopuksi kuinka monta ihmistä (ja heidän nimensä) on avaruudessa.

Meidän on asennettava toinen kirjasto - ArduinoJson -kirjasto.

github.com/bblanchon/ArduinoJson

Tarvitsemme myös TimeLib.h: ta, mutta en ole varma, mistä sain sen tai onko se IDE: ssä (anteeksi)….

Joten miksi ennustaa ISS: n sijaintia - ISS sisältää erilaisia amatööriradiolaitteita, ja kun se on "pään päällä", kinkkuradio -operaattori voi ottaa yhteyttä ISS: ään käyttämällä yksinkertaisia (ja halpoja) radioita. Olen jopa tehnyt sen kännykällä (ajaessani autossa). Et todellakaan tarvitse paljon tehdäksesi tämän. Ainoa mitä tarvitset on tietää missä se on. Ja antennin suuntaaminen sen yleiseen suuntaan auttaa.

Rivit 57, 58, 59 ovat joitain näyttömuuttujia - jos ne on asetettu arvoon 1, näet näytön, jos ne on asetettu arvoon 0 (nolla), et näe näyttöä. (Nämä muuttujat voidaan asettaa luonnokseen tai päivittää firebeetlen luoma verkkosivu - lisää siitä myöhemmin).

int locDis = 1; // Näytä ISSint pasDis = 0; // Display Pass Ennusteet int pplDis = 1; // Näytä ihmiset avaruudessa

joten locDis näyttää ISS: n sijainnin leveys- ja pituusasteilla - se näyttää myös kuinka monta mailia se on.

pasDis saa pass-ennusteet osoitteesta open-notify.org ja näyttää ne.

ja lopuksi pplDis näyttää nimet ja kuinka monta ihmistä on avaruudessa - tämä voi kestää hyvin kauan

vaihda usein myös. (voit muuttaa näitä tai jättää ne, se on täysin vapaaehtoista)

Meidän on myös tiedettävä leveys- ja pituusasteemme ja sisällytettävä se luonnokseen.

Sen ei tarvitse olla tarkka leveys/pituus, se voi olla kaupungin keskusta tai vain vähän. ISS: n jalanjälki on leveä, kun se on pään yläpuolella, ja satoja (tai tuhansia) kilometrejä voidaan kattaa, joten jos olet hieman poissa lattaasi/pitkältäsi, se ei ole kaupan katkaisija (suurimman osan ajasta), viestintä yli 500 mailia on melko yleistä.

Jos et tiedä leveys- ja pituusasteita, tämä sivusto voi auttaa sinua.

www.latlong.net Luonnoksen rivin 84 lähellä näet jotain tällaista:

// Löydät leveys- ja pituusasteesi täältä // https://www.latlong.net/ float mylat = 39.360095; kelluva mylon = -84,58558;

Siinä pitäisi olla kaikki, mitä on muutettava. Lataa luonnos ja liitä Firebeetle Internetiin - ja sinun pitäisi nähdä ISS: n sijainti latina/pitkä ja kuinka monta mailia se on (muista, että tämä on arvioitu etäisyys. ISS liikkuu erittäin nopeasti ja kun näyttö on valmis, ISS on siirtynyt monta kilometriä paikasta). Sinun pitäisi myös nähdä ihmiset avaruudessa. (JOS et muuttanut yllä olevaa muuttujaa).

Käytämme ESP32: n toista ydintä Web-sivuston ylläpitoon. Sivuston käyttö antaa meille mahdollisuuden valvoa LED-matriisissa näkyvää. Sen pitäisi olla melko intuitiivinen sen suhteen, miten se toimii, yksi osio näyttää, mikä on käytössä näytössä, toisessa osassa on "kyllä" "ei" -painikkeet - napsauttamalla "kyllä" tarkoittaa, että haluat nähdä sen, "ei" tarkoittaa "älä" t osoita sitä. Sinun pitäisi myös nähdä, että yläosa muuttuu painikkeiden mukaan.

Ainoa asia, joka ei ole niin leikattu ja kuiva, on kuinka löytää Firebeetlen IP -osoite - valitettavasti en voinut keksiä hyvää tapaa löytää sitä - joten käytin vain IDE: n sarjakonsolia se (9600 baudia).

Avaa konsoli ja näet IP -osoitteen. (avaa se ennen kuin saat yhdistetyn viestin) - toinen valintani oli näyttää se LED -matriisissa kerran heti käynnistyksen yhteydessä - päätin sitä vastaan, koska et ehkä katso aikaa ja menetät sen. Olin harkinnut tekstiviestin lähettämistä tai jotain, mutta lopulta pidän sen yksinkertaisena. (Yritin myös määrittää staattisen IP: n/yhdyskäytävän/jne., En saanut sitä toimimaan oikein wifi -hallinnan kanssa - koodi on edelleen luonnoksessa, joten jos joku keksii sen, ilmoita minulle)

Luonnos vie myös eteenpäin FreeRTOS -rakenteen ESP32 -ytimeen - Meillä on tehtävä, joka suoritetaan noin 15 minuutin välein. Tämä päivittää passin ennusteet ja ihmiset avaruudessa. Kuten sanoin aiemmin, ihmiset avaruudessa eivät muutu niin paljon, joten se voitaisiin todennäköisesti siirtää toiseen tehtävään ja ehkä juosta kerran 12 tunnin (tai 6 tunnin) välein - mutta tämä toimii ja pitää asiat yksinkertaisina.

Niille, jotka eivät tiedä FreeRTOS on tapa antaa yhden ytimen mikro-ohjaimen suorittaa moninkertaisia tehtäviä

Normaalisti sinun on sisällytettävä joitain kirjastoja ja muita asioita, jotta se toimisi - mutta se on rakennettu ESP32: n ytimeen - mikä tekee ESP32: sta erittäin tehokkaan laitteen. Lisätietoja FreeRTOSista

freertos.org/

PARANNUKSIA: Tässä projektissa on useita asioita, joita voidaan parantaa, ja melkein joka päivä ajattelen jotain, joka voitaisiin tehdä hieman eri tavalla, muuttaa tai lisätä.

Ja arkiston lisää esimerkkejä -hakemistossa näet joitain aikaisempia/erilaisia asioita, joita ajattelin- jotkut näistä eivät toimineet, jotkut vain muuttuneet ja toiset sisällytetty nykyiseen luonnokseen.

* Jossain vaiheessa yritin lisätä neopikselin näyttöön, jotta se olisi hieman enemmän kuin edellinen projektini - en koskaan saanut sitä toimimaan oikein (huomasin sen olevan virtaongelma, jota en ollut harkinnut) pyrkii parantamaan tätä ajatusta *

Tätä vaihetta kirjoittaessani ajattelin, että ehkä voin lisätä tavan päivittää leveys- ja pituusasteesi verkkosivustolle - niin luonnosta ei tarvitse koskaan muuttaa - ajattelen tätäkin hieman enemmän.

Parannettu tapa saada IP -osoite on jotain muuta, mitä haluaisin tehdä (mietin myös sitä)

Siirrymme seuraavaan projektiin ….

Vaihe 7: Projekti 3: yksinkertainen liikkuva viestimerkki käyttämällä MQTT: tä

Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä
Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä
Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä
Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä
Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä
Projekti 3: Yksinkertainen liikkuva viestimerkki käyttäen MQTT: tä

"loading =" laiska "" loading = "laiska"

Bonus Osa 2 - Näytä kuvat
Bonus Osa 2 - Näytä kuvat
Bonus Osa 2 - Näytä kuvat
Bonus Osa 2 - Näytä kuvat
Bonus Osa 2 - Näytä kuvat
Bonus Osa 2 - Näytä kuvat

Joten käy ilmi, että kirjasto voi näyttää kuvia - sinä jostain syystä tämä toiminto näyttää olevan "yksityinen" - no, näissä seuraavissa luonnoksissa muutin kirjastoa jälleen ja tein drawImagen julkiseksi funktioksi.

Tällä kertaa laitoin muutetun kirjaston luonnoshakemistoon, joten sinun ei tarvitse asentaa kirjastoa uudelleen, luonnos katsoo ensin itseään, sitten se näyttää kirjastohakemistosta, joten olemme hyviä!

*** Aion lähettää tämän muutoksen DFRobotille, koska on todella siistiä ja siistiä tehdä tällaisia luonnoksia ***

LED -matriisikuvien luonnos, tässä yritin ensin selvittää, mitä kirjasto halusi ja mikä toimisi ja mikä ei - vaihtelevalla menestyksellä. Huomasin, että 8x8 -kuvat toimivat parhaiten, mutta voit saada muutkin toimimaan. Löysin myös muutaman online -led -matriisieditorin, jotkut toimivat paremmin kuin toiset.

xantorohara.github.io/led-matrix-editor/-näyttää toimivan ok, tekee 8x8 kuvaa ja haluat ne tavumallina.

www.riyas.org/2013/12/online-led-matrix-fo… tämä toimii hyvin, ja sillä on mahdollisuus tehdä suurempia kuin 8x8 näyttöjä, näyttö näyttää olevan kääntynyt sivulleen tämän näytön kanssa kuitenkin. Tavut näyttävät toimivan parhaiten täällä. Käytin sitä yllä olevan videon "avaruushyökkääjien" tekemiseen.

Joten miten tämä toimii, drawImage (const tavu * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

kuvan tavut array -muuttuja, kuvan leveys (8), kuvan korkeus (8), aloituskohta näytöllä x (0), y (0) yleensä ja offset -numero, jota en ole Olen 100% varma, mitä se tekee, joten suurimman osan ajasta jätin sen nollaan.

Luonnoksessa LED -matriisikuvat - on 8 eri tavutaulukkoa - myös kolme eri menetelmää.

- ilotulitus on ensimmäinen sarja, rehellisesti sanottuna en ole varma, miten tämä toimii - mutta se toimii.

seuraavaksi on suu - tämä ei oikeastaan toimi aivan oikein, suu on väärällä tavalla yhdelle, ja yrittää tehdä muutoksia vain pahentaa sitä. (oppia mikä toimii ja mikä ei, on puolet hauskaa)

Seuraa ensimmäinen marioImg - tämä on liian suuri näytölle, ja luulen, että tässä on offset -ominaisuus - käytin sitä täällä, ja näet marion etuosan, jos muutat offsetin 1 sinulle Nähdään hänen selkänsä. (et voi oikeastaan kertoa sinulle miksi tai mitä offset tekee. Näyttää siltä, että kuva siirtää, mutta miksi 2 siirtää sitä niin, että näet hänen edessään ja miksi 1 siirtää toiseen suuntaan, en voi kertoa sinulle)

KUVAT - tavutaulukko on @ -merkki, jonka tein - näyttää siltä, mitä tein työkalulla osoitteessa

pic1 tavutaulukko näyttää myös siltä, mitä yritin tehdä, mutta se on pienempi kuin yritin - mitä se on, en voi sanoa, mutta voin sanoa yleensä, että näyttää siltä, mitä tein editorissa.

mario2Img - tämä on oma versioni suuremmasta Mariosta, joka on tehty 8x8 ruudun koolle - ja sinä olet siellä yhden tai kaksi pikseliä paikallaan (minun vikani, ei näytöt), se näyttää pieneltä Mario (sorta).

hyökkääjä1 ja hyökkääjä2 - molemmat ajatukseni avaruushyökkääjästä. niistä tuli aika hyviä, ja asettamalla kuvat päällekkäin pystyn luomaan jalkojen liikkumisen vaikutuksen.

Hakemistossa on kaksi ilotulitusluonnosta, joista jokainen on hieman erilainen ja kannattaa kokeilla.

Toisessa ilotulitus liikkuu ruudun poikki, joten hieman enemmän/erilaista animaatiota… toisessa on kaksi ilotulitusta samanaikaisesti

Siellä on myös kolme "hyökkääjän" luonnosta, joista jokainen on hieman erilainen, yhdessä hyökkääjä liikkuu näytön poikki, ja voit katsoa, miten tein sen - (ehkä parempia tapoja tehdä se, en tiedä)

Vielä enemmän: arkiston testaushakemistossa on joitain luonnoksia - useimmat näistä eivät toimineet aivan kuten halusin, tai ne olivat ideoita, jotka haluan tehdä, mutta eivät toimineet niin kuin halusin. Olen jättänyt ne, koska joku saa ideoita *(tein pienen "kilven", jossa oli WS2812 -pikseli ISS -näytön kanssa käytettäväksi, mutta liitin sen 3v -linjaan, mutta se ei vain riittänyt virtaa myös LED -matriisin ollessa käynnissä, pikseli toimi hyvin ilman LED -matriisia, joten voin silti tehdä jotain sen kanssa)*

On myös hakemisto nimeltä "Lisää esimerkkejä" - nämä ovat muunnelmia joistakin projektiluonnoksista, joko lisäsin tai poistin jotain tai muutin jollakin tavalla. Näille ne toimivat - ne eivät vain ole lopullinen projekti. Joten jätin heidät jälleen, joku saattaisi saada niistä jotain hyödyllistä. (Voi olla)

Toivottavasti pidit tästä opettavaisesta yhtä paljon kuin minä nautin näiden projektien tekemisestä:-)

Vaihe 11: Vinkit…

Tätä projektia sponsoroi ja tuki DF Robot. Käytä alla olevia linkkejä tuotteille:

Firebeetle ESP32 -

Firebeetle Cover 24x8 LED Matrix -

Oma koodivarasto:

Jos pidät tätä tai jotakin projektistani hyödyllisenä tai nautittavana, tue minua. Kaikki mitä saan, menee ostamaan lisää osia ja tekemään enemmän/parempia projekteja.

www.patreon.com/kd8bxp

NTPClient-kirjasto

ArduinoJson.h

ESP8266 Sääkirjasto

Json-Streaming-Parser-kirjasto

Suositeltava: