Cuprins:
- Pasul 1: Resurse utilizate
- Pasul 2: Asamblare
- Pasul 3: Program nou în MBED
- Pasul 4: Importul bibliotecii DS18b20
- Pasul 5: nou program în MBED
- Pasul 6: Cod sursă
- Pasul 7: Date primite
- Pasul 8: Includerea mai multor senzori
- Pasul 9: Vizualizați sursa
- Pasul 10: Fișiere
Video: Incredibil de ușor de programat: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Astăzi, voi vorbi despre STM32 Core, L476RG, care este fața Ultra Low Power. Îl puteți vedea în stânga imaginii. Acest dispozitiv are două bare de pin feminine, una pe fiecare parte, care nu sunt altceva decât conectorii pentru scutul arduino. Este grozav, nu?
În opinia mea, STMicroelectronics a făcut acest lucru în kitul său de dezvoltare, deoarece știe că profesioniștii folosesc acest cip. Această companie se îndreaptă din ce în ce mai mult către arduino. Și acest lucru este valabil și pentru alte câteva kituri profesionale STMicroelectronics.
În cele din urmă, în ceea ce privește proiectul de astăzi, vom folosi doi senzori DS18b20 pe lângă L476RG. Deci, vom face un ansamblu simplu folosind L476RG, vom importa o bibliotecă în mediul MBED, vom crea un program în mediul MBED și vom obține date de la L476RG prin USB / Serial.
Am vorbit deja puțin despre L476RG în acest videoclip: MODUL UȘOR DE PROGRAMARE A MICROCONTROLLERULUI, unde vă arăt cum să configurați mediul MBED, care este online.
Unii oameni care urmăresc videoclipurile mele mă întreabă dacă STM32 înlocuiește ESP32. Spun un lucru: nu înlocuiește și nu ar putea, pentru că sunt două lucruri complet diferite.
Acest cip STM32 este un microcontroler, sau mai bine zis; nu este un „grup de lucruri” la fel ca ESP32. Deci, numele poate arăta similar, dar sunt complet diferite. STM32 este un microcontroler de uz general, cum ar fi un PIC, un Atmel, de exemplu.
Pasul 1: Resurse utilizate
1 nucleu L476RG
2 senzori DS18b20 (folosim modulele comune impermeabile de pe piață)
1 rezistor 4k7
Mini protoboard
Jersee pentru conexiune
Pasul 2: Asamblare
Vom efectua inițial asamblarea folosind unul dintre senzorii de temperatură.
Puterea sa va fi de 5V.
Un rezistor 4k7 va fi folosit pentru a face un pull-up pe linia de date (1-Wire).
Vom citi datele folosind pinul A0.
Pasul 3: Program nou în MBED
După ce ați configurat contul în MBED și îl veți accesa, vom crea un nou program. Pentru a face acest lucru, faceți clic dreapta pe „Programele mele” și selectați „Program nou …”
Confirmați că „Platforma” este conformă cu placa pe care o utilizați.
Acum facem clic pe „Șablon”.
Vom crea un program bazat pe exemplul „Afișați un mesaj pe computer utilizând UART”.
Introduceți numele programului în „Nume program”.
Bifați opțiunea „Actualizați acest program și biblioteci la cea mai recentă versiune”.
Va fi creat un nou folder pentru programul dvs., inclusiv biblioteca implicită MBED și fișierul main.cpp.
Îl puteți folosi pentru a testa dacă totul funcționează bine. Pentru a face acest lucru, pur și simplu compilați-l și copiați-l pe platformă.
Folosind un terminal serial la alegere, puteți primi următoarele mesaje.
Pasul 4: Importul bibliotecii DS18b20
Deoarece există mai multe versiuni de biblioteci pentru Ds18b20, vom importa folosind o adresă URL, astfel încât exemplul dvs. să utilizeze aceeași bibliotecă.
Pasul 5: nou program în MBED
În câmpul „URL sursă” completați: https://os.mbed.com/users/Sissors/code/DS1820/ și faceți clic pe import.
Biblioteca dvs. DS1820 ar trebui să apară în folderul de programe.
Pasul 6: Cod sursă
Include
Am început prin includerea bibliotecilor necesare.
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Definim constante care vor reprezenta pinii utilizați.
Rețineți că DS18b20 este un senzor cu comunicație 1-WIRE. Din acest motiv, folosim biblioteca care va gestiona întregul protocol de comunicare cu dispozitivele. Aceasta include identificarea fiecărui dispozitiv până la comenzile de citire.
#define PINO_DE_DADOS A0 // define o pino pentru leitura dos dados # define MAX_SENSORES 16 // define o număr maxim pentru o vetor de senzori
Creăm un vector care va indica fiecare dintre cele 16 dispozitive posibile conectate la linia de date.
Senzor DS1820 * [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Începem metoda main (), unde, folosind metoda „unassignedProbe ()” conținută în biblioteca DS1820, căutăm toate dispozitivele disponibile în linia de comunicație.
Umplem vectorul senzorului cu instanțele care vor reprezenta fiecare dintre senzorii disponibili.
Facem acest lucru până când se găsește ultimul sau până când ajungem la maximum 16 senzori.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por senzores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor found found ++; if (encontrados == MAX_SENSORES) // verifica se atinge o maxim de senzori break; }
Trimitem numărul de senzori găsiți pe linie.
printf ("Dispozitive găsite (e):% d / r / n / n", găsite);
Începem o buclă infinită, solicitând ca toți senzorii disponibili să își calculeze temperaturile respective și apoi să itereze prin vectorul senzorului prin trimiterea citirilor obținute.
printf ("Dispozitive găsite (e):% d / r / n / n", găsite); while (1) {senzor [0] -> convertTemperature (adevărat, DS1820:: all_devices); // solicita a leitura de temperatura pentru toate dispozitivele găsite pentru (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); așteptați (1); }
Pasul 7: Date primite
Folosind un singur senzor, obținem următoarea ieșire serială.
Pasul 8: Includerea mai multor senzori
Pentru a testa codul, introducem un alt senzor în linia de comunicație, pur și simplu conectându-l în paralel cu primul senzor.
Nu uitați să opriți ansamblul înainte de a conecta senzori noi.
La repornirea ansamblului, am obținut următoarea ieșire, fără modificări în codul sursă.
Pasul 9: Vizualizați sursa
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusiveão biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino pentru leitura dos dados #define MAX_SENSORES 16 // define o număr maxim pentru o vetor de senzori DS1820 * senzor [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 senzores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor found found ++; if (encontrados == MAX_SENSORES) // verifica se atinge o maxim de senzori break; } printf ("Dispozitive găsite (e):% d / r / n / n", găsite); while (1) {senzor [0] -> convertTemperature (adevărat, DS1820:: all_devices); // solicita a leitura de temperatura pentru toate dispozitivele găsite pentru (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); așteptați (1); }}
Pasul 10: Fișiere
Alții
Recomandat:
Garaj ușor de stare Hack ușor: 3 pași
Garage Door Status Light Hack: Locuiesc într-o casă în care nu este ușor să văd dacă ușa garajului este deschisă sau închisă. Avem un buton în casă, dar ușa nu este văzută. Gândul la ingineria unui fel de întrerupător și de alimentare nu a fost de dorit din cauza pr
DIY MusiLED, LED-uri sincronizate muzicale cu aplicație Windows și Linux cu un singur clic (32-bit și 64-bit). Ușor de recreat, ușor de utilizat, ușor de portat: 3 pași
DIY MusiLED, LED-uri sincronizate muzicale cu aplicație Windows și Linux cu un singur clic (32-bit și 64-bit). Ușor de recreat, ușor de utilizat, ușor de portat: acest proiect vă va ajuta să conectați 18 LED-uri (6 roșii + 6 albastre + 6 galbene) la placa Arduino și să analizați semnalele în timp real ale plăcii de sunet ale computerului și să le retransmiteți la LED-urile pentru a le aprinde conform efectelor de bătăi (Snare, High Hat, Kick)
Incredibil HULK Nintendo Wii W / Extra Usb: 6 pași (cu imagini)
Incredibil HULK Nintendo Wii W / Extra Usb: Ei bine, în sfârșit am terminat al doilea mod Wii !!! Wii personalizat Incredible HULK. Am luat sfatul băieților voștri și prin acesta deja pe e-bay! Sperăm că îmi va face niște aluat! Acest instructabil va fi foarte asemănător cu Super Mario Wii, cu excepția lui
Anulați ștergerea fișierelor șterse, foarte ușor și ușor de utilizat: 7 pași
Anulați ștergerea fișierelor șterse, foarte ușor și ușor de utilizat: ați șters vreodată un fișier de pe hard disk-ul de rezervă, camera foto, mp3 sau chiar ați golit coșul de reciclare și apoi ați realizat că doriți în continuare acel fișier? Acesta este un mod simplu de a recupera acele fișiere. Am adăugat acest instrucat, pentru că am șters fiecare episod din familia g
Robot ușor: Urmăritor ușor: 4 pași
Easy Robot: Light Follower: Fără programare sau microcipuri! Roboți, cel mai minunat lucru existent, mai ales când o mulțime de oameni îl pot construi! Am primit acest robot de la un prieten. mulțumesc Rudolf.Oricum, acest robot folosește 2 rezistențe dependente de lumină pentru a simți lumina și d