Բովանդակություն:
- Քայլ 1: Օգտագործված ռեսուրսներ
- Քայլ 2: Հավաքում
- Քայլ 3. Նոր ծրագիր MBED- ում
- Քայլ 4: DS18b20 գրադարանի ներմուծում
- Քայլ 5. Նոր ծրագիր MBED- ում
- Քայլ 6: Աղբյուրի կոդ
- Քայլ 7: Ստացված տվյալները
- Քայլ 8. Ներառեք ավելի շատ տվիչներ
- Քայլ 9: Դիտեք աղբյուրը
- Քայլ 10: Ֆայլեր
Video: Անհավատալիորեն հեշտ է ծրագրավորել: 10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Այսօր ես կխոսեմ STM32 Core- ի, L476RG- ի մասին, որը Ultra Low Power- ի դեմքն է: Դուք կարող եք տեսնել այն պատկերի ձախ կողմում: Այս սարքն ունի երկու կանացի քորոց, յուրաքանչյուր կողմում մեկը, որոնք ոչ այլ ինչ են, քան arduino վահանի միակցիչները: Սա հիանալի է, այնպես չէ՞:
Իմ կարծիքով, STMicroelectronics- ը դա արեց իր զարգացման հավաքածուում, քանի որ գիտի, որ մասնագետներն օգտագործում են այս չիպը: Այս ընկերությունը գնալով գնում է դեպի arduino: Եվ դա նաև ճշմարիտ է մի քանի այլ մասնագիտական STMicroelectronics հավաքածուների համար:
Վերջապես, այսօր նախագծի վերաբերյալ, մենք L476RG- ից բացի, կօգտագործենք երկու DS18b20 տվիչ: Այսպիսով, մենք կկազմենք պարզ հավաքում L476RG- ի միջոցով, գրադարան կներմուծենք MBED միջավայր, կստեղծենք ծրագիր MBED միջավայրում և տվյալներ կստանանք L476RG- ից USB / սերիայի միջոցով:
Այս տեսանյութում ես արդեն մի փոքր խոսել եմ L476RG- ի մասին. ՄԻԿՐՈԿՈՏԵԼՈLԻՉ PROՐԱԳՐԵԼՈAS ՀԵՌՈ ՀԱՐAY, որտեղ ես ցույց եմ տալիս, թե ինչպես կարգավորել MBED միջավայրը, որն առցանց է:
Որոշ մարդիկ, ովքեր հետևում են իմ տեսանյութերին, ինձ հարցնում են, թե արդյոք STM32- ը փոխարինում է ESP32- ին: Ես ասում եմ մի բան. Այն չի փոխարինում և չէր կարող, քանի որ դրանք երկու բոլորովին տարբեր բաներ են:
Այս STM32 չիպը միկրոկոնտրոլեր է, ավելի ճիշտ; դա «իրերի կլաստեր» չէ, ինչպես ESP32- ն է: Այսպիսով, անունը կարող է նման լինել, բայց դրանք բոլորովին այլ են: STM32- ը ընդհանուր նշանակության միկրոկոնտրոլեր է, օրինակ ՝ PIC, Atmel, օրինակ:
Քայլ 1: Օգտագործված ռեսուրսներ
1 միջուկ L476RG
2 սենսոր DS18b20 (մենք օգտագործում ենք շուկայում առկա ընդհանուր անջրանցիկ մոդուլները)
1 4k7 ռեզիստոր
Մինի նախատախտակ
Թռիչքներ միացման համար
Քայլ 2: Հավաքում
Սկզբում մենք կիրականացնենք հավաքումը `օգտագործելով ջերմաստիճանի տվիչներից մեկը:
Նրա հզորությունը կլինի 5 Վ:
Տվյալների գծում (1-Wire) քաշքշուկ կատարելու համար կօգտագործվի 4k7 ռեզիստոր:
Մենք կկարդանք տվյալները ՝ օգտագործելով A0 կապը:
Քայլ 3. Նոր ծրագիր MBED- ում
Երբ ձեր հաշիվը ստեղծեք MBED- ում և մուտք գործեք այն, մենք կստեղծենք նոր ծրագիր: Դա անելու համար աջ սեղմեք «Իմ ծրագրերը» և ընտրեք «Նոր ծրագիր …»:
Հաստատեք, որ «Հարթակը» համապատասխանում է ձեր օգտագործած տախտակին:
Այժմ մենք կտտացնում ենք «Կաղապար»:
Մենք կստեղծենք ծրագիր ՝ հիմնվելով «Displayուցադրել հաղորդագրություն համակարգչում ՝ օգտագործելով UART» օրինակը:
Մուտքագրեք ծրագրի անունը «Nameրագրի անվանումը»:
Ստուգեք «Թարմացրեք այս ծրագիրը և գրադարանները վերջին վերանայմանը» տարբերակը:
Ձեր ծրագրի համար նոր թղթապանակ կստեղծվի, ներառյալ կանխադրված MBED գրադարանը և main.cpp ֆայլը:
Դուք կարող եք օգտագործել այն փորձարկելու համար, եթե ամեն ինչ լավ է աշխատում: Դա անելու համար պարզապես կազմեք այն և պատճենեք այն հարթակին:
Օգտագործելով ձեր ընտրած սերիական տերմինալը, կարող եք ստանալ հետևյալ հաղորդագրությունները:
Քայլ 4: DS18b20 գրադարանի ներմուծում
Քանի որ Ds18b20- ի համար գրադարանների մի քանի տարբերակ կա, մենք կներմուծենք url- ի միջոցով, որպեսզի ձեր օրինակը օգտագործի նույն գրադարանը:
Քայլ 5. Նոր ծրագիր MBED- ում
«Աղբյուրի URL» դաշտում լրացրեք ՝ https://os.mbed.com/users/Sissors/code/DS1820/ և կտտացրեք ներմուծմանը:
Ձեր DS1820 գրադարանը պետք է հայտնվի ձեր ծրագրի թղթապանակում:
Քայլ 6: Աղբյուրի կոդ
Ներառում է
Մենք սկսեցինք ՝ ներառելով անհրաժեշտ գրադարանները:
#ներառել «mbed.h» // ներառյալ biblioteca padrão do MBED#ներառել «DS1820.h» // ներառյալ biblioteca do sensor DS1820
Մենք սահմանում ենք հաստատուններ, որոնք կներկայացնեն օգտագործվող կապում:
Նկատի ունեցեք, որ DS18b20- ը 1-WIRE հաղորդակցմամբ սենսոր է: Այդ պատճառով մենք օգտագործում ենք այն գրադարանը, որը կզբաղվի սարքերի հետ հաղորդակցության ամբողջ արձանագրությամբ: Սա ներառում է յուրաքանչյուր սարքի նույնականացում մինչև կարդալու հրամանները:
#սահմանել PINO_DE_DADOS A0 // սահմանել pino para leitura dos dados#սահմանել MAX_SENSORES 16 // սահմանել o número máximo para o vetor de sensores
Մենք ստեղծում ենք վեկտոր, որը մատնանշելու է տվյալների տողին միացված 16 հնարավոր սարքերից յուրաքանչյուրը:
DS1820* տվիչ [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Մենք սկսում ենք հիմնական () մեթոդը, որտեղ, օգտագործելով DS1820 գրադարանում պարունակվող «unassignedProbe ()» մեթոդը, մենք փնտրում ենք բոլոր հասանելի սարքերը կապի գծում:
Մենք լրացնում ենք տվիչների վեկտորը այն դեպքերով, որոնք կներկայացնեն առկա սենսորներից յուրաքանչյուրը:
Մենք դա անում ենք մինչև վերջինը չգտնվի կամ մինչև հասնենք առավելագույնը 16 սենսորների:
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; եթե (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Մենք ուղարկում ենք գծում հայտնաբերված տվիչների քանակը:
printf ("Dispositivos encontrado (ներ): %d / r / n / n", encontrados);
Մենք սկսում ենք անսահման օղակ ՝ խնդրելով, որ առկա բոլոր տվիչները հաշվեն իրենց համապատասխան ջերմաստիճանը, այնուհետև կրկնվեն սենսորային վեկտորի միջով ՝ ուղարկելով ստացված ընթերցումները:
printf ("Dispositivos encontrado (ներ): %d / r / n / n", encontrados); մինչդեռ (1) {տվիչ [0]-> convertTemperature (ճշմարիտ, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); սպասել (1); }
Քայլ 7: Ստացված տվյալները
Օգտագործելով մեկ սենսոր ՝ մենք ստանում ենք հետևյալ սերիական ելքը:
Քայլ 8. Ներառեք ավելի շատ տվիչներ
Կոդը ստուգելու համար մենք մեկ այլ սենսոր ենք ներդնում կապի գծում ՝ պարզապես այն միացնելով առաջին սենսորին զուգահեռ:
Հիշեք, որ անջատեք հավաքումը նախքան նոր սենսորներ միացնելը:
Համագումարը վերագործարկելիս մենք ստացանք հետևյալ ելքը ՝ առանց աղբյուրի կոդի որևէ փոփոխության:
Քայլ 9: Դիտեք աղբյուրը
#ներառել «mbed.h» // ներառյալ biblioteca padrão do MBED #ներառել «DS1820.h» // ներառյալ biblioteca do sensor DS1820 #սահմանել PINO_DE_DADOS A0 // սահմանել պինո պարապմունքների համար dados #սահմանել MAX_SENSORES 16 // սահմանել o número máximo para o vetor de sensores DS1820* տվիչ [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; եթե (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (ներ): %d / r / n / n", encontrados); մինչդեռ (1) {տվիչ [0]-> convertTemperature (ճշմարիտ, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); սպասել (1); }}
Քայլ 10: Ֆայլեր
Մյուսները
Խորհուրդ ենք տալիս:
Ինչպե՞ս ծրագրավորել Arduino Mega 2560 Core ?: 3 քայլ
Ինչպե՞ս ծրագրավորել Arduino Mega 2560 Core- ը. Դա Arduino mega 2560- ի ավելի փոքր տարբերակն է և, ըստ երևույթին, կոչվում է Arduino mega core … Չնայած կար մեկ խնդիր. Այն չի ներառում USB միացում և շատ բան չկա
Ինչպես ֆլեշ կամ ծրագրավորել ESP8266- ի որոնվածը `օգտագործելով ESP8266 ֆլեշերը և ծրագրավորողը, IOT Wifi մոդուլը. 6 քայլ
Ինչպես ջնջել կամ ծրագրավորել ESP8266- ի որոնվածը `օգտագործելով ESP8266 ֆլեշերը և ծրագրավորողը, IOT Wifi մոդուլը. Նկարագրություն. Այս մոդուլը USB ադապտեր /ծրագրավորող է ESP-01 կամ ESP-01S տիպի ESP8266 մոդուլների համար: Այն հարմար տեղադրված է 2x4P 2.54 մմ կանացի վերնագրով ՝ ESP01- ը միացնելու համար: Նաև այն ճեղքում է ESP-01- ի բոլոր կապանքները 2x4P 2.54 մմ արական ժապավենի միջոցով
Ինչպես ծրագրավորել IR ապակոդավորիչը բազմաշերտ AC շարժիչի կառավարման համար `7 քայլ
Ինչպես ծրագրավորել IR ապակոդավորիչը բազմաշերտ AC շարժիչի կառավարման համար. Միաֆազ փոփոխական հոսանքի շարժիչները սովորաբար հանդիպում են կենցաղային իրերում, ինչպիսիք են երկրպագուները, և դրանց արագությունը կարելի է հեշտությամբ վերահսկել մի շարք դիսկրետ ոլորուններ սահմանված արագությունների համար օգտագործելիս: Այս հրահանգում մենք կառուցում ենք թվային վերահսկիչ, որը
Ինչպես ծրագրավորել ESP32 M5Stack StickC- ը Arduino IDE- ի և Visuino- ի հետ. 12 քայլ
Ինչպես ծրագրավորել ESP32 M5Stack StickC- ը Arduino IDE- ի և Visuino- ի հետ. Այս ձեռնարկում մենք կսովորենք, թե ինչպես ծրագրավորել ESP32 M5Stack StickC- ը Arduino IDE- ի և Visuino- ի հետ: Դիտեք ցուցադրական տեսանյութ
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ մեկ կտտոցով Windows և Linux հավելվածով (32 բիթ և 64 բիթ): Հեշտ է վերստեղծել, Հեշտ օգտագործել, Հեշտ տեղափոխել ՝ 3 քայլ
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ ՝ մեկ կտտոցով Windows և Linux հավելվածով (32-բիթ և 64-բիթ): Հեշտ է վերստեղծել, դյուրին օգտագործել, հեշտ է տեղափոխել. LED- ները դրանք լուսավորելու են ըստ հարվածի էֆեկտների (Snare, High Hat, Kick)