Բովանդակություն:
- Պարագաներ
- Քայլ 1: Կոդի ուսումնասիրություն
- Քայլ 2: Մնացած օրենսգիրքը…
- Քայլ 3: Մաքուր տվյալների հետ միացում…
- Քայլ 4:
Video: Օգտագործելով Complex Arts Sensor Board- ը ՝ մաքուր տվյալները WiFi- ով վերահսկելու համար. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Երբևէ ցանկացե՞լ եք փորձարկել ժեստերի վերահսկումը: Ձեռքի շարժումով ստիպո՞ւմ եք իրերին շարժվել: Վերահսկե՞լ երաժշտությունը ձեր դաստակի ոլորումով: Այս Instructable- ը ցույց կտա ձեզ, թե ինչպես:
Complex Arts Sensor Board- ը (complexarts.net) բազմակողմանի միկրոկոնտրոլեր է, որը հիմնված է ESP32 WROOM- ի վրա: Այն ունի ESP32 պլատֆորմի բոլոր հնարավորությունները, ներառյալ ներկառուցված WiFi և Bluetooth և 23 կարգավորելի GPIO կապում: Սենսորային տախտակը պարունակում է նաև BNO_085 IMU - 9 DOF շարժման պրոցեսոր, որն իրականացնում է ինքնաթիռի սենսորների միաձուլման և չորրորդական հավասարումներ ՝ ապահովելով գերճշգրիտ կողմնորոշում, ինքնահոս վեկտոր և գծային արագացման տվյալներ: Սենսորային տախտակը կարող է ծրագրավորվել Arduino- ի, MicroPython- ի կամ ESP-IDF- ի միջոցով, սակայն այս դասի համար մենք ծրագրավորելու ենք տախտակը Arduino IDE- ով: Կարևոր է նշել, որ ESP32 մոդուլները բնօրինակի ծրագրավորվող չեն Arduino IDE- ից, բայց դա հնարավոր դարձնելը շատ պարզ է. այստեղ կա հիանալի ձեռնարկ ՝ https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/, որը ավարտելու համար կպահանջվի մոտ 2 րոպե: Կարգավորման վերջին կտորը մեզ անհրաժեշտ է Sensor Board- ի USB-to-UART չիպի համար, որը կարելի է գտնել այստեղ ՝ https://www.silabs.com/products/development-tools/software/usb-to -uart-bridge-vcp-drivers. Պարզապես ընտրեք ձեր OS- ն և տեղադրեք, որը պետք է տևի ևս 2 րոպե: Երբ դա արվի, մենք լավ ենք գնալու:
[Այս դասը չի ենթադրում որևէ ծանոթություն Arduino- ի կամ Pure Data- ի հետ, սակայն այն չի լուսաբանի դրանց տեղադրումը: Arduino- ն կարելի է գտնել aduino.cc կայքում: Մաքուր տվյալները կարելի է գտնել puredata.info կայքում: Երկու կայքերն էլ հեշտությամբ հետևում են տեղադրման և տեղադրման հրահանգներին:]
Նաև… այս ձեռնարկում ներառված հասկացությունները, ինչպիսիք են UDP կապերի ստեղծումը, ESP32- ի ծրագրավորումը Arduino- ով և հիմնական Pure Data patch շենքը, կառուցվածքային բլոկներ են, որոնք կարող են կիրառվել անհամար նախագծերի համար, այնպես որ մի կանգնեք այստեղ հանեց այս հասկացությունները:
Պարագաներ
1. Complex Arts Sensor Board
2. Arduino IDE
3. Մաքուր տվյալներ
Քայլ 1: Կոդի ուսումնասիրություն
Նախ, մենք կանդրադառնանք Arduino կոդին: (Աղբյուրը հասանելի է https://github.com/ComplexArts/SensorBoardArduino- ում: Խորհուրդ է տրվում, որ մենք գնանք ծածկագրին զուգահեռ): Մեզ անհրաժեշտ են որոշ գրադարաններ, որոնցից մեկը հիմնական Arduino գրադարանը չէ, այնպես որ դուք կարող է անհրաժեշտ լինել տեղադրել այն: Այս նախագիծը հիմնված է SparkFun_BNO080_Arduino_Library.h ֆայլի վրա, այնպես որ, եթե դա չունեք, ապա պետք է գնաք ուրվագիծ -> ներառել գրադարան -> կառավարել գրադարանները: Մուտքագրեք «bno080»-ը և կհայտնվի վերը նշված գրադարանը: Կտտացրեք տեղադրել:
Մյուս երեք գրադարանները, որոնք օգտագործվում են, պետք է լռելյայն ունենան Arduino- ն: Նախ, մենք կօգտագործենք SPI գրադարանը `BNO- ի հետ հաղորդակցվելու համար: Հնարավոր է նաև օգտագործել UART ESP32- ի և BNO- ի միջև, բայց քանի որ SparkFun- ն արդեն ունի գրադարան, որը օգտագործում է SPI, մենք դրան կպահպանենք: (Շնորհակալություն, SparkFun!) Ներառյալ SPI.h ֆայլը թույլ կտա մեզ ընտրել, թե որ կապումներն ու նավահանգիստներն ենք ցանկանում օգտագործել SPI հաղորդակցության համար:
WiFi գրադարանը պարունակում է գործառույթներ, որոնք թույլ են տալիս միանալ անլար ցանցին: WiFiUDP- ն պարունակում է գործառույթներ, որոնք թույլ են տալիս մեզ տվյալ տվյալներ ուղարկել և ստանալ: Հաջորդ երկու տողերը մեզ բերում են ցանց `մուտքագրեք ձեր ցանցի անունը և գաղտնաբառը: Դրանից հետո երկու տողերում նշվում է ցանցի հասցեն և նավահանգիստը, որին մենք ուղարկում ենք մեր տվյալները: Այս դեպքում մենք պարզապես կհեռարձակենք, ինչը նշանակում է, որ այն ուղարկենք մեր ցանցի բոլորին, ովքեր լսում են: Պորտի համարը որոշում է, թե ով է լսում, ինչպես կտեսնենք մի փոքր անց:
Այս հաջորդ երկու տողերը անդամներ են ստեղծում իրենց համապատասխան դասերի համար, որպեսզի հետագայում հեշտությամբ կարողանանք մուտք գործել նրանց գործառույթները:
Հաջորդը, մենք հանձնարարում ենք ESP- ի համապատասխան կապում BNO- ի իրենց համապատասխան կապում:
Այժմ մենք ստեղծում ենք SPI դասի անդամ ՝ նաև սահմանելով SPI պորտի արագությունը:
Վերջապես, մենք անցնում ենք տեղադրման գործառույթին: Այստեղ մենք կսկսենք սերիական նավահանգիստ, որպեսզի ցանկության դեպքում կարողանանք այդ կերպ վերահսկել մեր ելքը: Այնուհետև մենք սկսում ենք WiFi- ն: Ուշադրություն դարձրեք, որ ծրագիրը շարունակելուց առաջ սպասում է WiFi միացման: Երբ WiFi- ն միացված է, մենք սկսում ենք UDP կապը, այնուհետև տպել մեր ցանցի անունը և մեր IP հասցեն սերիական մոնիտորին: Դրանից հետո մենք սկսում ենք SPI նավահանգիստը և ստուգում ESP- ի և BNO- ի միջև հաղորդակցության առկայությունը: Վերջապես, մենք գործառույթը կոչում ենք «enableRotationVector (50)»; քանի որ այս դասի համար մենք կօգտագործենք միայն պտույտի վեկտոր:
Քայլ 2: Մնացած օրենսգիրքը…
Մինչև հիմնական հանգույց () անցնելը, մենք ունենք «mapFloat» կոչվող գործառույթ:
Սա սովորական գործառույթ է, որը մենք ավելացրել ենք այլ արժեքներին արժեքներ քարտեզագրելու կամ մասշտաբելու համար: Ներկառուցված քարտեզի գործառույթը Arduino- ում թույլ է տալիս միայն ամբողջ թվերի քարտեզագրում, սակայն BNO- ից մեր բոլոր սկզբնական արժեքները կլինեն -1 -ի և 1 -ի միջև, այնպես որ մենք ստիպված կլինենք ձեռքով դրանք մեծացնել այն արժեքներին, որոնք մենք իսկապես ցանկանում ենք: Այնուամենայնիվ, անհանգստացեք. Ահա հենց դա անելու պարզ գործառույթը.
Այժմ մենք գալիս ենք հիմնական հանգույցին (): Առաջին բանը, որ կնկատեք, մեկ այլ արգելափակման գործառույթ է, ինչպիսին այն է, ինչը ստիպում է ծրագրին սպասել ցանցային կապի: Այս մեկը դադարում է, մինչև չկան տվյալներ BNO- ից: Երբ սկսում ենք ստանալ այդ տվյալները, մենք մուտքային քառյակային արժեքները նշանակում ենք լողացող կետի փոփոխականներին և այդ տվյալները տպում ենք սերիական մոնիտորին:
Այժմ մենք պետք է քարտեզագրենք այդ արժեքները:
[Մի խոսք UDP հաղորդակցության մասին. Տվյալները փոխանցվում են UDP- ով 8-բիթանոց փաթեթներով կամ 0-255-ի արժեքներով: 255 -ից բարձր որևէ բան կտեղափոխվի հաջորդ փաթեթ ՝ ավելացնելով դրա արժեքը: Հետևաբար, մենք պետք է համոզվենք, որ 255 -ից բարձր արժեքներ չկան:]
Ինչպես արդեն նշվեց, մենք ունենք մուտքային արժեքներ -1 -1 միջակայքում: Սա մեզ աշխատելու շատ բան չի տալիս, քանի որ 0 -ից ցածր որևէ բան կջնջվի (կամ կցուցադրվի որպես 0), և մենք չենք կարող անել տոննա 0 -1 արժեքներով: Սկզբում մենք պետք է հայտարարենք նոր փոփոխական, որը կպահի մեր քարտեզագրված արժեքը, այնուհետև վերցնում ենք այդ սկզբնական փոփոխականը և քարտեզագրում այն -1 -1 -ից 0 -255 ՝ արդյունքը վերագրելով մեր նոր փոփոխականին Nx
Այժմ, երբ մենք ունենք մեր քարտեզագրված տվյալները, կարող ենք հավաքել մեր փաթեթը: Դա անելու համար մենք պետք է հայտարարենք փաթեթային տվյալների բուֆեր ՝ դրան տալով [50] չափ ՝ համոզվելու համար, որ բոլոր տվյալները կհամապատասխանեն: Այնուհետև մենք սկսում ենք փաթեթը վերը նշված հասցեով և նավահանգստով, գրում ենք մեր բուֆերը և 3 արժեքը to to փաթեթին, այնուհետև ավարտում ենք փաթեթը:
Վերջապես, մենք տպագրում ենք մեր քարտեզագրված կոորդինատները սերիական մոնիտորի վրա: Այժմ Arduino կոդը ավարտված է: Միացրեք կոդը Սենսորների տախտակին և ստուգեք սերիական մոնիտորը `համոզվելու համար, որ ամեն ինչ աշխատում է, ինչպես և սպասվում էր: Դուք պետք է տեսնեք չորրորդական արժեքները, ինչպես նաև քարտեզագրված արժեքները:
Քայլ 3: Մաքուր տվյալների հետ միացում…
Հիմա մաքուր տվյալների համար: Բացեք Մաքուր տվյալները և սկսեք նոր կարկատել (ctrl n): Կարկատը, որը մենք կստեղծենք, շատ պարզ է ՝ ունենալով ընդամենը յոթ օբյեկտ: Առաջինը, որ մենք պատրաստվում ենք ստեղծել, [netreceive] օբյեկտն է: Սա մեր կարկատանի հացն ու կարագն է, որը կարգավորում է UDP- ի բոլոր հաղորդակցությունները: Ուշադրություն դարձրեք, որ [netreceive] օբյեկտի երեք փաստարկ կա. -u- ն սահմանում է UDP, -b- ը `երկուական, և 7401 -ը, իհարկե, այն նավահանգիստն է, որը մենք լսում ենք: Կարող եք նաև ուղարկել «լսել 7401» հաղորդագրությունը [netreceive] հասցեին ՝ ձեր նավահանգիստը նշելու համար:
Երբ մենք մուտքագրենք տվյալներ, մենք պետք է բացենք դրանք: Եթե մենք միացնում ենք [տպման] օբյեկտը [netrecieve] - ին, ապա մենք կարող ենք տեսնել, որ տվյալները սկզբում մեզ են հասնում որպես թվերի հոսք, բայց մենք ցանկանում ենք վերլուծել այդ թվերը և օգտագործել դրանցից յուրաքանչյուրը ինչ -որ այլ բանի համար: Օրինակ, գուցե ցանկանաք օգտագործել X առանցքի պտույտը ՝ տատանումների տեմպը վերահսկելու համար, իսկ Y առանցքը ՝ ծավալի կամ ցանկացած այլ հնարավորությունների համար: Դա անելու համար տվյալների հոսքն անցնում է [չբացահայտել] օբյեկտի միջով, որն ունի երեք բոց (f f f) նրա փաստարկներն են:
Հիմա, երբ դու այսքան հեռու ես, աշխարհը քո ոստրեն է: Դուք ունեք անլար վերահսկիչ, որը կարող եք օգտագործել ՝ մաքրելու այն ամենը, ինչ ցանկանում եք Մաքուր տվյալների տիեզերքում: Բայց կանգ առեք այնտեղ: Բացի Պտտման վեկտորից, փորձեք արագացուցիչը կամ մագնիսաչափը: Փորձեք օգտագործել BNO- ի հատուկ գործառույթներ, ինչպիսիք են «կրկնակի թակել» կամ «թափահարում»: Ընդամենը պետք է մի փոքր փորփրել օգտվողի ձեռնարկները (կամ հաջորդ հրահանգը …):
Քայլ 4:
Այն, ինչ մենք արել ենք վերևում, ստեղծում է հաղորդակցություն սենսորային տախտակի և մաքուր տվյալների միջև: Եթե ցանկանում եք սկսել ավելի շատ զվարճանալ, միացրեք ձեր տվյալների արդյունքները որոշ տատանումների հետ: Խաղացեք ձայնի վերահսկման հետ: Գուցե վերահսկեք որոշ հետաձգման ժամանակներ կամ արձագանքեք: աշխարհը քո ոստրե է:
Խորհուրդ ենք տալիս:
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (միայն Windows- ի համար). 9 քայլ
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (Միայն Windows). Քանի որ մենք գտնվում ենք գլոբալ համաճարակի մեջ, մեզանից շատերը խրված են տան մաքրման և խոշորացման հանդիպումներին միանալու մեջ: Որոշ ժամանակ անց սա կարող է դառնալ շատ ձանձրալի և հոգնեցուցիչ: Տունը մաքրելիս ես գտա Guitar Hero- ի հին կիթառը, որը գցված էր
MicroPython on Complex Arts Sensor Board: 3 քայլ
MicroPython on Complex Arts Sensor Board. ESP32 միկրոկառավարիչի ամենազարմանալի կողմերից մեկը MicroPython- ը գործարկելու ունակությունն է: Դա կարելի է անել երկու եղանակով ՝ Python- ի ամբողջական ծրագրերի գործարկում, կամ ինտերակտիվ ՝ մխիթարիչ ծրագրի միջոցով: Այս ձեռնարկը ցույց կտա, թե ինչպես օգտագործել
Օգտագործեք ուղղագրություններ ՝ ձեր համակարգիչը վերահսկելու համար: 7 քայլ (նկարներով)
Օգտագործեք ուղղագրություններ ՝ ձեր համակարգիչը կառավարելու համար. Երբևէ ցանկացե՞լ եք օգտագործել Հարի Փոթերի նման հմայքներ: Փոքրիկ աշխատանքով և որոշ ձայնային ճանաչմամբ դա կարելի է յուրացնել: Այս նախագծի համար անհրաժեշտ է ՝ Windows XP կամ VistaA խոսափողով համակարգիչ, որոշ ժամանակ և համբերություն: Եթե ձեզ դուր եկավ այս հրահանգը
Ինչպես կատարել IoT սարք ՝ վերահսկելու տեխնիկան և վերահսկելու եղանակը ՝ օգտագործելով Esp8266: 5 քայլ
Ինչպես պատրաստել IoT սարք ՝ սարքերը վերահսկելու և եղանակը վերահսկելու համար ՝ օգտագործելով Esp8266- ը: Իրերի ինտերնետը (IoT) ֆիզիկական սարքերի (ինչպես նաև «միացված սարքեր» և «խելացի սարքեր») շենքերի փոխկապակցումն է: և այլ իրեր և mdash; ներկառուցված էլեկտրոնիկայի, ծրագրակազմի, տվիչների, գործարկիչների և
Ինչպես օգտագործել ESP32 ՝ LED- ն Blynk- ով WiFi- ով վերահսկելու համար. 7 քայլ (նկարներով)
Ինչպես օգտագործել ESP32- ը Blynk- ի միջոցով LED- ը վերահսկելու համար. Այս ձեռնարկը կօգտագործի ESP32 զարգացման տախտակը `Blynk- ով LED- ն WiFi- ով վերահսկելու համար: Blynk- ը հարթակ է iOS և Android հավելվածներով ՝ Arduino- ն, Raspberry Pi- ն և նմանատիպ սարքերը ինտերնետով կառավարելու համար: Դա թվային վահանակ է, որտեղ կարող եք կառուցել