Satura rādītājs:

4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: 11 soļi (ar attēliem)
4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: 11 soļi (ar attēliem)

Video: 4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: 11 soļi (ar attēliem)

Video: 4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: 11 soļi (ar attēliem)
Video: Рюриковичи. 1-4 Серии. Документальная Драма. Star Media 2024, Jūlijs
Anonim
Image
Image
Instalējiet kopējās bibliotēkas projektiem
Instalējiet kopējās bibliotēkas projektiem

Es domāju par to, kā katram no šiem projektiem veikt pamācību - bet galu galā es nolēmu, ka patiešām lielākā atšķirība ir katra projekta programmatūra, manuprāt, labāk bija izveidot tikai vienu lielu pamācību!

Aparatūra katram projektam ir vienāda, un ESP32 ierīces programmēšanai mēs izmantojam Arduino IDE.

Tātad, kas ir aparatūra: visu aparatūru nodrošināja mani draugi DFRobot, viņiem ir ļoti labas apmācības un tam ir viegli uzstādīt galvenās plates. Ir arī laba atbalsta sistēma un diezgan ātra piegāde uz ASV

Pilnu Firebeetle ESP32 plates un LED matricas atklāšanu nodrošināja DF Robot, prezentētie projekti un videoklipi ir manis.

Visos šajos projektos tiek izmantots DFRobot FireBeetle ESP32 IOT mikrokontrolleris

www.dfrobot.com/product-1590.html

Atbalsta wiki - ar plates pamatinstalācijas instrukcijām var atrast šeit:

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

Mums ir nepieciešami arī FireBeetle vāki 24x8 LED matrica (ZILA)

www.dfrobot.com/product-1595.html

Nepatīk zilās gaismas diodes - tām ir arī dažādas krāsas.

ZAĻA -

SARKANS -

BALTS -

DZELTENS -

Jums ir nepieciešama tikai viena LED matrica - krāsa ir jūsu izvēle, tie visi darbojas vienādi.

LED Matrix atbalsta wiki var atrast šeit:

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

Šeit mēs atrodam saiti uz Arduino bibliotēku.

github.com/Chocho2017/FireBeetleLEDMatrix

Vairāk par šiem nedaudz vēlāk….

Neobligāts, bet, iespējams, ērts ir MicroUSB 3xAA akumulatora turētājs.

www.dfrobot.com/product-1130.html

Tā ir nepieciešamā aparatūra - kādi ir 4 projekti -

1. solis: projekti

Image
Image

1. projekts: ir vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM laika displeju, Šis pulkstenis izveidos savienojumu ar NTP (laika serveri), paņemiet laiku un lietojiet izslēgtu komplektu, lai iegūtu vietējo laiku. Tas parādīs laiku uz LED matricas. - Tas ir ļoti vienkāršs pulkstenis un ļoti vienkāršs 1. projekts.

2. projekts: ISS Pass Prediction Display, šis projekts izmanto procesora 2. kodolu. Tajā tiks parādīts, cik tuvu (jūdzēs) atrodas ISS, kad gaidāma nākamā ISS pāreja jūsu atrašanās vietā (pēc UTC laika) un pēc izvēles, cik cilvēku ir kosmosā. Tā kā liela daļa šīs informācijas nemainās bieži, mēs izmantojam otro kodolu, lai tikai pārbaudītu, vai nav pieejami atjauninājumi par piekļuves prognozēm vai to, cik daudz cilvēku atrodas kosmosā ik pēc 15 minūtēm. Šādā veidā mēs varam novērst pārāk daudz API zvanu serverim. Šis projekts ir nedaudz sarežģītāks, bet tomēr diezgan viegli izdarāms.

Projekts 3: Vienkārša kustīga ziņojuma zīme, izmantojot MQTT, es vēlreiz pārskatīju projektu, kas tika izstrādāts ESP8266 D1 mini plāksnei, un tā ir 8x8 LED matrica - Ideja ir izveidot savienojumu ar MQTT brokeri, nosūtīt ziņojumu par tēmu, kas ir ierīce klausoties - un parādīt šo ziņojumu. Tas ir diezgan viegli un ļoti vienkārši izdarāms, kad viss ir iestatīts. Un ir daži soļi, lai iestatītu MQTT klienta programmatūru galddatorā. Pēc iestatīšanas MQTT ir ļoti spēcīgs ziņojumapmaiņas protokols, ko daudzas IoT ierīces izmanto ziņojumu sūtīšanai un saņemšanai.

Projekts 4: Meteoroloģiskās stacijas displejs - balstīts uz ESP8266 D1 mini laika staciju, ko izgatavoja Squix78 un ThingPulse. Mēs iegūstam savus datus no Wunderground un parādām pašreizējos apstākļus un temperatūru Fārenheita grādos. Mēs izmantojam ESP32 otro kodolu, lai atjauninātu savus datus ik pēc 10 minūtēm. To ir arī viegli uzstādīt.

BOUNS MINI PIEMĒRI: Bibliotēkā (un skicēs iepriekš) tiek izmantots 8x4 fonts, bibliotēkā ir arī 5x4 fonts, ko es izmantoju lielākajā daļā šo BOUNS mini piemēru. Ir dažas problēmas, kuras es varu atzīmēt ar mazo fontu, viena, šķiet, rada problēmas, lietojot ierīces WIFI. Šo es vēlos izpētīt vairāk, bet man ir bijis laiks. Otra problēma ir tā, ka tā neritina, var ritināt tikai lielāks fonts. Tātad neviens no šiem piemēriem neizmanto WIFI - tie vienkārši atjaunina displeju, un vairāk par tiem būs vēlāk.

Sāksim…..

2. darbība: instalējiet DFRobot FireBeetle ESP32 plāksni Arduino IDE

Tātad, es jūs novirzīšu uz DF Robot Wiki par Arduino IDE plates kodola uzstādīšanu.

To ir diezgan viegli izdarīt ar mūsdienu IDE (1.8.x vai labāku).

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

Es atklāju, ka Arduino IDE iebūvētā WiFi bibliotēka rada problēmas (PS jebkura cita WiFi bibliotēka, kas, iespējams, ir instalēta jūsu bibliotēkas direktorijā, var radīt problēmas vai ne). Vienīgais veids (vai vismaz vienkāršākais veids), ko es atklāju, lai atrisinātu šo problēmu, ir noņemt WiFi bibliotēku no IDE direktorija. Diemžēl nav labs veids, kā pateikt, kur tā ir instalēta - tas ir atkarīgs no tā, kā IDE ir instalēts, un no izmantotās OS.

Es esmu atradis WiFi bibliotēku, kas rada problēmas, un vienkārši pārvietojiet direktoriju WiFi direktoriju uz darbvirsmu … un restartējiet IDE. Tādā veidā jūs varat saglabāt bibliotēku, ja jums tas ir nepieciešams Arduino WIFI dēļiem.

90% problēmu, ko esmu redzējis, ir saistītas ar iepriekš minēto problēmu. Ja rodas daudz kompilēšanas kļūdu, kas saistītas ar WiFi izmantošanu no Arduino IDE direktorija vai Arduino bibliotēkas direktorija, šī ir jūsu problēma.

Mana otrā problēma ir tā, ka dažkārt skices augšupielāde neizdodas - tādā gadījumā man vienkārši vēlreiz jānospiež augšupielādes poga, un tā darbojas.

Visbeidzot, ja seriālā konsole ir atvērta un pēc tam aizvērta - FireBeetle sasalst.

Es zinu, ka DF Robot aktīvi strādā pie tāfeles kodola, un tikai īsā laikā, kad esmu saņēmis tāfeles, viņi ir izlaiduši jaunu kodolu. Diemžēl tas neatrisināja WiFi problēmu, kas ir mana lielākā problēma.

* Espressif ir “vispārējs” pamata pārvaldnieks, kuru var instalēt, kodolā ir iekļauta FireBeetle ESP32 tāfele, taču man bija problēma ar to, kā tapiņas ir numurētas. Šeit interesanti ir tas, ka WiFi bibliotēka darbojas ar iebūvēto WiFi bibliotēku - tāpēc es zinu, ka tepat ap stūri ir risinājums šai problēmai.

Ja vēlaties izmēģināt Espressif serdeņus, varat uzzināt vairāk informācijas šeit:

github.com/espressif/arduino-esp32

Man personīgi patīk, kā darbojas DF-Robot kodols, pat ņemot vērā dažas manas problēmas.

** PIEZĪME. Es domāju, ka es izmantoju LinuxMint 18, kas ir balstīta uz Ubuntu 16.04. Es domāju, ka neesmu to izmēģinājis nevienā citā mašīnā, taču uzskatu, ka šī problēma pastāv visās operētājsistēmās, pamatojoties uz dažiem interneta meklējumiem. **

3. darbība: instalējiet kopējās bibliotēkas projektiem

Instalējiet kopējās bibliotēkas projektiem
Instalējiet kopējās bibliotēkas projektiem

Visos šajos projektos tiek izmantotas dažas kopīgas bibliotēkas, tāpēc tagad ir vieglāk veikt šo darbību.

Atkarībā no bibliotēkas to var atrast bibliotēkas pārvaldniekā - tas ir vienkāršākais veids, kā instalēt bibliotēku.

Vēl viens izplatīts veids ir instalēt, izmantojot zip failu, kas darbojas vienlīdz labi. Bet parasti es izmantoju manuālo instalēšanas metodi. Arduino vietnē ir laba apmācība par trim metodēm.

www.arduino.cc/en/guide/libraries

Šīm bibliotēkām es ieteiktu manuālo metodi - tā kā ir dažas dažādas bibliotēkas ar tādu pašu nosaukumu, izmantojot bibliotēkas pārvaldnieku, jūs varat iegūt nepareizu bibliotēku.

Visos šajos projektos tiek izmantots WiFi pārvaldnieks, lai būtu ērti izveidot savienojumu ar jūsu wifi - es nolēmu to darīt, tādēļ, ja jums ir jāpārvieto projekts, jums nav jāpārprogrammē tāfele. Es to izmantoju ESP8266 dēļiem, un tas darbojas labi - tas nav ideāls. Veiksmi izmantot bibliotēku ir pārnesis uz ESP32 github lietotājs bbx10. (Šim pārvaldniekam vajadzētu strādāt arī ar ESP8266 dēļiem)

Šim darbam mums ir jāinstalē trīs bibliotēkas.

WiFiManager -

Web serveris -

Un visbeidzot DNS serveris -

Visām skicēm ir kopīga arī LED matricas bibliotēka DF Robot DFRobot_HT1632C.

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

Bibliotēku var atrast šeit (atkal es ieteiktu manuālo instalēšanas metodi)

github.com/Chocho2017/FireBeetleLEDMatrix

Īpaša piezīme: manā github krātuvē - man ir pāris nedaudz pārveidotas DFRobot_HT1632C bibliotēkas

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

Modifikācija ir paredzēta mazākam fontam un tiek izmantota tikai dažiem bonusa piemēriem. Jūs varat izmantot modificēto bibliotēku, un tai nevajadzētu radīt nekādas problēmas. Ir arī nedaudz modificēta bibliotēka (pievienota dažām skicēm kā cilnes), kas var izveidot bitkartes attēlus.

Ja izvēlaties izmantot nedaudz modificēto versiju, jums ir jāpārdēvē direktorijs "modificētā bibliotēka" uz FireBeetleLEDMatrix un jāpārvieto šī mape savā Arduino bibliotēkas direktorijā. Jums nav jāizmanto šī versija šiem projektiem, tā ir nepieciešama, ja vēlaties izmēģināt dažus mazākos fontus no bonusa piemēriem.

Tās ir kopējās bibliotēkas - mēs katram projektam uzstādīsim dažas specifiskas bibliotēkas.

Pāriesim pie LED matricas …

4. solis: 24x8 LED matricas vāks

24x8 LED matricas vāks
24x8 LED matricas vāks
24x8 LED matricas vāks
24x8 LED matricas vāks
24x8 LED matricas vāks
24x8 LED matricas vāks

Mēs sekojam līdzi DF robotu apmācībai LED matricai

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

Ievads: Šis 24 × 8 LED matricas displejs ir īpaši izstrādāts FireBeetle sērijai. Tas atbalsta mazjaudas patēriņa režīmu un ritināmu displeju. Izmantojot HT1632C augstas veiktspējas LED draivera mikroshēmu, katram LED ir neatkarīgs reģistrs, kas atvieglo braukšanu atsevišķi. Tas integrē 256KHz RC pulksteni, tikai 5uA zemas jaudas režīmā, atbalsta 16 mēroga PWM spilgtuma regulēšanu. Šis produkts darbojas arī ar citu Arduino mikrokontrolleri, piemēram, Arduino UNO.

Specifikācija:

  • Darba spriegums: 3.3 ~ 5VLED
  • Krāsa: viena krāsa (balta/zila/dzeltena/sarkana/zaļa)
  • Diska mikroshēma: HT1632C
  • Darba strāva: 6 ~ 100mA
  • Mazjaudas patēriņš: 5uARC
  • pulkstenis: 256KHz
  • Chip Select (CS): D2, D3, D4, D5 atlasāms
  • Atbalsta ritināšanas displeju

Noklusējuma PIN:

  1. DATAD6
  2. WRD7 (parasti netiek izmantots)
  3. CSD2, D3, D4, D5 var izvēlēties (D2 noklusējums)
  4. RDD8
  5. VCC 5VUSB; 3.7VLipo akumulators

(Visos šajos projektos atlases tapai tiek izmantots D2, pēc vajadzības to var viegli mainīt.)

LED matricas aizmugurē redzēsit 4 mazus slēdžus; noteikti izvēlieties tikai vienu no CS tapām. Šie mazie slēdži ir veids, kā atlasīt savu CS tapu, un noklusējums ir D2.

DF Robot WIKI ir kāds koda paraugs, šis kods ir arī bibliotēkas piemēros. (ES ticu)

Vēl viena piezīme: izmantojiet tapām Dx numurus - pretējā gadījumā pin numuri būs IO tapu numuri/nosaukumi

Un tas var radīt jums dažas problēmas.

Punkta iestatīšana:

X ir no 0 līdz 23 (vai, ja jūs domājat par to kā izklājlapu, tās ir slejas).

Y ir no 0 līdz 7 (vai, ja domājat par to kā izklājlapu, tās ir rindas).

Bibliotēka nodrošina iestatītās vērtības funkciju.

display.setPoint (x, y) kursors tiks iestatīts uz šo vietu, kur tagad varat izdrukāt ziņojumu.

display.print ("Sveika pasaule", 40); // tas novedīs pie tā, ka displejā tiks parādīts "Hello World", sākot ar x, y punktu un ritinot no ekrāna.

Ir arī setPixel (x, y) un clrPixel (x, y) - setPixel ieslēgs vienu gaismas diodi x, y vietā, un clrPixel izslēgs LED x, y vietā.

Ir dažas citas lietas, ko šī bibliotēka var darīt - un lielākā daļa ir iekļautas piemēros.

(Es ieteiktu palaist un modificēt piemērus, lai redzētu, ko tā var darīt).

* Viena lieta, kuras, šķiet, trūkst, ir zīmēt bitkartes - bibliotēka to faktiski var izdarīt, bet nez kāpēc tā ir bibliotēkas privāta funkcija. Skatiet dažus no maniem bonusa piemēriem, lai iegūtu nedaudz pārveidotu bibliotēkas versiju

** Vēl viena lieta, kas ietver 5x4 fontu komplektu, kas ir jauki, ja ir mazāks fonts - tas tiek komentēts bibliotēkā. Es to nekomentēju un strādāju, bet pamanīju dažas problēmas ar to - lielāko, kas neritina. Un es pamanīju, ka šķiet, ka tas rada problēmas vai nu ar wifi, vai varbūt citu bibliotēku, kuru vēlējos izmantot.

Tomēr vienā no modificētajām bibliotēkām tiek izmantots 5x4 fonts.

Pāriesim pie projektiem ….

5. darbība: 1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju

1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju
1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju
1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju
1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju
1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju
1. projekts: vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM displeju

1. projekts: ir vienkāršs LED matricas NTP pulkstenis ar militārā laika displeju vai AMPM laika displeju, Šis pulkstenis izveidos savienojumu ar NTP (laika serveri), paņemiet laiku un lietojiet izslēgtu komplektu, lai iegūtu vietējo laiku. Tas parādīs laiku uz LED matricas. - Tas ir ļoti vienkāršs pulkstenis un ļoti vienkāršs 1. projekts.

Pirms sākt šo vienkāršo projektu, var būt laba ideja uzzināt, kas ir NTP -

NTP ir interneta protokols, ko izmanto, lai sinhronizētu datoru pulksteņus ar noteiktu laika atskaiti. Tas ir standarta protokols. NTP apzīmē tīkla laika protokolu.

NTP izmanto UTC kā atskaites laiku (UTC ir universālā laika koordinētais laiks), tas ir izveidojies no GMT (Griničas vidējais laiks), un dažās aprindās to sauc par Zulu laiku (militārais laiks). UTC pamatā ir cēzija atoma kvantu rezonanse.

NTP ir izturīgs pret kļūdām un ir ļoti mērogojams, protokols ir ļoti precīzs, izmantojot mazāk nekā nanosekundes izšķirtspēju.

*

Lielākajai daļai cilvēku UTC pulkstenis nav īpaši noderīgs, tāpēc mums ir jāpielāgo pulkstenis atbilstoši vietējam laikam. Par laimi mēs to varam izdarīt diezgan viegli. Tātad, sāksim darbu ar šo vienkāršo NTP pulksteni….

Pirmkārt, mums ir jāinstalē bibliotēka, kas atvieglo sarunu ar NTP serveriem.

github.com/arduino-libraries/NTPClient (šī bibliotēka, iespējams, atrodas bibliotēkas pārvaldniekā)

Vai izlaidāt 3. darbību un neesat pārliecināts, kā instalēt bibliotēkas (?) Labāk atgriezieties un izlasiet 3. darbību:-)

Jums jāapmeklē šī vietne un jāievieto jūsu laika joslā esošā pilsēta, kas jums ir vistuvākā.

www.epochconverter.com/timezones

Nospiežot ievadīšanas taustiņu, jūs redzēsit “Reklāmguvumu rezultāti”, un rezultātos jūs saņemsiet kompensāciju (atšķirība no GMT/UTC) sekundēs (man tas ir -14400)

66. rindas skicē dfrobot_firebeetle_led_matrix_ntp_clock redzēsit:

#define TIMEOFFSET -14400 // Atrodiet savu laika joslu izslēgtu šeit

nomainiet -14400 ar savu nobīdi. Nākamajā rindā redzēsit AMPM 1 - pulkstenis rādīs laiku AM/PM - ja vēlaties to redzēt 24 stundu laikā, padariet to par nulli.

Pēc tam augšupielādējiet skici savā dēlī, izveidojiet savienojumu ar piekļuves punktu (wifi pārvaldnieku) un ievadiet sava wifi informāciju. JA esat to jau izdarījis, ekrānā vajadzētu redzēt ritināšanu “savienots”, un dažas sekundes vēlāk vajadzētu redzēt laiku.

Tas ir viss šim projektam - vienkāršs un viegli lietojams ….

(Iespējamie uzlabojumi: parādiet mēnesi, dienu un gadu, iestatiet skaņas signālu un trauksmes signālus - parasti kontrolējiet to, ko redzat, izmantojot tīmekļa lapu. Šī ideja prasītu lielu pašreizējās vienkāršās skices pārrakstīšanu)

Gatavs citam vienkāršam projektam - parādīt, kur atrodas ISS - nodot prognozes un to, cik cilvēku ir kosmosā! (PS šajā skicē tiek izmantota tīmekļa lapa, lai kontrolētu parādīto)…..

6. darbība: 2. projekts: ISS Pass prognozēšanas displejs,

2. projekts: ISS Pass prognozēšanas displejs,
2. projekts: ISS Pass prognozēšanas displejs,
2. projekts: ISS Pass prognozēšanas displejs,
2. projekts: ISS Pass prognozēšanas displejs,
2. projekts: ISS Pass prognozēšanas displejs,
2. projekts: ISS Pass prognozēšanas displejs,

2. projekts: ISS Pass Prediction Display, šis projekts izmanto procesora 2. kodolu. Tas parādīs, cik tuvu (jūdzēs) atrodas ISS, kad gaidāma nākamā ISS pāreja jūsu atrašanās vietā (pēc UTC laika), un pēc izvēles, cik cilvēku ir kosmosā. Tā kā liela daļa šīs informācijas nemainās bieži, mēs izmantojam otro kodolu, lai tikai pārbaudītu, vai nav atjaunināti caurlaides prognozes vai cik cilvēku ir kosmosā ik pēc 15 minūtēm. Šādā veidā mēs varam novērst pārāk daudz API zvanu serverim. Šis projekts ir nedaudz sarežģītāks, bet tomēr diezgan viegli izdarāms.

Šis projekts ir balstīts uz vienu no maniem iepriekšējiem projektiem, ko var atrast šeit:

(Vienkārša ISS paziņojumu sistēma) Es izmantoju ESP8266 ar iebūvētu OLED ekrānu (D-Duino). Lielākoties šis projekts izmanto tikai citu displeja sistēmu, es to paplašināju, lai jūs varētu mainīt to, ko vēlaties redzēt, izmantojot tīmekļa lapu. Tātad, sāksim….

Lielākā daļa nopelnu par ērtu lietošanu tiek piešķirta vietnei https://open-notify.org, kurai ir ļoti vienkārša un viegli lietojama API. Atvērtā paziņojuma API ir trīs lietas, kuras var parādīt, ISS atrašanās vieta platuma un garuma grādos, prognozes, kas balstītas uz noteiktu platumu un garumu. Un visbeidzot, cik daudz cilvēku (un viņu vārdi) ir kosmosā.

Mums būs jāinstalē cita bibliotēka - ArduinoJson bibliotēka.

github.com/bblanchon/ArduinoJson

Mums ir vajadzīgs arī TimeLib.h, bet es neesmu pārliecināts, no kurienes es to ieguvu vai vai tas ir iekļauts IDE (atvainojiet)….

Tātad, kāpēc paredzēt, kur atradīsies ISS - ISS ir dažādas radioamatieru iekārtas, un, kad tas atrodas virs galvas, šķiņķa radio operators var sazināties ar ISS, izmantojot ļoti vienkāršus (un lētus) radioaparātus. Es to esmu darījis pat pārvietojoties (braucot automašīnā). Jums tiešām nevajag daudz, lai šis darbs izdotos. Viena lieta, kas jums nepieciešama, ir zināt, kur tā atrodas. Un palīdz virzīt antenu tās vispārējā virzienā.

57., 58., 59. rindā ir daži displeja mainīgie - ja tie ir iestatīti uz 1, jūs redzēsit displeju, ja tie ir iestatīti uz 0 (nulle), jūs neredzēsit displeju. (Šos mainīgos var iestatīt skicē vai atjaunināt no tīmekļa lapas, kuru izveido ugunsdzēsējs - vairāk par to vēlāk).

int locDis = 1; // Parādīt ISSint pasDis = 0 atrašanās vietu; // Displeja caurlaides prognozes int pplDis = 1; // Parādīt cilvēkus kosmosā

tāpēc locDis parādīs ISS atrašanās vietu platuma un garuma grādos - tas arī parāda, cik daudz jūdžu tas atrodas.

pasDis saņems prognozes no vietnes open-notify.org un parādīs tās.

un, visbeidzot, pplDis parādīs vārdus un to, cik cilvēku atrodas kosmosā - tas var aizņemt ļoti ilgu laiku

arī bieži mainās. (jūs varat tos mainīt vai atstāt, tas ir pilnīgi neobligāti)

Mums arī jāzina mūsu platums un garums un tas jāiekļauj skicē.

Tam nav jābūt precīzam latam/garam, tas var būt jūsu pilsētas centrs vai tikai nedaudz. ISS pēdas nospiedums ir plašs, kamēr tas atrodas virs galvas, un var tikt nobrauktas simtiem (vai tūkstošiem) jūdžu, tāpēc, ja nedaudz atpaliekat no sava lata/garuma, tas nebūs darījuma pārtraukums (lielāko daļu laika), komunikācija vairāk nekā 500 jūdzes ir diezgan izplatīta.

Ja jūs nezināt savu platumu un garumu, šī vietne var jums palīdzēt.

www.latlong.net Netālu no skices 84. līnijas redzēsit kaut ko līdzīgu:

// Atrodiet savu platumu un garumu šeit // https://www.latlong.net/ float mylat = 39.360095; pludiņš mylon = -84,58558;

Tam vajadzētu būt vienīgajam, kas jāmaina. Augšupielādējiet skici un pievienojiet Firebeetle internetam, un jums vajadzētu redzēt, kāda ISS atrašanās vieta ir norādīta latos/garos un cik daudz jūdžu tā atrodas (atcerieties, ka tas būs aptuvens attālums. ISS pārvietojas ļoti ātri un līdz brīdim, kad displejs ir pabeigts, ISS ir pārvietojies daudzas jūdzes no vietas, kur tas bija). Jums vajadzētu redzēt arī cilvēkus kosmosā. (JA jūs nemainījāt iepriekš minēto mainīgo).

Mēs izmantojam ESP32 otro kodolu, lai palaistu vietni, izmantojot vietni, mēs varam kontrolēt to, kas tiek parādīts LED matricā. Tam vajadzētu būt diezgan intuitīvam, kā tas darbojas, viena sadaļa parāda, kas ir ieslēgts displejam, citā sadaļā ir pogas "jā" un "nē" - noklikšķinot uz "jā", jūs vēlaties to redzēt, "nē" nozīmē nedarīt to nerādīt. Jums vajadzētu arī redzēt, ka augšējā sadaļa mainās atkarībā no pogām.

Vienīgais, kas šeit nav tik sagriezts un sauss, ir tas, kā atrast Firebeetle IP adresi - diemžēl es nevarēju izdomāt labu veidu, kā to atrast - tāpēc es vienkārši izmantoju IDE sērijas konsoli tas (9600 baudi).

Atveriet konsoli, un jums vajadzētu redzēt IP adresi. (atveriet to, pirms saņemat pievienoto ziņojumu) - mana otra izvēle bija to parādīt uz LED matricas uzreiz pēc palaišanas - es nolēmu pret to, jo jūs, iespējams, neskatāties uz laiku un jūs to palaidīsit garām. Es biju apsvēris iespēju nosūtīt īsziņu vai kaut ko, bet galu galā es to vienkārši saku. (Es arī mēģināju piešķirt statisku IP/vārteju/utt., Man neizdevās pareizi strādāt ar wifi pārvaldnieku - kods joprojām ir skicē, tādēļ, ja kāds to izdomā, informējiet mani)

Skice arī ņem vērā FreeRTOS iebūvēšanu ESP32 kodolā - mums ir uzdevums, kas tiek veikts apmēram ik pēc 15 minūtēm, un tas atjaunina caurlaides prognozes, kā arī cilvēkus kosmosā. Kā jau teicu iepriekš, cilvēki kosmosā nemainās tik daudz, tāpēc to, iespējams, varētu pārvietot uz citu uzdevumu un varbūt palaist reizi 12 stundās (vai 6 stundās) - bet tas darbojas, un tas padara lietas vienkāršas.

Tiem, kas nezina, FreeRTOS ir veids, kā ļaut viena kodola mikrokontrolleram veikt reizināšanas uzdevumus

Parasti jums ir jāiekļauj dažas bibliotēkas un citas lietas, lai tas darbotos - tomēr tas ir iebūvēts ESP32 kodolā -, kas padara ESP32 par ļoti spēcīgu ierīci. lai iegūtu vairāk informācijas par FreeRTOS

freertos.org/

UZLABOJUMI: šim projektam ir vairākas lietas, ko var uzlabot, un gandrīz katru dienu es domāju par kaut ko tādu, ko varētu darīt nedaudz savādāk, mainīt vai pievienot.

Un krātuves vairāk piemēru direktorijā varat redzēt dažas no iepriekšējām/atšķirīgajām lietām, par kurām es domāju- dažas no tām nedarbojās, dažas vienkārši mainījās, un dažas bija iekļautas pašreizējā skicē.

* Kādā brīdī es mēģināju displejam pievienot neopikseli, lai tas nedaudz vairāk līdzinātos manam iepriekšējam projektam - es nekad neesmu panācis, lai tas darbotos pareizi (es atklāju, ka tā ir jaudas problēma, par kuru nebiju aizdomājusies) strādājam pie tā, lai uzlabotu šo ideju *

Rakstot šo soli, es domāju, varbūt es varu pievienot vietnei veidu, kā atjaunināt jūsu platuma un garuma grādus - tādā veidā skice nekad nebūtu jāmaina - es arī par šo mazliet padomāšu.

Uzlabots veids, kā iegūt IP adresi, ir kaut kas cits, ko es vēlētos darīt (joprojām domāju par to arī)

Pāriesim pie nākamā projekta ….

7. darbība: 3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT

3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT
3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT
3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT
3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT
3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT
3. projekts: vienkārša kustīga ziņojuma zīme, izmantojot MQTT

"loading =" slinks "" loading = "slinks"

Bonusa 2. daļa - parādīt attēlus
Bonusa 2. daļa - parādīt attēlus
Bonusa 2. daļa - parādīt attēlus
Bonusa 2. daļa - parādīt attēlus
Bonusa 2. daļa - parādīt attēlus
Bonusa 2. daļa - parādīt attēlus

Tātad izrādās, ka bibliotēka var parādīt attēlus - jūs kaut kādu iemeslu dēļ šķiet, ka šī funkcija ir “privāta” - labi, šīm nākamajām skicēm es vēlreiz modificēju bibliotēku un padarīju zīmējumu Draw par publisku funkciju.

Šoreiz es ievietoju modificēto bibliotēku skiču direktorijā, tāpēc jums nav jāpārinstalē bibliotēka, skice vispirms aplūko sevi, tad tā izskatīsies bibliotēkas direktorijā, tāpēc mēs esam labi!

*** Es plānoju iesniegt šīs izmaiņas DFRobot, jo tas ir patiešām ļoti forši un kaut kā glīti, lai varētu veikt šāda veida skices ***

LED matricas attēlu skice, šeit es vispirms mēģināju izdomāt, ko bibliotēka vēlas, un kas derētu un kas nedarbotos - ar dažādiem panākumiem. Es atklāju, ka 8x8 attēli darbojas vislabāk, taču jūs varat likt citiem darboties. Es atradu arī dažus tiešsaistes led matricas redaktorus, daži darbojas labāk nekā citi.

xantorohara.github.io/led-matrix-editor/-šķiet, darbojas labi, izveido 8x8 attēlus, un jūs vēlaties tos kā baitu masīvus.

www.riyas.org/2013/12/online-led-matrix-fo… šis darbojas labi, un tam ir iespēja izveidot lielākus par 8x8 displejiem, šķiet, ka displejs ir ieslēgts tā pusē, tomēr. Baitu masīvi šeit vislabāk darbojas. Es to izmantoju, lai izveidotu "kosmosa iebrucējus", kas redzami iepriekš redzamajā videoklipā.

Tātad, kā tas darbojas, drawImage (const baits * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

attēla baitu masīva mainīgais, attēla platums (8), attēla augstums (8), sākuma pozīcija ekrānā x (0), y (0) parasti un nobīdes skaitlis, ko es neesmu 100% pārliecināts, ko tas dara, tāpēc lielāko daļu laika es to atstāju uz nulles.

Skices LED matricas attēlos - ir 8 dažādi baitu masīvi - arī trīs dažādas metodes.

- uguņošana ir pirmie masīvi, godīgi sakot, es neesmu pārliecināts, kā šis darbojas, bet tas darbojas.

Tālāk ir mute - tas īsti nedarbojas pareizi, mute liek nepareizu ceļu vienam, un, mēģinot veikt jebkādas izmaiņas, tas tikai pasliktinās. (uzzināt, kas darbojas un kas ne, ir puse jautrības)

Seko pirmais marioImg - tas ir pārāk liels displejam, un es domāju, ka šeit sāk darboties izslēgtais komplekts - es to izmantoju šeit, un jūs varat redzēt mario priekšpusi, ja maināt nobīdi uz 1 jūs” Redzēšu viņa aizmuguri. (Tu īsti nevaru pateikt, kāpēc vai ko dara nobīde. Šķiet, ka tiek mainīts attēls, bet kāpēc 2 to maina, lai jūs varētu redzēt viņa priekšpusi un kāpēc 1 maina otru virzienu, ko es jums nevaru pateikt)

ATTĒLI - baitu masīvs ir @ zīme, ko es izveidoju - izskatās, ka es izveidoju, izmantojot rīku vietnē

pic1 baitu masīvs arī izskatās kā tas, ko es mēģināju izveidot, tikai tas ir mazāks nekā es mēģināju - to, kas tas ir, es nevaru pateikt, bet kopumā varu teikt, ka izskatās, kā es darīju redaktorā.

mario2Img - šī ir mana lielākā Mario versija, kas paredzēta 8x8 ekrāna izmēriem - un jūs tur esat vienu vai divus pikseļus nevietā (mana vaina, nevis displeji), tas izskatās kā mazs Mario (sorta).

iebrucējs1 un iebrucējs2 - gan mana ideja par kosmosa iebrucēju. tie izrādījās diezgan labi, un, liekot attēlus vienu virs otra, es varu radīt pēdu kustību efektu.

Katalogā ir divas uguņošanas skices, katra ir nedaudz atšķirīga, un ir vērts izmēģināt.

Vienā uguņošana pārvietojas pa ekrānu, tāpēc nedaudz vairāk/atšķirīga animācija … otrai vienlaikus tiek parādīti divi uguņošanas rīki

Ir arī trīs "iebrucēju" skices, katra ir nedaudz atšķirīga, vienā iebrucējs pārvietojas pa ekrānu, un jūs varat paskatīties, kā es to izdarīju - (varbūt ir labāki veidi, kā to izdarīt, es nezinu)

Vēl vairāk: krātuves testēšanas direktorijā ir dažas skices - lielākā daļa no tām nedarbojās gluži tā, kā es gribēju, vai arī bija idejas, kuras es vēlos darīt, bet nedarbojās tā, kā es gribēju. Es tos atstāju, jo kādam ir idejas *(es izveidoju nelielu “vairogu” ar WS2812 pikseļu, lai to varētu izmantot kopā ar ISS displeju, bet es to savienoju ar 3v līniju, un man vienkārši nepietika) ja darbojas arī LED matrica, pikselis strādāja labi, bez LED matricas jūs, tāpēc joprojām ir kaut kas, ko ar to varētu darīt)*

Ir arī direktorijs ar nosaukumu "Vairāk piemēru" - tās ir dažu projekta skices variācijas, vai nu es kaut kas tika pievienots vai noņemts, vai kaut kādā veidā mainīts. Šiem nolūkiem viņi strādā - tie vienkārši nav galīgais projekts. Tāpēc es viņus atkal atstāju, iespējams, kāds no viņiem kaut ko noderīgu iegūs. (Var būt)

Es ceru, ka jums patika šis pamācošais tikpat ļoti, cik man patika šo projektu veidošana:-)

11. solis: Links…

Šo projektu sponsorēja un atbalstīja DF Robot. Lūdzu, izmantojiet tālāk norādītās saites produktiem.

Firebeetle ESP32 -

Firebeetle vāks 24x8 LED matrica -

Mana koda krātuve:

Ja šis vai kāds no maniem projektiem jums šķiet noderīgs vai patīkams, lūdzu, atbalstiet mani. Viss, ko es varu iegūt, pērk vairāk detaļu un veido vairāk/labākus projektus.

www.patreon.com/kd8bxp

NTPClient bibliotēka

ArduinoJson.h

ESP8266 Laika bibliotēka

Json-Streaming-Parser bibliotēka

Ieteicams: