Բովանդակություն:

4 նախագիծ 1 -ում ՝ օգտագործելով DFRobot FireBeetle ESP32 և LED մատրիցային ծածկոց. 11 քայլ (նկարներով)
4 նախագիծ 1 -ում ՝ օգտագործելով DFRobot FireBeetle ESP32 և LED մատրիցային ծածկոց. 11 քայլ (նկարներով)

Video: 4 նախագիծ 1 -ում ՝ օգտագործելով DFRobot FireBeetle ESP32 և LED մատրիցային ծածկոց. 11 քայլ (նկարներով)

Video: 4 նախագիծ 1 -ում ՝ օգտագործելով DFRobot FireBeetle ESP32 և LED մատրիցային ծածկոց. 11 քայլ (նկարներով)
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Հուլիսի
Anonim
Image
Image
Տեղադրեք ընդհանուր գրադարաններ նախագծերի համար
Տեղադրեք ընդհանուր գրադարաններ նախագծերի համար

Ես մտածեցի այս նախագծերից յուրաքանչյուրի համար ուսուցանելու մասին, բայց ի վերջո որոշեցի, որ իսկապես ամենամեծ տարբերությունը յուրաքանչյուր նախագծի ծրագրային ապահովումն է: Կարծում էի, որ ավելի լավ է մեկ մեծ ուսանելի դարձնել:

Սարքավորումը նույնն է յուրաքանչյուր նախագծի համար, և մենք օգտագործում ենք Arduino IDE- ն ՝ ESP32 սարքը ծրագրավորելու համար:

Այսպիսով, որն է ապարատը. Ամբողջ սարքավորումը տրամադրվել է DFRobot- ի իմ ընկերների կողմից, նրանք ունեն շատ լավ ձեռնարկներ, և դրա համար հեշտ է տեղադրել հիմնական տախտակներ: Նաև տեղադրեք լավ աջակցության համակարգ և բավականին արագ առաքում դեպի ԱՄՆ

Firebeetle ESP32 տախտակի և LED մատրիցի ամբողջական բացահայտումը տրամադրվել է DF Robot- ի կողմից, ներկայացված նախագծերը և տեսանյութերում իմ սեփականն են:

Այս նախագծերը բոլորը օգտագործում են DFRobot FireBeetle ESP32 IOT MicroController

www.dfrobot.com/product-1590.html

Աջակցության վիքի - տախտակի տեղադրման հիմնական հրահանգներով կարող եք գտնել այստեղ ՝

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

Մեզ պետք է նաև FireBeetle Covers 24x8 LED մատրիցա (Կապույտ)

www.dfrobot.com/product-1595.html

Չեն սիրում Կապույտ լուսարձակներ - Նրանք նույնպես ունեն տարբեր գույներ:

Կանաչ -

ԿԱՐՄԻՐ -

ՍՊԻՏԱԿ -

ԴԵELLԻՆ -

Ձեզ անհրաժեշտ է միայն մեկ LED մատրիցա `գույնը ձեր ընտրությամբ է, դրանք բոլորը նույնն են աշխատում:

LED Matrix- ի աջակցման վիքի կարելի է գտնել այստեղ ՝

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

Այստեղ մենք գտնում ենք Arduino գրադարանի հղում:

github.com/Chocho2017/FireBeetleLEDMatrix

Այս ամենի մասին մի փոքր ուշ…

Ինչ -որ բան, որն ընտրովի չէ, բայց գուցե ձեռնտու է ունենալ MicroUSB 3xAA մարտկոցի կրիչ:

www.dfrobot.com/product-1130.html

Այսպիսով, դա անհրաժեշտ սարքավորում է - Որոնք են 4 նախագծերը -

Քայլ 1: Նախագծեր

Image
Image

Նախագիծ 1. Արդյո՞ք դա պարզ LED Matrix NTP ժամացույց է ՝ ռազմական ժամանակի ցուցադրմամբ կամ AMPM ժամանակի ցուցադրմամբ, Այս ժամացույցը կկապվի NTP- ին (ժամանակի սերվեր), վերցրեք ժամանակը և կիրառեք անջատված հավաքածու, որպեսզի ստանաք տեղական ժամանակը: Այն ցույց կտա ժամանակը LED մատրիցի վրա: - Դա շատ պարզ ժամացույց է և շատ պարզ 1 -ին նախագիծ:

Նախագիծ 2. ISS Pass Prediction Display, այս նախագիծը օգտագործում է պրոցեսորի 2 -րդ միջուկը: Այն կցուցադրի, թե որքան մոտ է (մղոններով) ISS- ը, երբ սպասել, որ հաջորդ ISS- ն անցնի ձեր գտնվելու վայրում (UTC ժամանակով) և ըստ ցանկության, թե քանի մարդ է գտնվում տիեզերքում: Քանի որ այս տեղեկատվության մեծ մասը հաճախ չի փոխվում, մենք օգտագործում ենք 2 -րդ միջուկը ՝ միայն ստուգելու համար մուտքի կանխատեսումների թարմացումները կամ այն, թե քանի մարդ է տիեզերքում յուրաքանչյուր 15 րոպեն մեկ: Այս կերպ մենք կարող ենք կանխել սերվերին ուղղված շատ API զանգեր: Այս նախագիծը մի փոքր ավելի բարդ է, բայց դեռ բավականին հեշտ է իրականացնել:

3րագիր 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով, ես վերանայեցի մի նախագիծ, որը պատրաստվել էր ESP8266 D1 մինի տախտակի համար, և դա 8x8 LED մատրից է: Գաղափարը կայանում է MQTT բրոքերի հետ միացման մեջ, հաղորդագրություն ուղարկելու այն սարքի թեմայի վրա: լսել - և ցուցադրել այդ հաղորդագրությունը: Դա բավականին հեշտ է և շատ պարզ է անել, երբ ամեն ինչ կարգավորված է: Եվ մի քանի քայլ կա աշխատասեղանի համակարգչում MQTT հաճախորդի ծրագրակազմը կարգավորելու համար: Տեղադրելուց հետո MQTT- ը շատ հզոր հաղորդագրությունների արձանագրություն է, որն օգտագործվում է բազմաթիվ IoT սարքերի կողմից ՝ հաղորդագրություններ ուղարկելու և ստանալու համար:

4րագիր 4. Եղանակային կայանի ցուցադրում - հիմնված է Squix78- ի և ThingPulse- ի կողմից պատրաստված ESP8266 D1 մինի եղանակային կայանի վրա: Մենք վերցնում ենք մեր տվյալները Wunderground- ից և ցուցադրում ենք ներկա պայմանները և ջերմաստիճանը Ֆարենհեյթ աստիճաններով: Մենք օգտագործում ենք ESP32- ի 2 -րդ միջուկը ՝ մեր տվյալները յուրաքանչյուր 10 րոպեն մեկ թարմացնելու համար: Նաև պարզ է կարգաբերելը:

BOUNS MINI ՕՐԻՆԱԿՆԵՐ. Գրադարանը (և էսքիզները վերևում) օգտագործում են 8x4 տառատեսակ, գրադարանը պարունակում է նաև 5x4 տառատեսակ, որը ես օգտագործել եմ այս BOUNS մինի օրինակներից շատերի համար: Կան մի քանի խնդիրներ, որոնք ես կարող եմ նշել փոքր տառատեսակով, մեկը, կարծես, խնդիրներ է առաջացնում, երբ դուք օգտագործում եք սարքի WIFI- ն: Սա այն է, ինչ ես ուզում եմ ավելի շատ ուսումնասիրել, բայց ժամանակ ունեի: Մյուս խնդիրն այն է, որ այն չի ոլորվում, միայն ավելի մեծ տառատեսակը կարող է ոլորել: Այսպիսով, այս օրինակներից ոչ մեկը չի օգտագործում WIFI - նրանք պարզապես թարմացնում են էկրանը, և դրանց մասին ավելին կլինի ավելի ուշ:

Եկեք սկսենք…..

Քայլ 2. Տեղադրեք DFRobot FireBeetle ESP32 խորհուրդը Arduino IDE- ում

Այսպիսով, ես պատրաստվում եմ ձեզ հղել DF Robot Wiki- ին ՝ Arduino IDE- ի տախտակի միջուկը տեղադրելու համար:

Դա բավականին հեշտ է անել ժամանակակից IDE- ի հետ (1.8.x կամ ավելի լավ):

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

Ես գտա, որ Arduino IDE- ում տեղադրված WiFi գրադարանը խնդիրներ է առաջացնում (PS ցանկացած այլ WiFi գրադարան, որը գուցե տեղադրված է ձեր գրադարանի գրացուցակում, կարող է խնդիրներ առաջացնել կամ չառաջացնել): Միակ ճանապարհը (կամ առնվազն ամենահեշտ ձևը), որը ես գտա խնդիրը լուծելու համար, WiFi գրադարանը IDE գրացուցակից հեռացնելն է: Unfortunatelyավոք, ոչ մի լավ միջոց չկա ձեզ ասելու, թե որտեղ է այն տեղադրված: Դա կախված է նրանից, թե ինչպես է տեղադրված IDE- ն և ինչ OS- ից եք օգտվում:

Այն, ինչ ես արել եմ, գտել է WiFi գրադարանը, որը խնդիրներ է առաջացնում, և պարզապես տեղափոխել տեղեկատու WiFi գրացուցակը ձեր աշխատասեղանին … և վերագործարկել IDE- ն: Այդ կերպ դուք կարող եք պահել գրադարանը, եթե այն ձեզ իսկապես անհրաժեշտ լինի Arduino WIFI վահանակների համար:

Իմ տեսած խնդիրների 90% -ը կապված էին վերը նշված խնդրի հետ: Եթե դուք ստանում եք բազմաթիվ կազմման սխալներ ՝ կապված WiFi- ի օգտագործման հետ Arduino IDE գրացուցակից կամ Arduino գրադարանի գրացուցակից, սա ձեր խնդիրն է:

Իմ երկրորդ խնդիրը երբեմն էսքիզների վերբեռնումը չի հաջողվում վերբեռնել - այս դեպքում ես պարզապես պետք է նորից սեղմեմ վերբեռնման կոճակը, և այն աշխատում է:

Եվ վերջապես, եթե դուք ունեք սերիական վահանակը բացված, այնուհետև փակեք այն, FireBeetle- ը սառեցնում է:

Ես գիտեմ, որ DF Robot- ը ակտիվորեն աշխատում է տախտակի միջուկի վրա, և հենց այն կարճ ժամանակում, երբ ես ունեի խորհուրդը, նրանք թողարկեցին նոր միջուկ: Unfortunatelyավոք, դա չլուծեց WiFi խնդիրը, որն իմ ամենամեծ խնդիրն է:

* Espressif- ն ունի «ընդհանուր» հիմնական կառավարիչ, որը կարելի է տեղադրել, իսկ միջուկը ներառում է FireBeetle ESP32 տախտակը, բայց ես խնդիր ունեի, թե ինչպես է այն կապում համարակալված: Այստեղ հետաքրքիրն այն է, որ WiFi գրադարանը աշխատում է ներկառուցված WiFi գրադարանի հետ, ուստի ես գիտեմ, որ այդ հարցի լուծումը կա հենց անկյունում:

Եթե ցանկանում եք փորձել Espressif միջուկները, կարող եք ավելի շատ տեղեկություններ գտնել այստեղ ՝

github.com/espressif/arduino-esp32

Ինձ անձամբ դուր է գալիս, թե ինչպես է աշխատում DF-Robot միջուկը, նույնիսկ այն մի քանի խնդիրներով, որոնք ես ունենում եմ:

** ՈEՇԱԴՐՈԹՅՈՆ. Ես օգտագործում եմ LinuxMint 18 -ը, որը հիմնված է Ubuntu 16.04 -ի վրա: Կարծում եմ, որ ես դա չեմ փորձել որևէ այլ մեքենայի վրա, բայց ես կարծում եմ, որ խնդիրը առկա է բոլոր ՕՀ -երի համար `որոշ ինտերնետային որոնումների հիման վրա: **

Քայլ 3: Տեղադրեք ընդհանուր գրադարաններ նախագծերի համար:

Տեղադրեք ընդհանուր գրադարաններ նախագծերի համար
Տեղադրեք ընդհանուր գրադարաններ նախագծերի համար

Այս բոլոր նախագծերը օգտագործում են մի քանի ընդհանուր գրադարաններ, ուստի այժմ ավելի հեշտ է անել այս քայլը:

Կախված գրադարանից, այն կարող եք գտնել գրադարանի մենեջերում, ինչը գրադարան տեղադրելու ամենահեշտ ձևն է:

Մեկ այլ տարածված եղանակ է տեղադրել zip ֆայլի միջոցով, որը նույնպես աշխատում է հավասարապես: Բայց ընդհանրապես ես օգտագործում եմ ձեռքով տեղադրման մեթոդը: Arduino կայքում կա երեք ձեռնարկների լավ մեթոդ:

www.arduino.cc/hy/guide/libraries

Այս գրադարանների համար ես կառաջարկեի ձեռքով մեթոդը. Քանի որ կան մի քանի տարբեր գրադարաններ, որոնց անունները նույնն են, գրադարանի մենեջերի օգնությամբ կարող եք սխալ լինել:

Այս բոլոր նախագծերը օգտագործում են WiFi մենեջեր, որպեսզի հեշտ լինի միանալ ձեր WiFi- ին: Ես որոշեցի դա անել, որպեսզի եթե ձեր նախագիծը տեղափոխելու կարիք ունենաք, ապա տախտակը չպլանավորեք: Սա այն է, ինչ ես օգտագործում եմ ESP8266 տախտակների համար, և այն լավ է աշխատում `կատարյալ չէ: Գրադարանն օգտագործելու բախտ ESP32- ի օգտագործման համար տեղափոխվել է bbx10 անունով github օգտվողի կողմից: (Այս կառավարիչը պետք է աշխատի նաև ESP8266 տախտակների հետ)

Մենք նույնպես պետք է երեք գրադարան տեղադրենք այս աշխատանքի համար:

WiFiManager -

Վեբ սերվեր -

Եվ վերջապես DNSServer -

Նաև բոլոր ուրվագծերի համար ընդհանուր է DF Robot DFRobot_HT1632C գրադարանը LED մատրիցի համար:

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

Գրադարանը կարելի է գտնել այստեղ (Կրկին խորհուրդ կտամ ձեռքով տեղադրել մեթոդը)

github.com/Chocho2017/FireBeetleLEDMatrix

Հատուկ նշում. Իմ github պահոցում - ես ունեմ մի քանի փոքր փոփոխված DFRobot_HT1632C գրադարան

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

Փոփոխությունը նախատեսված է ավելի փոքր տառատեսակի համար և օգտագործվում է միայն բոնուսային որոշ օրինակների համար: Դուք կարող եք օգտագործել փոփոխված գրադարանը, և այն չպետք է որևէ խնդիր առաջացնի: Կա նաև մի փոքր փոփոխված գրադարան (կցված է որոշ էսքիզներին որպես ներդիրներ), որը կարող է կատարել bitmap պատկերներ:

Եթե որոշեք օգտագործել փոքր-ինչ փոփոխված տարբերակը, դուք պետք է վերանվանեք «փոփոխված գրադարան» գրացուցակը FireBeetleLEDMatrix և այդ թղթապանակը տեղափոխեք ձեր Arduino գրադարանի գրացուցակ: Այս նախագծերի համար պարտադիր չէ օգտագործել այս տարբերակը, այն անհրաժեշտ է, եթե ցանկանում եք բոնուսային օրինակներից փորձել մի քանի փոքր տառատեսակներ:

Սրանք ընդհանուր գրադարաններն են. Յուրաքանչյուր նախագծի համար մենք կտեղադրենք որոշակի գրադարաններ:

Անցնենք LED մատրիցային…

Քայլ 4: 24x8 LED մատրիցի ծածկ

24x8 լուսադիոդային ծածկույթ
24x8 լուսադիոդային ծածկույթ
24x8 լուսադիոդային ծածկույթ
24x8 լուսադիոդային ծածկույթ
24x8 լուսադիոդային ծածկույթ
24x8 լուսադիոդային ծածկույթ

For Մենք պատրաստվում ենք հետևել LED Matrix- ի DF Robot Tutorial- ին

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

Ներածություն. Այս 24 × 8 LED մատրիցային էկրանը հատուկ նախատեսված է FireBeetle շարքի համար: Այն ապահովում է ցածր էներգիայի սպառման ռեժիմ և ոլորման էկրան: HT1632C բարձրորակ LED վարորդական չիպով յուրաքանչյուր led ունի անկախ գրանցամատյան, ինչը հեշտացնում է առանձին վարելը: Այն միավորում է 256KHz RC ժամացույց, ընդամենը 5uA ցածր էներգիայի ռեժիմում, աջակցում է 16 սանդղակի PWM պայծառության ճշգրտում: Այս ապրանքը նույնպես աշխատում է Arduino- ի մյուս միկրոկոնտրոլերի հետ, ինչպիսին է Arduino UNO- ն:

Տեխնիկական պայմաններ

  • Գործող լարումը `3.3 ~ 5VLED
  • Գույն: Մեկ գույն (Սպիտակ/Կապույտ/Դեղին/Կարմիր/Կանաչ)
  • Drive Chip: HT1632C
  • Աշխատանքային հոսանք `6 ~ 100 մԱ
  • Lowածր էներգիայի սպառումը `5uARC
  • ժամացույց ՝ 256 ԿՀց
  • Չիպի ընտրություն (CS) ՝ D2, D3, D4, D5 ընտրելի
  • Աջակցություն ոլորման էկրանին

Կանխադրված PIN կոդեր

  1. ՏՎՅԱԼՆԵՐ 6
  2. WRD7 (սովորաբար չի օգտագործվում)
  3. CSD2, D3, D4, D5 ընտրելի (կանխադրված D2)
  4. RDD8
  5. VCC 5VUSB; 3.7VLipo մարտկոց

(Այս բոլոր նախագծերում օգտագործվում է D2 ընտրված քորոցի համար, այն կարող է հեշտությամբ փոխվել ըստ անհրաժեշտության):

LED մատրիցի հետևի մասում կտեսնեք 4 փոքր անջատիչ: Համոզվեք, որ ընտրել եք միայն CS կապումներից մեկը: Այս փոքրիկ անջատիչներն այն են, թե ինչպես եք ընտրում ձեր CS Pin- ը, իսկ կանխադրվածը ՝ D2:

DF Robot WIKI- ն ունի որոշ նմուշի կոդ, այս ծածկագիրը նաև գրադարանի օրինակներում է: (Ես հավատում եմ)

Մեկ այլ նշում. Օգտագործեք Dx համարները ձեր կապերի համար, հակառակ դեպքում փին համարները կլինեն IO կապի համարները/անունները

Եվ դա կարող է ձեզ որոշակի խնդիրներ առաջացնել:

Կետ սահմանելը

X- ը 0 -ից 23 -ն է (կամ եթե դրա մասին մտածում եք որպես աղյուսակ, դրանք սյուներ են):

Y- ը 0 -ից 7 է (կամ եթե դրա մասին մտածում եք որպես աղյուսակ, դրանք տողեր են):

Գրադարանը ապահովում է սահմանված կետի գործառույթ:

display.setPoint (x, y) սա կտեղադրի կուրսորը այդ վայրում, որտեղ այժմ կարող եք հաղորդագրություն տպել:

display.print («Բարև աշխարհ», 40); // սա կհանգեցնի այն բանին, որ էկրանը կցուցադրի «Բարև աշխարհ» ՝ սկսած x, y կետից և ոլորվելով էկրանից:

Գոյություն ունի նաև setPixel (x, y) և clrPixel (x, y) -

Կան այլ բաներ, որոնք կարող է անել այս գրադարանը, և դրանցից շատերը ներառված են օրինակներում:

(Ես խորհուրդ կտայի գործարկել և փոփոխել օրինակները `տեսնելու, թե ինչ կարող է դա անել):

* Թվում է, թե ինչ -որ բան պակասում է bitmaps- ի նկարումը. Գրադարանը իրականում կարող է դա անել, բայց ինչ -ինչ պատճառներով դա գրադարանի մասնավոր գործառույթն է: Գրադարանի մի փոքր փոփոխված տարբերակի համար տեսեք իմ բոնուսային օրինակներից մի քանիսը

** Մեկ այլ բան այն ներառում է 5x4 տառատեսակների հավաքածու, ինչը հաճելի է ունենալ ավելի փոքր տառատեսակ. Գրադարանում այն մեկնաբանվում է: Ես դա մեկնաբանեցի և աշխատեցի, բայց դրա հետ կապված մի քանի խնդիր նկատեցի. Ամենամեծը չի ոլորվում: Եվ ես նկատեցի, որ այն խնդիրներ է առաջացնում կամ WiFi- ի կամ գուցե այլ գրադարանի հետ, որը ես ցանկանում էի օգտագործել:

Իմ մեջ ներառված փոփոխված գրադարաններից մեկը, սակայն, օգտագործում է 5x4 տառատեսակը:

Անցնենք նախագծերին ….

Քայլ 5. Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ

Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ
Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ
Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ
Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ
Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ
Projectրագիր 1. Պարզ LED մատրիցային NTP ժամացույց կամ ռազմական ժամացույցով կամ AMPM ցուցադրմամբ

Նախագիծ 1. Արդյո՞ք դա պարզ LED Matrix NTP ժամացույց է ՝ ռազմական ժամանակի ցուցադրմամբ կամ AMPM ժամանակի ցուցադրմամբ, Այս ժամացույցը կկապվի NTP- ին (ժամանակի սերվեր), վերցրեք ժամանակը և կիրառեք անջատված հավաքածու, որպեսզի ստանաք տեղական ժամանակը: Այն ցույց կտա ժամանակը LED մատրիցի վրա: - Դա շատ պարզ ժամացույց է և շատ պարզ 1 -ին նախագիծ:

Նախքան այս պարզ նախագծով սկսելը, գուցե լավ գաղափար լինի իմանալ, թե ինչ է NTP- ն.

NTP- ն ինտերնետային արձանագրություն է, որն օգտագործվում է համակարգիչների ժամացույցները որոշակի ժամանակի համաժամացման համար: Դա ստանդարտ արձանագրություն է: NTP- ը նշանակում է Network Time Protocol:

NTP- ն օգտագործում է UTC- ն որպես տեղեկատու ժամանակ (UTC- ը համընդհանուր ժամանակի համակարգված է) այն առաջացել է GMT- ից (Գրինվիչի միջին ժամանակը), իսկ որոշ շրջանակներում այն կոչվում է uluուլուի ժամանակ (ռազմական): UTC- ն հիմնված է ցեզիումի ատոմի քվանտային ռեզոնանսի վրա:

NTP- ն սխալներին հանդուրժող է և չափազանց ընդարձակելի, արձանագրությունը շատ ճշգրիտ է ՝ օգտագործելով նանովայրկյանից պակաս թույլատրելիություն:

*

UTC ժամացույցը մեծ մասամբ չի օգտագործվում մարդկանց մեծամասնության համար, այնպես որ մենք պետք է մեր ժամացույցը հարմարեցնենք տեղական ժամանակին: Բարեբախտաբար, մենք կարող ենք դա անել բավականին հեշտությամբ: Եկեք սկսենք այս պարզ NTP ժամացույցով….

1 -ին մենք պետք է տեղադրենք այնպիսի գրադարան, որը հեշտացնում է NTP սերվերների հետ խոսելը:

github.com/arduino-libraries/NTPClient (այս գրադարանը, հավանաբար, գրադարանի կառավարչում է)

Բաց թողե՞լ եք 3 -րդ քայլը և չգիտեիք, թե ինչպես տեղադրել գրադարաններ: (ավելի լավ է վերադառնալ և կարդալ 3 -րդ քայլը:-)

Դուք պետք է գնաք այս կայք և տեղադրեք ձեզ ամենամոտ քաղաքը, որը գտնվում է ձեր ժամային գոտում:

www.epochconverter.com/timezones

Enter- ը սեղմելիս կտեսնեք «Փոխակերպման արդյունքները», իսկ արդյունքներում կստանաք ձեր օֆսեթը (տարբերությունը GMT/UTC) վայրկյանների ընթացքում (ինձ համար դա -14400 է)

66 -րդ տողում dfrobot_firebeetle_led_matrix_ntp_clock ուրվագծում կտեսնեք.

#define TIMEOFFSET -14400 // Գտեք ձեր Timeամային գոտին անջատված այստեղ https://www.epochconverter.com/timezones OFF OFF Set in seconds

փոխարինեք -14400 -ը ձեր օֆսեթով: Հաջորդ տողը կտեսնեք AMPM 1 - սա կհանգեցնի ժամացույցի ցուցադրման ժամին AM/PM- ում:

Հաջորդը, ուրվագիծը վերբեռնեք ձեր տախտակին, միացեք Մուտքի կետին (wifi մենեջեր) և մուտքագրեք ձեր WiFi- ի տվյալները: ԵԹԵ դուք արդեն դա արել եք, դուք պետք է տեսնեք «կապված» ոլորումը էկրանի վրայով և մի քանի վայրկյան անց `ժամանակը:

Այսքանը այս նախագծի համար ՝ պարզ և հեշտ օգտագործման համար…..

(Հնարավոր բարելավումներ. Displayուցադրեք ամիսը, օրը և տարին, կարգավորեք ազդանշան և ահազանգեր. Ընդհանուր առմամբ վերահսկեք այն, ինչ տեսնում եք վեբ էջի միջոցով: Այս գաղափարը մեծ վերաշարադրում կպահանջի ընթացիկ պարզ ուրվագծի վրա)

Պատրաստ է մեկ այլ պարզ նախագծի. Displayուցադրել այնտեղ, որտեղ ISS- ն է. (Հ. Գ. այս ուրվագիծը օգտագործում է վեբ էջ ՝ ցուցադրվողը վերահսկելու համար)…..

Քայլ 6. Նախագիծ 2. ISS Pass կանխատեսման ցուցադրում,

Նախագիծ 2. ISS Pass Prediction Display,
Նախագիծ 2. ISS Pass Prediction Display,
Նախագիծ 2. ISS Pass Prediction Display,
Նախագիծ 2. ISS Pass Prediction Display,
Նախագիծ 2. ISS Pass Prediction Display,
Նախագիծ 2. ISS Pass Prediction Display,

Նախագիծ 2. ISS Pass Prediction Display, այս նախագիծը օգտագործում է պրոցեսորի 2 -րդ միջուկը: Այն կցուցադրի, թե որքան մոտ է (մղոններով) ISS- ը, երբ սպասել, որ հաջորդ ISS- ն անցնի ձեր գտնվելու վայրում (UTC ժամանակով) և ըստ ցանկության, թե քանի մարդ է գտնվում տիեզերքում: Քանի որ այս տեղեկատվության մեծ մասը հաճախ չի փոխվում, մենք օգտագործում ենք 2 -րդ միջուկը ՝ միայն ստուգելու համար մուտքի կանխատեսումների թարմացումները, կամ քանի մարդ է տիեզերքում յուրաքանչյուր 15 րոպեն մեկ: Այս կերպ մենք կարող ենք կանխել սերվերին ուղղված շատ API զանգեր: Այս նախագիծը մի փոքր ավելի բարդ է, բայց դեռ բավականին հեշտ է իրականացնել:

Այս նախագիծը հիմնված է իմ նախկին նախագծերից մեկի վրա, որը կարելի է գտնել այստեղ ՝

(Պարզ ISS ծանուցման համակարգ) Դրանով ես օգտագործել եմ ESP8266- ը ՝ ներկառուցված OLED էկրանով (D-Duino): Մեծ մասամբ այս նախագիծը պարզապես օգտագործում է ցուցադրման այլ համակարգ: Այսպիսով, եկեք սկսենք….

Հեշտ օգտագործման համար արժանիքների մեծ մասը բաժին է ընկնում https://open-notify.org- ին, որն ունի շատ պարզ և հեշտ օգտագործման API: Բաց ծանուցման API- ն ունի երեք բան, որոնք կարող են ցուցադրվել ՝ ISS- ի գտնվելու վայրը լայնության և երկայնության մեջ, կանխատեսումներ անցնել ՝ հիմնված տվյալ լայնության և երկայնության վրա: Եվ վերջապես, քանի մարդ (Եվ նրանց անունները) գտնվում են տիեզերքում:

Մեզ անհրաժեշտ կլինի տեղադրել մեկ այլ գրադարան `ArduinoJson գրադարանը:

github.com/bblanchon/ArduinoJson

Մենք նաև TimeLib.h- ի կարիքն ունենք, բայց ես վստահ չեմ, թե որտեղից եմ այն ձեռք բերել կամ արդյոք այն ներառված է IDE- ում (ներողություն)…

Այսպիսով, ինչու՞ կանխատեսել, թե որտեղ է լինելու ISS- ը: ISS- ն պարունակում է տարբեր սիրողական ռադիոտեխնիկա, և երբ այն «գլխավերևում» է, խոզապուխտի ռադիոօպերատորը կարող է կապ հաստատել ISS- ի հետ ՝ օգտագործելով շատ պարզ (և էժան) ռադիոկայաններ: Ես դա արել եմ նույնիսկ բջջային հեռախոսով (մեքենայով վարելիս): Այս գործն իրականացնելու համար իսկապես շատ բան պետք չէ: Միակ բանը, որ ձեզ անհրաժեշտ է, իմանալն է, թե որտեղ է այն: Եվ ալեհավաքը նրա ընդհանուր ուղղությամբ ուղղելը օգնում է:

57, 58, 59 տողերը ցուցադրման որոշ փոփոխականներ են. Եթե դրանք դրված են 1 -ի վրա, դուք կտեսնեք ցուցադրում, եթե դրանք սահմանված են 0 -ի (զրո), ապա չեք տեսնի ցուցադրում: (Այս փոփոխականները կարող են սահմանվել էսքիզի մեջ կամ թարմացվել կրակոտ բզեզի ստեղծած վեբ էջից `դրա մասին ավելի ուշ):

int locDis = 1; // Displayուցադրել ISSint pasDis- ի գտնվելու վայրը = 0; // Display Pass Predictions int pplDis = 1; // Displayուցադրել մարդկանց տիեզերքում

Այսպիսով, locDis- ը կցուցադրի ISS- ի գտնվելու վայրը լայնության և երկայնության մեջ. այն նաև ցույց է տալիս, թե քանի մղոն է այն գտնվում:

pasDis- ը կստանա pass- ի կանխատեսումները open-notify.org- ից և կցուցադրի դրանք:

և վերջապես, pplDis- ը կցուցադրի անունները և քանի մարդ կա տիեզերքում. սա կարող է շատ երկար տևել, բայց այդպես չէ

փոխվում է նաև հաճախ: (կարող եք դրանք փոխել կամ թողնել դրանք, դա լրիվ կամայական է)

Մենք նաև պետք է իմանանք մեր լայնությունը և երկայնությունը և դրանք դնենք ուրվագծի մեջ:

Սա պարտադիր չէ, որ լինի ճշգրիտ երկար/երկար, այն կարող է լինել ձեր քաղաքի կենտրոնը կամ մի փոքր հեռու:ISS- ի ոտնաթաթը լայն է, երբ այն գտնվում է գլխավերևում, և հարյուրավոր (կամ հազարավոր) մղոններ կարող են անցնել, այնպես որ երկար կամ երկար ժամանակ մի փոքր հեռանալը գործարք չի խաթարի (ժամանակի մեծ մասը), 500 մղոնից ավելի հաղորդակցությունը բավականին տարածված է:

Եթե չգիտեք ձեր լայնությունը և երկայնությունը, այս կայքը կարող է օգնել ձեզ:

www.latlong.net Էսքիզի 84 -րդ տողի մոտ դուք կտեսնեք այսպիսի բան.

// Գտեք այստեղ ձեր լայնությունը և երկայնությունը // https://www.latlong.net/ float mylat = 39.360095; բոց միլոն = -84.58558;

Դա պետք է լինի այն, ինչ պետք է փոխվի: Վերբեռնեք էսքիզը և միացրեք Firebeetle- ը ինտերնետին, և դուք պետք է տեսնեք, թե ISS- ի գտնվելու վայրը տրված է լատ/երկարությամբ և քանի մղոն հեռավորության վրա է (հիշեք, որ դա կլինի մոտավոր հեռավորություն: ISS- ն շարժվում է շատ արագ, և երբ էկրանն ավարտվի, ISS- ն շատ մղոններ է տեղափոխվել այնտեղից, որտեղ էր): Դուք նաև պետք է տեսնեք մարդկանց տիեզերքում: (ԵԹԵ վերը փոփոխականը չփոխեցիք):

Մենք օգտագործում ենք ESP32- ի երկրորդ միջուկը `վեբ կայք գործարկելու համար: Կայքի օգտագործումը մեզ հնարավորություն է տալիս վերահսկել այն, ինչ ցուցադրվում է LED մատրիցով: Այն պետք է բավականին ինտուիտիվ լինի, թե ինչպես է այն աշխատում, մի հատվածը ցույց է տալիս, թե ինչն է միացված ցուցադրման համար, մեկ այլ հատվածում կան «այո», «ոչ» կոճակներ - կտտացնելով «այո» նշանակում է, որ ցանկանում եք տեսնել այն, «ոչ» նշանակում է ցույց չտալ: Դուք նաև պետք է տեսնեք, որ վերին հատվածը փոխվում է ՝ հիմնվելով կոճակների վրա:

Միակ բանը, որ այստեղ այնքան էլ կտրված և չորացած չէ, այն է, թե ինչպես գտնել Firebeetle- ի IP հասցեն, ցավոք, ես չկարողացա գտնել այն գտնելու լավ միջոց, ուստի ես պարզապես ցուցադրման համար օգտագործեցի IDE- ի սերիական վահանակը: այն (9600 բաուդ)

Բացեք վահանակը և կտեսնեք IP հասցեն: (բացեք այն միացված հաղորդագրությունը ստանալուց առաջ) Ես մտածում էի sms հաղորդագրություն ուղարկելու մասին, կամ որևէ այլ բան, բայց, ի վերջո, ես դա պարզ եմ պահում: (Ես նաև փորձեցի նշանակել ստատիկ IP/դարպաս/և այլն, չկարողացա այն ճիշտ աշխատել wifi մենեջերի հետ.

Էսքիզը նաև առաջ է տանում FreeRTOS- ի ներդրումը ESP32 միջուկում: Մենք ունենք առաջադրանք, որը գործում է մոտ 15 րոպեն մեկ: Դա այն է, ինչ թարմացնում է մուտքի կանխատեսումները, ինչպես նաև տիեզերքում գտնվող մարդկանց: Ինչպես ասացի ավելի վաղ, մարդիկ տիեզերքում այնքան էլ չեն փոխվում, այնպես որ, հավանաբար, դրանք կարող են տեղափոխվել մեկ այլ առաջադրանքի և գուցե վազել յուրաքանչյուր 12 ժամը մեկ անգամ (կամ 6 ժամը մեկ անգամ), բայց դա աշխատում է, և դա պարզեցնում է իրերը:

Նրանց համար, ովքեր չգիտեն, FreeRTOS- ը միջոց է, որը թույլ է տալիս մեկ հիմնական միկրոհսկիչին կատարել բազմապատկված առաջադրանքներ

Սովորաբար, այն աշխատեցնելու համար պետք է ներառել որոշ գրադարաններ և այլ բաներ, սակայն այն կառուցված է ESP32- ի առանցքում, ինչը ESP32- ը դարձնում է շատ հզոր սարք: FreeRTOS- ի մասին լրացուցիչ տեղեկությունների համար

freertos.org/

Բարելավումներ. Կան մի շարք բաներ, որոնք կարող են բարելավվել այս նախագծի համար, և գրեթե ամեն օր ես մտածում եմ մի բանի մասին, որը կարող էր մի փոքր այլ կերպ արվել, կամ փոխվել, կամ ավելացվել:

Եվ պահեստի ավելի շատ օրինակների գրացուցակում կարող եք տեսնել որոշ ավելի վաղ/տարբեր բաներ, որոնց մասին ես մտածում էի. Սրանցից ոմանք չաշխատեցին, ոմանք պարզապես փոխվեցին, և ոմանք ներառվեցին ընթացիկ ուրվագծում:

* Ինչ -որ պահի ես փորձեցի նեոպիքսել ավելացնել էկրանին, որպեսզի դա մի փոքր ավելի նման լիներ իմ նախորդ նախագծին. աշխատում է այս գաղափարը կատարելագործելու ճանապարհի վրա *

Այս քայլը գրելիս ես մտածեցի, որ գուցե ես կարողանամ ավելացնել ձեր լայնության և երկայնության վեբ կայքի թարմացման եղանակը - այդ կերպ ուրվագիծը երբեք փոփոխության կարիք չի ունենա. Ես այս մասին նույնպես մի փոքր կմտածեմ:

IP հասցեն ստանալու բարելավված միջոցը մեկ այլ բան է, որը ես կցանկանայի անել (դեռևս մտածում եմ դրա մասին)

Անցնենք մեր հաջորդ նախագծին…..

Քայլ 7. Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով

Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով
Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով
Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով
Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով
Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով
Նախագիծ 3. Պարզ շարժվող հաղորդագրության նշան MQTT- ի միջոցով

"loading =" ծույլ "" loading = "ծույլ"

Բոնուս Մաս 2 - Պատկերների ցուցադրում
Բոնուս Մաս 2 - Պատկերների ցուցադրում
Բոնուս Մաս 2 - Պատկերների ցուցադրում
Բոնուս Մաս 2 - Պատկերների ցուցադրում
Բոնուս Մաս 2 - Պատկերների ցուցադրում
Բոնուս Մաս 2 - Պատկերների ցուցադրում

Այսպիսով, պարզվում է, որ գրադարանը կարող է պատկերներ ցուցադրել. Դու ինչ -ինչ պատճառներով այդ գործառույթը «մասնավոր» է թվում:

Այս անգամ ես փոփոխված գրադարանը դրեցի էսքիզների գրացուցակում, այնպես որ ձեզ հարկավոր չէ գրադարանը նորից տեղադրել, ուրվագիծը սկզբում նայում է ինքն իրեն, այնուհետև այն կտեսնի գրադարանի գրացուցակում, այնպես որ մենք լավ ենք:

*** Ես մտադիր եմ այս փոփոխությունը ներկայացնել DFRobot- ին, քանի որ իսկապես շատ թույն է և մի տեսակ կոկիկ, որպեսզի կարողանամ կատարել այս տեսակի ուրվագծեր ***

LED Matrix Images էսքիզ, այստեղ ես առաջին հերթին փորձում էի պարզել, թե ինչ է ուզում գրադարանը, և ինչը կաշխատի և ինչը չի աշխատի `տարբեր աստիճանի հաջողություններով: Ես գտա, որ 8x8 պատկերներն ամենալավն են աշխատում, բայց դուք կարող եք ուրիշներին նույնպես ստիպել աշխատել: Ես գտա նաև մի քանի առցանց մատրիցային խմբագիրներ, ոմանք ավելի լավ են աշխատում, քան մյուսները:

xantorohara.github.io/led-matrix-editor/-կարծես լավ է աշխատում, պատրաստում է 8x8 պատկերներ, և դրանք ցանկանում եք որպես բայթ զանգվածներ:

www.riyas.org/2013/12/online-led-matrix-fo… սա լավ է աշխատում և ունի 8x8-ից ավելի մեծ դիսփլեյներ պատրաստելու ունակություն: սակայն Թվում է, թե բայթերի զանգվածներն այստեղ ամենալավն են աշխատում: Ես այն օգտագործել եմ վերևի տեսանյութում երևացող «տիեզերական զավթիչներին» պատրաստելու համար:

Այսպիսով, ինչպես է սա աշխատում, drawImage (const byte * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

պատկերի բայթ զանգվածի փոփոխական, պատկերի լայնությունը (8), պատկերի բարձրությունը (8), էկրանի սկզբնական դիրքը x (0), y (0) սովորաբար և օֆսեթ համարը, որը ես չեմ 100% վստահ եմ, թե ինչ է դա անում, ուստի ժամանակի մեծ մասը այն թողնում էի զրոյի:

Էսքիզում LED Matrix Images- ը `8 տարբեր բայթ զանգվածներ` դրանք նույնպես երեք տարբեր մեթոդներով:

- հրավառությունը առաջին զանգվածներն են, անկեղծ ասած ես վստահ չեմ, թե ինչպես է աշխատում այս մեկը, բայց այն աշխատում է:

հաջորդը բերան է. սա իրոք այնքան էլ ճիշտ չի աշխատում, բերանը սխալ ճանապարհ է դնում մեկի համար, և ցանկացած փոփոխություն կատարելու փորձերը պարզապես ավելի են վատացնում: (սովորել, թե ինչ է աշխատում և ինչը ոչ, կես զվարճալի է)

Հետևեց առաջին marioImg- ին - սա չափազանց մեծ է ցուցադրման համար, և ես կարծում եմ, որ այստեղ է, որ անջատված հավաքածուն է խաղում: Ես այստեղ օգտագործել եմ այն, և դուք կարող եք տեսնել mario- ի առջևը, եթե օֆսեթը փոխում եք 1 -ի: կտեսնեմ նրա մեջքը: (դուք իսկապես չեմ կարող ձեզ ասել, թե ինչու կամ ինչ է անում օֆսեթը: Կարծես թե փոխում է պատկերը, բայց ինչու է 2 -ը փոխում այն, որպեսզի տեսնեք նրա առջևը և ինչու 1 -ը փոխում է մյուս ուղղությունը, ես չեմ կարող ասել ձեզ)

ՆԿԱՐՆԵՐ - բայթ զանգվածը @ նշան եմ

pic1 բայթ զանգվածը նույնպես կարծես այն է, ինչ ես փորձում էի անել, միայն թե այն ավելի փոքր է, քան ես փորձում էի, ինչը չեմ կարող ասել, բայց ընդհանուր առմամբ այն կարծես այն է, ինչ անում էի խմբագրում:

mario2Img - սա ավելի մեծ Mario- ի իմ սեփական տարբերակն է, որը պատրաստված է 8x8 էկրանի չափսերի համար, և դու այնտեղ մեկ կամ երկու պիքսել ունես (իմ մեղքը, ոչ թե դիսփլեյները) այն նման է փոքրիկ Մարիոյի (տեսակ):

invader1 և invader2 - երկուսն էլ տիեզերական զավթիչի իմ գաղափարն են: դրանք բավականին լավ ստացվեցին, և պատկերները միմյանց վրա դնելով ՝ ես կարողանում եմ ստեղծել ոտքերի շարժման էֆեկտ:

Գրացուցակում կա երկու հրավառության ուրվագիծ, որոնցից յուրաքանչյուրը մի փոքր տարբեր է և արժե փորձել:

Մեկի մոտ հրավառությունն է շարժվում էկրանի վրայով, այնպես որ մի փոքր ավել/տարբերվող անիմացիա… մյուսի մոտ միաժամանակ ցուցադրվում է երկու հրավառություն

Կան նաև երեք «զավթիչների» էսքիզներ, որոնցից յուրաքանչյուրը փոքր -ինչ տարբեր է, մեկը զավթիչից շարժվում է էկրանով, և դուք կարող եք տեսնել, թե ինչպես եմ դա արել ((գուցե դա ավելի լավ եղանակներ կան, չգիտեմ))

Նույնիսկ ավելին. Պահեստի փորձարկման գրացուցակում կան որոշ էսքիզներ. Դրանցից շատերը չաշխատեցին այնպես, ինչպես ես էի ուզում, կամ գաղափարներ էին, որոնք ես ուզում էի անել, բայց չաշխատեցին այնպես, ինչպես ուզում էի: Ես թողել եմ դրանք, քանի որ ինչ -որ մեկը ինչ -որ գաղափարներ է ստացել (ես պատրաստել եմ մի փոքրիկ «վահան» ՝ WS2812 պիքսելով ՝ ISS- ի ցուցադրման համար օգտագործելու համար, բայց այն միացրել եմ 3 վ գծին և պարզապես բավարար չէի) էներգիան աշխատում է նաև LED մատրիցով, պիքսելն աշխատում էր լավ, առանց LED մատրիցի, այնպես որ դեռ կա ինչ -որ բան, որ կարող եմ անել դրա հետ)*

Կա նաև գրացուցակ, որը կոչվում է «Ավելի շատ օրինակներ». Դրանք նախագծի որոշ էսքիզների տատանումներ են, կամ ես ինչ -որ բան ավելացվել կամ հեռացվել եմ, կամ ինչ -որ կերպ փոխվել է: Նրանց համար նրանք աշխատում են. Դրանք պարզապես վերջնական նախագիծ չեն: Այսպիսով, ես նորից թողեցի դրանք, ինչ -որ մեկը կարող է նրանցից ինչ -որ օգտակար բան ստանալ: (Միգուցե)

Հուսով եմ, որ ձեզ դուր եկավ այս ուսանելի մասը, ինչպես և ես հաճույք ստացա այս նախագծերը կատարելուց:-)

Քայլ 11: Հղումներ…

Այս նախագիծը հովանավորել և աջակցել է DF Robot- ը: Խնդրում ենք օգտագործել ստորև բերված հղումները ապրանքների համար.

Firebeetle ESP32 -

Firebeetle Cover 24x8 LED մատրիցա -

Իմ ծածկագրի պահոցը ՝

Եթե կարծում եք, որ այս կամ իմ ցանկացած նախագիծ օգտակար է կամ հաճելի, ապա աջակցեք ինձ: Այն, ինչ ես ստանում եմ, գնում է ավելի շատ մասեր գնելու և ավելի/ավելի լավ նախագծեր կատարելու համար:

www.patreon.com/kd8bxp

NTPClient Library

ArduinoJson.h

ESP8266 Եղանակի գրադարան

Json-Streaming-Parser գրադարան

Խորհուրդ ենք տալիս: