Sadržaj:
- Korak 1: Korišteni resursi
- Korak 2: Montaža
- Korak 3: Novi program u MBED -u
- Korak 4: Uvoz knjižnice DS18b20
- Korak 5: Novi program u MBED -u
- Korak 6: Izvorni kod
- Korak 7: Primljeni podaci
- Korak 8: Uključivanje više senzora
- Korak 9: Pogledajte izvor
- Korak 10: Datoteke
Video: Nevjerojatno jednostavno programiranje!: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Danas ću govoriti o jezgri STM32, L476RG, koja je zaštitno lice Ultra Low Power. Možete ga vidjeti s lijeve strane slike. Ovaj uređaj ima dvije ženske šipke, po jednu sa svake strane, koje nisu ništa drugo do priključci za arduino štit. Ovo je super, zar ne?
Po mom mišljenju, STMicroelectronics je to učinila u svom razvojnom kompletu jer zna da profesionalci koriste ovaj čip. Ova tvrtka sve više ide prema arduinu. To vrijedi i za nekoliko drugih profesionalnih kompleta STMicroelectronics.
Konačno, što se tiče današnjeg projekta, upotrijebit ćemo dva senzora DS18b20 pored L476RG. Napravit ćemo jednostavnu montažu pomoću L476RG, uvesti knjižnicu u MBED okruženje, stvoriti program u MBED okruženju i dobiti podatke iz L476RG putem USB -a / serijskog priključka.
Već sam malo govorio o L476RG u ovom videu: LAKŠI NAČIN PROGRAMIRANJA MIKROKONTROLERA, gdje pokazujem kako konfigurirati MBED okruženje, koje je na mreži.
Neki ljudi koji prate moje videozapise pitaju me zamjenjuje li STM32 ESP32. Kažem jedno: ne zamjenjuje i ne može, jer su to dvije potpuno različite stvari.
Ovaj čip STM32 je mikrokontroler, bolje rečeno; nije "skupina stvari" kao što je ESP32. Dakle, naziv može izgledati slično, ali su potpuno različiti. STM32 je mikrokontroler opće namjene, kao što je PIC, Atmel, na primjer.
Korak 1: Korišteni resursi
1 jezgra L476RG
2 senzora DS18b20 (koristimo uobičajene vodootporne module na tržištu)
1 4k7 otpornik
Mini protoboard
Džemperi za povezivanje
Korak 2: Montaža
U početku ćemo montažu izvesti pomoću jednog od temperaturnih senzora.
Njegova snaga bit će 5V.
Otpornik 4k7 će se koristiti za izvlačenje podatkovne linije (1-žica).
Podatke ćemo čitati pomoću A0 pina.
Korak 3: Novi program u MBED -u
Nakon što svoj račun postavite u MBED -u i pristupite mu, izradit ćemo novi program. Da biste to učinili, desnom tipkom miša kliknite "Moji programi" i odaberite "Novi program …"
Potvrdite da je "Platforma" u skladu s pločom koju koristite.
Sada kliknemo na "Predložak".
Na temelju primjera izradit ćemo program "Prikaz poruke na računalu pomoću UART -a".
Unesite naziv programa u "Naziv programa".
Označite opciju "Ažuriraj ovaj program i knjižnice na najnoviju reviziju".
Bit će stvorena nova mapa za vaš program, uključujući zadanu knjižnicu MBED i datoteku main.cpp.
Pomoću njega možete provjeriti radi li sve dobro. Da biste to učinili, jednostavno ga sastavite i kopirajte na platformu.
Koristeći serijski terminal po vašem izboru, možete primiti sljedeće poruke.
Korak 4: Uvoz knjižnice DS18b20
Budući da postoji nekoliko verzija knjižnica za Ds18b20, uvozit ćemo pomoću URL -a tako da vaš primjer koristi istu knjižnicu.
Korak 5: Novi program u MBED -u
U polje "Izvorni URL" ispunite: https://os.mbed.com/users/Sissors/code/DS1820/ i kliknite uvoz.
Vaša bi se biblioteka DS1820 trebala pojaviti u mapi programa.
Korak 6: Izvorni kod
Uključuje
Počeli smo uključivanjem potrebnih knjižnica.
#include "mbed.h" // uključuje da biblioteca padrão do MBED#include "DS1820.h" // uključuje biblioteku do senzora DS1820
Definiramo konstante koje će predstavljati korištene pinove.
Imajte na umu da je DS18b20 senzor s 1-WIRE komunikacijom. Iz tog razloga koristimo knjižnicu koja će rukovati cijelim protokolom komunikacije s uređajima. To uključuje identifikaciju svakog uređaja do naredbi za čitanje.
#define PINO_DE_DADOS A0 // definirajte o pino para leitura dos dados#definirajte MAX_SENSORES 16 // definirajte o número máximo para o vetoru senzora
Izrađujemo vektor koji će pokazivati na svaki od 16 mogućih uređaja spojenih na podatkovnu liniju.
Senzor DS1820* [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Pokrećemo metodu main () gdje pomoću metode "unassignedProbe ()" sadržane u knjižnici DS1820 tražimo sve dostupne uređaje u komunikacijskoj liniji.
Vektor senzora ispunjavamo instancama koje će predstavljati svaki od dostupnih senzora.
Činimo to dok se ne pronađe zadnji ili dok ne dosegnemo maksimalnih 16 senzora.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = novi 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; }
Šaljemo broj senzora koji se nalaze na liniji.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Pokrećemo beskonačnu petlju, tražeći da svi dostupni senzori izračunaju svoje temperature, a zatim ponavljamo kroz vektor senzora slanjem dobivenih očitanja.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (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"); čekati (1); }
Korak 7: Primljeni podaci
Pomoću jednog senzora dobivamo sljedeći serijski izlaz.
Korak 8: Uključivanje više senzora
Kako bismo testirali kôd, uvodimo još jedan senzor u komunikacijsku liniju, jednostavno povezujući ga paralelno s prvim senzorom.
Ne zaboravite isključiti sklop prije povezivanja novih senzora.
Prilikom ponovnog pokretanja sklopa dobili smo sljedeći izlaz, bez ikakvih promjena u izvornom kodu.
Korak 9: Pogledajte izvor
#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 o najnovijim parametrima ili senzorima senzora 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 sensores sensor [encontrados] = novi 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 (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"); čekati (1); }}
Korak 10: Datoteke
Drugi
Preporučeni:
Strašno do nevjerojatno: Zamijenite zvuk mehaničkog alarma: 8 koraka (sa slikama)
Strašno do nevjerojatno: Zamijenite zvuk mehaničkog alarma: U nadi da ću smanjiti upotrebu pametnog telefona kasno u noć, dobio sam starinsku budilicu pored kreveta. Ovaj prekrasan mehanički sat sa satom ima samo jedan problem: doista zastrašujući zvuk alarma. (Svjedočite prvom videu gore.) Nije ni čudo što ovaj sat
Kako izmijeniti istosmjerni motor u nešto nevjerojatno: 5 koraka
Kako izmijeniti istosmjerni motor u nešto zadivljujuće: Pozdrav prijatelji u ovoj uputi, napravio sam nevjerojatnu izmjenu od svog starog istosmjernog motora u kojem je uzeto tijelo motora i rotacija rotora je jasno vidljiva … Nastavite čitati
Kako jednostavno izmijeniti znak "Light/LED" za jednostavno programiranje Arduina: 7 koraka (sa slikama)
Kako jednostavno izmijeniti znak "Light/LED" za jednostavno programiranje Arduina: U ovom uputstvu pokazat ću kako svatko može pretvoriti nešto sa svjetlima u programabilna arduino trepereća svjetla ili " Pokretna svjetla "
Jednostavno računalno programiranje: 5 koraka
Jednostavno računalno programiranje: JEDAN LAGAN i BESPLATAN način da bilo tko napiše svoj prvi računalni program u deset minuta. Napomena: Ovo uputstvo je za ljude koji misle da je programiranje neka vrsta čarobne stvari za koju su vam potrebni skupi programi ili vještine visoke tehnologije. Nada
Kako vaš Firefox besplatno izgledati nevjerojatno i cool !!!: 8 koraka
Kako vaš besplatni Firefox izgledati nevjerojatno i cool besplatno !!!: U ovom uputstvu pokazat ću vam kako svom firefoxu dati nevjerojatan šokantan izgled. besplatno!! Korištenje web stranice za dodavanje Mozille također je sigurno! Ovo je moje prvo uputstvo, pa ostavite komentare. MOJE uputstvo je nedavno objavljeno na buzztracku