Sisukord:
- Samm: kasutatud ressursid
- 2. samm: kokkupanek
- Samm: uus programm MBED -is
- Samm 4: DS18b20 kogu importimine
- Samm: uus programm MBED -is
- 6. samm: lähtekood
- Samm 7: saadud andmed
- 8. samm: lisage rohkem andureid
- 9. samm: vaadake allikat
- 10. samm: failid
Video: Uskumatult lihtne programmeerida!: 10 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Täna räägin ma STM32 tuumast, L476RG -st, mis on üliväikese võimsuse nägu. Seda näete pildi vasakul küljel. Sellel seadmel on kaks naissoost tihvtvarda, üks mõlemal küljel, mis pole midagi muud kui arduino kilbi pistikud. See on suurepärane, kas pole?
Minu arvates tegi STMicroelectronics seda oma arenduskomplektis, kuna teab, et spetsialistid kasutavad seda kiipi. See ettevõte läheb üha enam arduino poole. Ja see kehtib ka mitmete teiste professionaalsete STMicroelectronics komplektide kohta.
Lõpuks, seoses projektiga täna, kasutame lisaks L476RG -le kahte DS18b20 andurit. Seega teeme L476RG abil lihtsa koostamise, impordime raamatukogu MBED -keskkonda, loome programmi MBED -keskkonnas ja saame andmeid L476RG -st USB / jadaliidese kaudu.
Olen selles videos juba natuke rääkinud L476RG -st: LIHTSAM VÕIMALUS MIKROKONTROLLERI PROGRAMMEERIMISEKS, kus näitan, kuidas konfigureerida võrgus olevat MBED -keskkonda.
Mõned inimesed, kes minu videoid jälgivad, küsivad minult, kas STM32 asendab ESP32. Ütlen ühte asja: see ei asenda ega saanudki, sest need on kaks täiesti erinevat asja.
See STM32 kiip on mikrokontroller või õigemini; see ei ole "asjade klaster" nagu ESP32. Nii et nimi võib tunduda sarnane, kuid need on täiesti erinevad. STM32 on üldotstarbeline mikrokontroller, näiteks PIC, Atmel.
Samm: kasutatud ressursid
1 tuum L476RG
2 DS18b20 andurit (kasutame turul levinud veekindlaid mooduleid)
1 4k7 takisti
Miniprotokoll
Ühendamiseks džemprid
2. samm: kokkupanek
Algselt viime monteerimise läbi ühe temperatuurianduri abil.
Selle võimsus on 5 V.
Andmeliini (1-juhtmeline) tõmbamiseks kasutatakse 4k7 takistit.
Me loeme andmeid A0 tihvti abil.
Samm: uus programm MBED -is
Kui olete oma konto MBED -is seadistanud ja sellele juurde pääsenud, loome uue programmi. Selleks paremklõpsake "Minu programmid" ja valige "Uus programm …"
Veenduge, et platvorm vastab teie kasutatavale plaadile.
Nüüd klõpsame nuppu "Mall".
Loome programmi, mis põhineb näitel „Kuva sõnum arvutis UART abil”.
Sisestage programmi nimi väljale "Programmi nimi".
Märkige valik "Värskenda seda programmi ja teeke uusimale versioonile".
Teie programmile luuakse uus kaust, sealhulgas MBED -i vaikeraamatukogu ja fail main.cpp.
Selle abil saate testida, kas kõik töötab hästi. Selleks lihtsalt kompileerige see ja kopeerige see platvormile.
Kasutades oma valitud jadaterminali, saate vastu võtta järgmised teated.
Samm 4: DS18b20 kogu importimine
Kuna Ds18b20 jaoks on raamatukogudest mitu versiooni, impordime URL -i abil, nii et teie näide kasutab sama teeki.
Samm: uus programm MBED -is
Sisestage väljale „Allika URL”: https://os.mbed.com/users/Sissors/code/DS1820/ ja klõpsake nuppu Impordi.
Teie DS1820 kogu peaks ilmuma teie programmikausta.
6. samm: lähtekood
Sisaldab
Alustasime vajalike raamatukogude kaasamisega.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Me määratleme konstandid, mis esindavad kasutatud tihvte.
Pange tähele, et DS18b20 on andur, millel on 1-WIRE side. Sel põhjusel kasutame teeki, mis haldab kogu seadmetega suhtlemise protokolli. See hõlmab iga seadme tuvastamist kuni lugemiskäsudeni.
#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
Loome vektori, mis osutab igale 16 võimalikule andmeliiniga ühendatud seadmele.
DS1820* andur [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Alustame peamist () meetodit, kus DS1820 raamatukogus sisalduvat meetodit "unassignedProbe ()" kasutades otsime kõiki saadaolevaid seadmeid kommunikatsiooniliinist.
Täidame andurite vektori eksemplaridega, mis esindavad kõiki saadaolevaid andureid.
Me teeme seda kuni viimase leidmiseni või kuni jõuame maksimaalselt 16 andurini.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// algatatakse a senise sensori hankimine [encontrados] = uus DS1820 (PINO_DE_DADOS); // cria uma instancia para või sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Saadame realt leitud andurite arvu.
printf ("Salastusandmed (d): %d / r / n / n", salastatud);
Alustame lõpmatut tsüklit, nõudes, et kõik saadaolevad andurid arvutaksid oma vastavad temperatuurid ja seejärel iteratsiooni läbi andurvektori, saates saadud näidud.
printf ("Salastusandmed (d): %d / r / n / n", salastatud); while (1) {sensor [0]-> convertTemperature (tõsi, DS1820:: kõik_seadmed); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); oota (1); }
Samm 7: saadud andmed
Ühe anduri abil saame järgmise jadaväljundi.
8. samm: lisage rohkem andureid
Koodi testimiseks tutvustame kommunikatsiooniliinis teist andurit, lihtsalt ühendades selle paralleelselt esimese anduriga.
Ärge unustage enne uute andurite ühendamist seade välja lülitada.
Kokkupaneku taaskäivitamisel saime järgmise väljundi, ilma lähtekoodi muutmata.
9. samm: vaadake allikat
#include "mbed.h" // inclusão da biblioteca padrão do MBED #include "DS1820.h" // inclusã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 või vetor de sensores DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// algatatakse a senise sensori hankimine [encontrados] = uus DS1820 (PINO_DE_DADOS); // cria uma instancia para või sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Eraldusvõtted (-d): %d / r / n / n", salastatud); while (1) {sensor [0]-> convertTemperature (tõsi, DS1820:: kõik_seadmed); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); oota (1); }}
10. samm: failid
Teised
Soovitan:
Kuidas programmeerida Arduino Mega 2560 Core?: 3 sammu
Kuidas programmeerida Arduino Mega 2560 Core?: Leidsin selle suurepärase väikese vormiga Arduino megaplaadi ebayst. See on Arduino mega 2560 väiksem versioon ja seda nimetatakse ilmselt Arduino mega tuumaks … Siiski oli üks probleem! See ei sisalda USB -ühendust ja seal pole palju
Kuidas ESP8266 AT püsivara välgutada või programmeerida, kasutades ESP8266 vilkurit ja programmeerijat, IOT Wifi moodulit: 6 sammu
Kuidas ESP8266 AT püsivara välgutada või programmeerida, kasutades ESP8266 välklampi ja programmeerijat, IOT Wifi moodulit: Kirjeldus: see moodul on USB-adapter /programmeerija ESP-01 või ESP-01S tüüpi ESP8266 moodulite jaoks. ESP01 ühendamiseks on see mugavalt varustatud 2x4P 2,54 mm emasega. Samuti purustab see kõik ESP-01 tihvtid läbi 2x4P 2,54 mm isase h
Kuidas programmeerida IR-dekoodrit mitme kiirusega vahelduvvoolumootori juhtimiseks: 7 sammu
Kuidas programmeerida IR-dekoodrit mitme kiirusega vahelduvvoolumootori juhtimiseks: ühefaasilisi vahelduvvoolumootoreid leidub tavaliselt majapidamistarvetes, näiteks ventilaatorites, ja nende kiirust saab hõlpsasti reguleerida, kui kasutatakse määratud kiiruste jaoks mitut diskreetset mähist. Selles juhendis loome digitaalse kontrolleri, mis
Väike ja odav taskuarvuti, mida saab programmeerida kõikjal: 5 sammu
Väike ja odav taskuarvuti, mida saab programmeerida kõikjal: saate muuta CardKB -st taskuarvuti! Täielik taskuarvuti CardKB jaoks, kasutades ArduinoBaisci, CardKB -d, I2C OLED -ekraani. Kuna BASIC kasutab ArduinoBasicut (https://github.com/robinhedwards/ArduinoBASIC), toetab see peaaegu kõiki tavalisi funktsioone, näiteks
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada: 3 sammu
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada .: See projekt aitab teil ühendada 18 LED-i (6 punast + 6 sinist + 6 kollast) oma Arduino plaadiga ja analüüsida arvuti helikaardi reaalajasignaale ning edastada need valgusdioodid, mis neid löögiefektide järgi süttivad (Snare, High Hat, Kick)