Kazalo:
- 1. korak: Uporabljeni viri
- 2. korak: Montaža
- 3. korak: Nov program v MBED
- 4. korak: Uvoz knjižnice DS18b20
- 5. korak: Nov program v MBED
- 6. korak: izvorna koda
- 7. korak: Prejeti podatki
- 8. korak: Vključitev več senzorjev
- 9. korak: Ogled vira
- 10. korak: Datoteke
Video: Neverjetno enostavno programiranje!: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Danes bom govoril o jedru STM32, L476RG, ki je obraz Ultra Low Power. Lahko ga vidite na levi strani slike. Ta naprava ima dve ženski palici, po eno na vsaki strani, ki nista nič drugega kot priključki za arduino ščit. To je super, kajne?
Po mojem mnenju je STMicroelectronics to naredil v svojem razvojnem kompletu, ker ve, da strokovnjaki uporabljajo ta čip. To podjetje gre vse bolj proti arduinu. To velja tudi za več drugih profesionalnih kompletov STMicroelectronics.
Nazadnje, glede današnjega projekta bomo poleg L476RG uporabili še dva senzorja DS18b20. Tako bomo naredili preprosto sestavo z uporabo L476RG, uvozili knjižnico v okolje MBED, ustvarili program v okolju MBED in dobili podatke iz L476RG prek USB / serijskega vmesnika.
Nekaj sem že govoril o L476RG v tem videoposnetku: LAŽJI NAČIN PROGRAMIRANJA MIKROKONTROLERJA, kjer pokažem, kako konfigurirati okolje MBED, ki je na spletu.
Nekateri, ki spremljajo moje videoposnetke, me sprašujejo, ali STM32 nadomešča ESP32. Rečem eno: ne nadomešča in ne more, ker sta dve popolnoma različni stvari.
Ta čip STM32 je mikrokrmilnik ali bolje rečeno; ni "grozd stvari", kot je ESP32. Tako je ime lahko videti podobno, vendar sta si popolnoma različna. STM32 je mikrokrmilnik za splošne namene, na primer PIC, Atmel.
1. korak: Uporabljeni viri
1 jedro L476RG
2 senzorja DS18b20 (uporabljamo običajne vodotesne module na trgu)
1 4k7 upor
Mini protoboard
Skakači za povezavo
2. korak: Montaža
Na začetku bomo montažo izvedli z enim od temperaturnih senzorjev.
Njegova moč bo 5V.
Za povezovanje podatkovne linije (1-žica) bo uporabljen upor 4k7.
Podatke bomo prebrali z zatičem A0.
3. korak: Nov program v MBED
Ko nastavite svoj račun v MBED in dostopate do njega, bomo ustvarili nov program. Če želite to narediti, z desno miškino tipko kliknite »Moji programi« in izberite »Nov program…«
Preverite, ali je "platforma" v skladu s ploščo, ki jo uporabljate.
Zdaj kliknemo na "Predloga".
Na podlagi primera bomo ustvarili program "Prikaz sporočila v računalniku z uporabo UART".
Vnesite ime programa v "Ime programa".
Preverite možnost »Posodobi ta program in knjižnice na zadnjo revizijo«.
Ustvarila se bo nova mapa za vaš program, vključno s privzeto knjižnico MBED in datoteko main.cpp.
Z njim lahko preizkusite, ali vse deluje dobro. Če želite to narediti, ga preprosto sestavite in kopirajte na platformo.
Z uporabo serijskega terminala po vaši izbiri lahko prejmete naslednja sporočila.
4. korak: Uvoz knjižnice DS18b20
Ker obstaja več različic knjižnic za Ds18b20, bomo uvozili z URL -jem, tako da bo vaš primer uporabljal isto knjižnico.
5. korak: Nov program v MBED
V polje "Izvorni URL" izpolnite: https://os.mbed.com/users/Sissors/code/DS1820/ in kliknite uvoz.
Vaša knjižnica DS1820 bi se morala pojaviti v programski mapi.
6. korak: izvorna koda
Vključuje
Začeli smo z vključitvijo potrebnih knjižnic.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // includes biblioteca do sensor DS1820
Določimo konstante, ki bodo predstavljale uporabljene zatiče.
Upoštevajte, da je DS18b20 senzor z 1-WIRE komunikacijo. Zato uporabljamo knjižnico, ki bo obravnavala celoten protokol komunikacije z napravami. To vključuje identifikacijo vsake naprave do ukazov za branje.
#define PINO_DE_DADOS A0 // definiraj pino para leitura dos dados#define MAX_SENSORES 16 // definiraj n numero máximo para o vetor de sensores
Ustvarjamo vektor, ki bo pokazal na vsako od 16 možnih naprav, povezanih s podatkovno linijo.
Senzor DS1820* [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Začnemo metodo main (), kjer z uporabo metode "unassignedProbe ()", ki jo vsebuje knjižnica DS1820, iščemo vse razpoložljive naprave v komunikacijski liniji.
Vektor senzorja napolnimo s primerki, ki bodo predstavljali vsakega od razpoložljivih senzorjev.
To počnemo, dokler ne najdemo zadnjega ali dokler ne dosežemo največ 16 senzorjev.
int main () {int encontrados = 0; medtem ko (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia procura por sensores sensor [encontrados] = nov 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; }
Pošiljamo število senzorjev, ki jih najdemo na liniji.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Zaženemo neskončno zanko in zahtevamo, da vsi razpoložljivi senzorji izračunajo svoje temperature, nato pa ponovimo skozi vektor senzorja s pošiljanjem dobljenih odčitkov.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); medtem ko (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperature para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); počakaj (1); }
7. korak: Prejeti podatki
Z enim samim senzorjem dobimo naslednji serijski izhod.
8. korak: Vključitev več senzorjev
Za preizkus kode uvedemo še en senzor v komunikacijsko linijo, tako da ga vzporedno povežemo s prvim senzorjem.
Ne pozabite izklopiti sklopa pred priključitvijo novih senzorjev.
Ob ponovnem zagonu sklopa smo dobili naslednji izhod, brez sprememb izvorne kode.
9. korak: Ogled vira
#include "mbed.h" // inclusão da biblioteca padrão do MBED #include "DS1820.h" // includesão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #define MAX_SENSORES 16 // define več o parametrih senzorjev senzorja DS1820* senzor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; medtem ko (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia procura por sensores sensor [encontrados] = nov 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); medtem ko (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperature para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); počakaj (1); }}
10. korak: Datoteke
Drugi
Priporočena:
Mobilni avtomobil Bluetooth z nadzorom -- Enostavno -- Enostavno -- Hc-05 -- Motorni ščit: 10 korakov (s slikami)
Mobilni avtomobil Bluetooth z nadzorom || Enostavno || Enostavno || Hc-05 || Motor Shield: … Prosimo, da se naročite na moj YouTube kanal ………. To je avtomobil, ki ga upravlja Bluetooth, ki je za komunikacijo z mobilnim telefonom uporabljal modul Bluetooth HC-05. Avto lahko upravljamo z mobilnim telefonom prek Bluetootha. Obstaja aplikacija za nadzor gibanja avtomobila
Grozno do neverjetno: Zamenjajte zvok mehanskega alarma: 8 korakov (s slikami)
Grozno do neverjetno: Zamenjaj mehanski alarmni zvok: V upanju, da bom pozno ponoči zmanjšal uporabo pametnega telefona, sem dobil posteljno budilko za posteljo. Ta čudovita mehanska ročna ura ima samo eno težavo: resnično grozljiv zvok alarma. (Oglejte si prvi video zgoraj.) Ni čudno, kakšna je ta ura
Kako enostavno spremeniti znak "Light/LED" za enostavno programiranje Arduino: 7 korakov (s slikami)
Kako enostavno spremeniti znak "Light/LED" za enostavno programiranje Arduino: V tem navodilu bom pokazal, kako lahko vsakdo nekaj z lučmi spremeni v programabilne arduino utripajoče luči ali " premične luči "
BALLON LAMP !!! NEVERJETNO !!! (preprosta Awsome Ballon Lamp) !!: 6 korakov (s slikami)
BALLON LAMP !!! NEVERJETNO !!! (preprosta Awsome Ballon Lamp) !!: Preprosta balonska svetilka je narejena iz balonov in 12v led traku z LED gonilnikom
Enostavno računalniško programiranje: 5 korakov
Enostavno računalniško programiranje: Enostaven in BREZPLAČEN način, da Kdorkoli napiše svoj prvi računalniški program v deset minutah. Opomba: Ta navodila so namenjena ljudem, ki menijo, da je programiranje nekakšna čarobna stvar, za katero potrebujete drage programe ali visokotehnološke spretnosti. Upam