Përmbajtje:
- Hapi 1: Burimet e përdorura
- Hapi 2: Montimi
- Hapi 3: Program i ri në MBED
- Hapi 4: Importimi i Bibliotekës DS18b20
- Hapi 5: Program i ri në MBED
- Hapi 6: Kodi Burimor
- Hapi 7: Të dhënat e marra
- Hapi 8: Përfshirja e më shumë sensorëve
- Hapi 9: Shikoni Burimin
- Hapi 10: Skedarët
Video: Tepër e lehtë për tu programuar !: 10 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:25
Sot, unë do të flas për STM32 Core, L476RG, i cili është fytyra e Ultra Low Power. Mund ta shihni në të majtë të figurës. Kjo pajisje ka dy shufra pin femra, një në secilën anë, të cilat nuk janë asgjë më shumë se lidhësit për mburojën arduino. Kjo është e mrekullueshme, apo jo?
Sipas mendimit tim, STMicroelectronics e bëri këtë në Kompletin e saj të Zhvillimit sepse e di që profesionistët përdorin këtë çip. Kjo kompani po shkon gjithnjë e më shumë drejt arduino. Dhe kjo është gjithashtu e vërtetë për disa pajisje të tjera profesionale STMicroelectronics.
Së fundi, në lidhje me projektin sot, ne do të përdorim dy sensorë DS18b20 përveç L476RG. Pra, ne do të bëjmë një asamble të thjeshtë duke përdorur L476RG, do të importojmë një bibliotekë në mjedisin MBED, do të krijojmë një program në mjedisin MBED dhe do të marrim të dhëna nga L476RG nëpërmjet USB / Serial.
Unë tashmë kam folur pak për L476RG në këtë video: MAYNYRA MAS E LIR P TOR TGR PROGRAMUAR NJ MIKROKONTROLLUES, ku unë tregoj se si të konfiguroni mjedisin MBED, i cili është online.
Disa njerëz që ndjekin videot e mia po më pyesin nëse STM32 zëvendëson ESP32. Unë them një gjë: nuk zëvendëson dhe nuk mundet, sepse ato janë dy gjëra krejtësisht të ndryshme.
Ky çip STM32 është një mikrokontrollues, ose më mirë; nuk është një "grup gjërash" siç është ESP32. Pra, emri mund të duket i ngjashëm, por ato janë krejtësisht të ndryshme. STM32 është një mikrokontrollues me qëllime të përgjithshme, të tilla si një PIC, një Atmel, për shembull.
Hapi 1: Burimet e përdorura
1 Core L476RG
2 sensorë DS18b20 (ne përdorim modulet e zakonshme të papërshkueshëm nga uji në treg)
1 rezistencë 4k7
Mini protoboard
Kërcimtarët për lidhje
Hapi 2: Montimi
Fillimisht do të bëjmë montimin duke përdorur një nga sensorët e temperaturës.
Fuqia e tij do të jetë 5V.
Një rezistencë 4k7 do të përdoret për të bërë një tërheqje në vijën e të dhënave (1-Wire).
Ne do t'i lexojmë të dhënat duke përdorur pinin A0.
Hapi 3: Program i ri në MBED
Pasi të keni krijuar llogarinë tuaj në MBED dhe të keni qasje në të, ne do të krijojmë një program të ri. Për ta bërë këtë, klikoni me të djathtën në "Programet e mia" dhe zgjidhni "Programi i ri …"
Konfirmoni që "Platforma" përputhet me tabelën që po përdorni.
Tani klikojmë në "Template".
Ne do të krijojmë një program bazuar në shembullin, "Shfaq një mesazh në PC duke përdorur UART".
Shkruani emrin e programit në "Emri i Programit".
Kontrolloni opsionin "Përditësoni këtë program dhe bibliotekat në rishikimin e fundit".
Do të krijohet një dosje e re për programin tuaj, duke përfshirë bibliotekën e paracaktuar MBED dhe skedarin main.cpp.
Mund ta përdorni për të provuar nëse gjithçka po funksionon mirë. Për ta bërë këtë, thjesht përpiloni atë dhe kopjoni atë në platformë.
Duke përdorur një terminal serial sipas zgjedhjes suaj, mund të merrni mesazhet e mëposhtme.
Hapi 4: Importimi i Bibliotekës DS18b20
Meqenëse ekzistojnë disa versione të bibliotekave për Ds18b20, ne do të importojmë duke përdorur një url në mënyrë që shembulli juaj të përdorë të njëjtën bibliotekë.
Hapi 5: Program i ri në MBED
Në fushën "URL -ja e burimit" plotësoni: https://os.mbed.com/users/Sissors/code/DS1820/ dhe klikoni importin.
Biblioteka juaj DS1820 duhet të shfaqet në dosjen tuaj të programit.
Hapi 6: Kodi Burimor
Përfshin
Ne filluam duke përfshirë bibliotekat e nevojshme.
#përfshi "mbed.h" // përfshi bibliotekën e të dhënave në MBED#përfshi "DS1820.h" // përfshi bibliotekën e sensorit DS1820
Ne përcaktojmë konstantet që do të përfaqësojnë kunjat e përdorura.
Vini re se DS18b20 është një sensor me komunikim 1-WIRE. Për këtë arsye, ne përdorim bibliotekën që do të trajtojë të gjithë protokollin e komunikimit me pajisjet. Kjo përfshin identifikimin e secilës pajisje deri në komandat e leximit.
#përcaktoni PINO_DE_DADOS A0 // përcaktoni pino para leitura dos dados#përcaktoni MAX_SENSORES 16 // përcaktoni o numrat më të afërt për vetorin e sensores
Ne krijojmë një vektor që do të tregojë secilën nga 16 pajisjet e mundshme të lidhura me vijën e të dhënave.
Sensor DS1820* [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Ne fillojmë metodën kryesore (), ku, duke përdorur metodën "unassignedProbe ()" të përmbajtur në bibliotekën DS1820, ne kërkojmë të gjitha pajisjet në dispozicion në linjën e komunikimit.
Ne e mbushim vektorin e sensorit me rastet që do të përfaqësojnë secilin nga sensorët në dispozicion.
Ne e bëjmë këtë derisa të gjendet i fundit ose derisa të arrijmë maksimumin prej 16 sensorë.
int main () {int encontrados = 0; ndërsa (DS1820:: sonda e pacaktuar (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = DS1820 i ri (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; nëse (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Ne dërgojmë numrin e sensorëve të gjetur në linjë.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Ne fillojmë një lak të pafund, duke kërkuar që të gjithë sensorët e disponueshëm të llogaritin temperaturat e tyre përkatëse, dhe pastaj të përsërisin përmes vektorit të sensorit duke dërguar leximet e marra.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); ndërsa (1) {sensor [0]-> convertTemperature (e vërtetë, DS1820:: të gjitha_pajisjet); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. Me Me e retorna a temperatura printf ("\ r / n"); prit (1); }
Hapi 7: Të dhënat e marra
Duke përdorur një sensor të vetëm, marrim daljen serike të mëposhtme.
Hapi 8: Përfshirja e më shumë sensorëve
Për të testuar kodin, ne prezantojmë një sensor tjetër në linjën e komunikimit, thjesht duke e lidhur atë paralelisht me sensorin e parë.
Mos harroni të fikni montimin para se të lidhni sensorë të rinj.
Kur rinisim asamblenë, morëm daljen e mëposhtme, pa asnjë ndryshim në kodin burimor.
Hapi 9: Shikoni Burimin
#përfshi "mbed.h" // përfshirë bibliotekën e të dhënave për MBED #përfshijnë "DS1820.h" // përfshirë bibliotekën për sensorin DS1820 #përcakto PINO_DE_DADOS A0 // përcakto pino për leitura dos dados #define MAX_SENSORES 16 // përcakto o numrat më të afërt për të kontrolluar sensorët DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; ndërsa (DS1820:: sonda e pacaktuar (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = DS1820 i ri (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; nëse (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); ndërsa (1) {sensor [0]-> convertTemperature (e vërtetë, DS1820:: të gjitha_pajisjet); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. Me Me e retorna a temperatura printf ("\ r / n"); prit (1); }}
Hapi 10: Skedarët
Të tjerët
Recommended:
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër): 9 hapa
Prototipi Smart Motor HUD (Navigacion kthesë-nga-kthesë dhe shumë më tepër): Përshëndetje! Ky Instructables është historia se si kam projektuar dhe ndërtuar një platformë HUD (Heads-Up Display) e krijuar për t'u montuar në helmetat e motoçikletave. Shtë shkruar në kontekstin e konkursit "harta". Mjerisht, nuk isha në gjendje ta përfundoja plotësisht
Bëra një CD të vjetër në robot Wifi duke përdorur Nodemcu, L298N Motor Drive dhe shumë më tepër .: 5 hapa
Bëra një CD të vjetër në Robot Wifi duke përdorur Nodemcu, L298N Motor Drive dhe shumë më tepër .: VX Robotics & Elektronika e pranishme
Mënyra më e lehtë për të programuar një mikrokontrollues !: 9 hapa
Mënyra më e lehtë për të programuar një mikrokontrollues!: A jeni interesant të keni një mikrokontrollues që përdor shumë më pak energji? Sot, unë do t'ju prezantoj me STM32 Ultra Low Power - L476RG, i cili përdor 4 herë më pak energji sesa një Arduino Mega dhe ka një procesor të fuqishëm Cortex. Unë gjithashtu nuk do të
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’u portuar .: 3 hapa
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t'u rikrijuar, e lehtë për t'u përdorur, e lehtë për t'u transferuar.: Ky projekt do t'ju ndihmojë të lidhni 18 LED (6 të kuqe + 6 blu + 6 të verdhë) në bordin tuaj Arduino dhe të analizoni sinjalet e Kartës së Zërit të kompjuterit tuaj në kohë reale dhe t'i transmetoni ato në LED për t'i ndezur ato sipas efekteve të rrahjes (Snare, High Hat, Kick)
Vendosja për të programuar një Picaxe Via Shell Script (linux): 5 hapa
Vendosja për të programuar një Picaxe Via Shell Script (linux): Një ecje e thjeshtë që tregon se si të krijoni një skenar shell që do të ngarkojë një program nga një faqe ftp, më pas ta përpiloni atë, pastaj ta shkarkoni në pikasë. (Ky është gjithashtu i pari im i udhëzueshëm)