Turinys:
- 1 žingsnis: naudojami ištekliai
- 2 žingsnis: Surinkimas
- 3 žingsnis: nauja programa MBED
- 4 veiksmas: DS18b20 bibliotekos importavimas
- 5 veiksmas: nauja programa MBED
- 6 žingsnis: šaltinio kodas
- 7 žingsnis: Gauti duomenys
- 8 žingsnis: įtraukite daugiau jutiklių
- 9 veiksmas: peržiūrėkite šaltinį
- 10 veiksmas: failai
Video: Neįtikėtinai lengva programuoti!: 10 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiandien aš kalbėsiu apie „STM32 Core“, L476RG, kuris yra itin mažos galios veidas. Tai galite pamatyti paveikslėlio kairėje. Šiame įrenginyje yra dvi moteriškos kaiščių juostos, po vieną kiekvienoje pusėje, kurios yra ne kas kita, kaip „arduino“skydo jungtys. Tai puiku, ar ne?
Mano nuomone, „STMicroelectronics“tai padarė savo kūrimo rinkinyje, nes žino, kad profesionalai naudoja šią mikroschemą. Ši kompanija vis labiau eina arduino link. Tai pasakytina ir apie keletą kitų profesionalių „STMicroelectronics“rinkinių.
Galiausiai, kalbant apie šiandieninį projektą, be L476RG naudosime du DS18b20 jutiklius. Taigi, mes padarysime paprastą surinkimą naudodami L476RG, importuosime biblioteką į MBED aplinką, sukursime programą MBED aplinkoje ir gausime duomenis iš L476RG per USB / seriją.
Aš jau šiek tiek kalbėjau apie L476RG šiame vaizdo įraše: LENGVESNIS BŪDAS PROGRAMUOTI MIKROKONTROLDERĮ, kuriame parodau, kaip konfigūruoti MBED aplinką, kuri yra internete.
Kai kurie žmonės, kurie seka mano vaizdo įrašus, manęs klausia, ar STM32 pakeičia ESP32. Aš sakau vieną dalyką: jis nepakeičia ir negalėjo, nes tai du visiškai skirtingi dalykai.
Šis STM32 lustas yra mikrovaldiklis, tiksliau; tai nėra „dalykų grupė“, kaip yra ESP32. Taigi pavadinimas gali atrodyti panašus, tačiau jie visiškai skirtingi. STM32 yra bendrosios paskirties mikrovaldiklis, pvz., PIC, „Atmel“.
1 žingsnis: naudojami ištekliai
1 branduolys L476RG
2 DS18b20 jutikliai (mes naudojame įprastus vandeniui atsparius modulius)
1 4k7 rezistorius
Mini protoboard
Džemperiai prijungimui
2 žingsnis: Surinkimas
Surinkimą iš pradžių atliksime naudodami vieną iš temperatūros jutiklių.
Jo galia bus 5 V.
4k7 rezistorius bus naudojamas duomenų linijai (1 viela) ištraukti.
Mes perskaitysime duomenis naudodami A0 kaištį.
3 žingsnis: nauja programa MBED
Kai sukursite savo paskyrą MBED ir prieisite prie jos, sukursime naują programą. Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite „Mano programos“ir pasirinkite „Nauja programa …“
Patikrinkite, ar „platforma“atitinka jūsų naudojamą plokštę.
Dabar spustelėkite „Šablonas“.
Mes sukursime programą pagal pavyzdį „Rodyti pranešimą kompiuteryje naudojant UART“.
„Programos pavadinime“įveskite programos pavadinimą.
Patikrinkite parinktį „Atnaujinti šią programą ir bibliotekas iki naujausios versijos“.
Bus sukurtas naujas jūsų programos aplankas, įskaitant numatytąją MBED biblioteką ir failą main.cpp.
Galite jį naudoti norėdami patikrinti, ar viskas gerai veikia. Norėdami tai padaryti, tiesiog sukompiliuokite jį ir nukopijuokite į platformą.
Naudodami pasirinktą nuoseklųjį terminalą, galite gauti šiuos pranešimus.
4 veiksmas: DS18b20 bibliotekos importavimas
Kadangi yra kelios „Ds18b20“bibliotekų versijos, importuosime naudodami URL, kad jūsų pavyzdys naudotų tą pačią biblioteką.
5 veiksmas: nauja programa MBED
Lauke „Šaltinio URL“užpildykite: https://os.mbed.com/users/Sissors/code/DS1820/ ir spustelėkite importuoti.
Jūsų DS1820 biblioteka turėtų būti rodoma jūsų programos aplanke.
6 žingsnis: šaltinio kodas
Apima
Pradėjome įtraukdami reikiamas bibliotekas.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Mes apibrėžiame konstantas, kurios parodys naudojamus kaiščius.
Atkreipkite dėmesį, kad DS18b20 yra jutiklis su 1-WIRE ryšiu. Dėl šios priežasties mes naudojame biblioteką, kuri tvarkys visą ryšio su įrenginiais protokolą. Tai apima kiekvieno įrenginio identifikavimą iki skaitymo komandų.
#define PINO_DE_DADOS A0 // define o pino para leitura dos dados#define MAX_SENSORES 16 // define o número máximo para o vetor de sensores
Mes sukuriame vektorių, kuris nurodys kiekvieną iš 16 galimų įrenginių, prijungtų prie duomenų linijos.
DS1820* jutiklis [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Pradedame pagrindinį () metodą, kuriame, naudojant „unassignedProbe ()“metodą, esantį DS1820 bibliotekoje, ieškome visų turimų ryšio linijos įrenginių.
Mes užpildome jutiklio vektorių egzemplioriais, kurie parodys kiekvieną turimą jutiklį.
Mes tai darome, kol bus rastas paskutinis arba kol pasieksime ne daugiau kaip 16 jutiklių.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a a cura por por sensores sensor [encontrados] = naujas DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Siunčiame eilutėje rastų jutiklių skaičių.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Mes pradedame begalinę kilpą, prašydami, kad visi turimi jutikliai apskaičiuotų atitinkamą temperatūrą, o tada pakartotų per jutiklio vektorių, siųsdami gautus rodmenis.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (tiesa, DS1820:: visi įrenginiai); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); palaukti (1); }
7 žingsnis: Gauti duomenys
Naudodami vieną jutiklį, gauname tokią serijinę išvestį.
8 žingsnis: įtraukite daugiau jutiklių
Norėdami patikrinti kodą, mes įvedame kitą jutiklį į ryšio liniją, tiesiog prijungdami jį lygiagrečiai su pirmuoju jutikliu.
Nepamirškite išjungti agregato prieš prijungdami naujus jutiklius.
Paleisdami surinkimą iš naujo, gavome šią išvestį be jokių šaltinio kodo pakeitimų.
9 veiksmas: peržiūrėkite šaltinį
#include "mbed.h" // inclusão da biblioteca padrão do MBED #include "DS1820.h" // incluão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #define MAX_SENSORES 16 // define o número máximo para arba vetor de sensores DS1820* jutiklis [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 a sensurares sensor [encontrados] = naujas DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (tiesa, DS1820:: visi įrenginiai); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); palaukti (1); }}
10 veiksmas: failai
Kiti
Rekomenduojamas:
Kaip „Flash“arba programuoti ESP8266 AT programinę įrangą naudojant ESP8266 blykstę ir programuotoją, „IOT Wifi“modulį: 6 žingsniai
Kaip „Flash“arba programuoti ESP8266 AT programinę įrangą naudojant ESP8266 „Flash“ir programuotoją, „IOT Wifi“modulį: Aprašymas: Šis modulis yra USB adapteris /programuotojas, skirtas ESP-0166 arba ESP-01S tipo ESP8266 moduliams. Jame patogiai sumontuota 2x4P 2,54 mm jungtis, skirta prijungti ESP01. Taip pat jis išlaužia visus ESP-01 kaiščius per 2x4P 2,54 mm kištuką
LED laikrodis naudojant 555 ir 4017 (nereikia programuoti): 8 žingsniai (su paveikslėliais)
LED laikrodis naudojant 555 ir 4017 (nereikia programuoti): Čia pristatysiu projektą, kurį suprojektavau ir padariau maždaug prieš 7 metus. Projekto idėja yra naudoti skaitiklių IC, pvz., 4017, generuoti signalus, valdančius šviesos diodų mirksėjimą analoginio laikrodžio rodyklės
„Pasidaryk pats“„MusiLED“, muzikos sinchronizuoti šviesos diodai su vienu paspaudimu „Windows“ir „Linux“programa (32 bitų ir 64 bitų). Lengva atkurti, paprasta naudoti, lengva perkelti: 3 žingsniai
Pasidaryk pats „MusiLED“, muzikos sinchronizuoti šviesos diodai su vienu paspaudimu „Windows“ir „Linux“programa (32 bitų ir 64 bitų). Lengva atkurti, paprasta naudoti, lengva perkelti. Šis projektas padės jums prijungti 18 šviesos diodų (6 raudonos + 6 mėlynos + 6 geltonos) prie „Arduino“plokštės ir išanalizuoti kompiuterio garso plokštės realaus laiko signalus ir perduoti juos šviesos diodai, kad jie užsidegtų pagal ritmo efektus (Snare, High Hat, Kick)
„Arduino Uno“programuoti ATTINY84 (Arduino V. 1.8.5): 6 žingsniai
„Arduino Uno“programuoti ATTINY84 („Arduino V. 1.8.5“): naudojant „Arduino Uno“programuoti ATTINY84-20PU („Digikey item # ATTINY84-20-PU-ND“). Šioje instrukcijoje parodyta, kaip naudoti „Arduino“platformą darbui su fiziškai mažesniais procesoriais, tokiais kaip ATtiny84 (84/44/24). Šis pavyzdys skirtas būtent
Kaip lengvai pakeisti „Šviesos/LED“ženklą, kad būtų galima lengvai programuoti „Arduino“: 7 žingsniai (su paveikslėliais)
Kaip lengvai pakeisti „Šviesos/šviesos diodų“ženklą, kad būtų galima lengvai programuoti „Arduino“: Šioje instrukcijoje parodysiu, kaip kiekvienas gali ką nors su žiburiais paversti programuojamomis mirksinčiomis arduino lemputėmis arba „Judančiomis šviesomis“