Sadržaj:
- Korak 1: Korišteni resursi
- Korak 2: Montaža
- Korak 3: Novi program u MBED -u
- Korak 4: Uvoz biblioteke 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 izmjena: 2024-01-30 08:08
Danas ću govoriti o STM32 jezgri, L476RG, koja je zaštitno lice Ultra Low Power. Možete ga vidjeti na lijevoj strani slike. Ovaj uređaj ima dvije ženske šipke, po jednu sa svake strane, koje nisu ništa drugo do konektori za arduino štit. Ovo je odlično, zar ne?
Po mom mišljenju, STMicroelectronics je to učinila u svom razvojnom kompletu jer zna da profesionalci koriste ovaj čip. Ova kompanija 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 jednostavan sklop pomoću L476RG, uvesti biblioteku u MBED okruženje, kreirati program u MBED okruženju i dobiti podatke iz L476RG putem USB -a / serijskog priključka.
Već sam govorio malo 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; to nije "grupa stvari" kao što je ESP32. Dakle, ime može izgledati slično, ali su potpuno različiti. STM32 je mikrokontroler opće namjene, poput PIC -a, Atmela, na primjer.
Korak 1: Korišteni resursi
1 jezgro 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 na podatkovnoj liniji (1-žica).
Podaci ć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, kreirat ć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".
Napravit ćemo program na temelju primjera "Prikaz poruke na računaru pomoću UART -a".
Unesite naziv programa u "Naziv programa".
Označite opciju "Ažuriraj ovaj program i biblioteke na najnoviju reviziju".
Bit će kreirana nova mapa za vaš program, uključujući zadanu MBED biblioteku 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 biblioteke DS18b20
Budući da postoji nekoliko verzija biblioteka za Ds18b20, uvozit ćemo pomoću URL -a tako da vaš primjer koristi istu biblioteku.
Korak 5: Novi program u MBED -u
U polje "Izvorni URL" popunite: https://os.mbed.com/users/Sissors/code/DS1820/ i kliknite uvoz.
Vaša biblioteka DS1820 trebala bi se pojaviti u mapi vašeg programa.
Korak 6: Izvorni kod
Uključuje
Počeli smo uključivanjem potrebnih biblioteka.
#include "mbed.h" // uključuje biblioteku za MBED#include "DS1820.h" // uključuje biblioteku 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 biblioteku 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 parametrima prijenosa podataka#definirajte MAX_SENSORES 16 // definirajte número máximo para o vetoru senzora
Kreiramo vektor koji će pokazivati na svaki od 16 mogućih uređaja spojenih na podatkovnu liniju.
DS1820* senzor [MAX_SENSORES]; // cria um vetor com 16 pozicija za osjetila
Pokrećemo metod main (), gdje pomoću metode "unassignedProbe ()" sadržane u biblioteci DS1820 tražimo sve dostupne uređaje u komunikacijskoj liniji.
Vektor senzora ispunjavamo instancama koje će predstavljati svaki od dostupnih senzora.
To radimo dok se ne pronađe posljednji ili dok ne dosegnemo maksimalnih 16 senzora.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia procura senzor senzora [encontrados] = novi DS1820 (PINO_DE_DADOS); // cria uma instancia para senzor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // provjerava se da li se o senzorima mogu prekinuti; }
Š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); // postavljanje temperature na temperaturu za određivanje raspoloživosti encontrados za (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); čekaj (1); }
Korak 7: Primljeni podaci
Koristeći jedan senzor, 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 povezivanjem 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" // uključuje biblioteku do MBED -a #uključuje "DS1820.h" // uključuje biblioteku senzora DS1820 #define PINO_DE_DADOS A0 // definirajte pino parametre za prijenos podataka #define MAX_SENSORES 16 // definirajte o najnovijim parametrima ili senzorima senzora DS1820* senzor [MAX_SENSORES]; // cria um vetor com 16 pozicija za senzore int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia procura senzor senzora [encontrados] = novi DS1820 (PINO_DE_DADOS); // cria uma instancia para senzor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // provjerava se da li se o senzorima mogu prekinuti; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // postavljanje temperature na temperaturu za određivanje raspoloživosti i za (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); čekaj (1); }}
Korak 10: Datoteke
Drugi
Preporučuje se:
Z80-MBC2 Programiranje Atmega32a: 6 koraka
Z80-MBC2 Programiranje Atmega32a: Prije nego počnete koristiti z80-MBC2, nakon izgradnje morate programirati Atmeg32. Ove upute vam pokazuju kako koristiti jeftini arduino mini kao programer za učitavanje koda
Kabel za programiranje "uradi sam" pomoću Arduino Uno - Baofeng UV -9R Plus: 6 koraka (sa slikama)
Programiraj sam kabel pomoću Arduino Uno-Baofeng UV-9R Plus: Zdravo svima, ovo je jednostavan vodič o tome kako pretvoriti vaš Baofeng UV-9R (ili plus) kabel za slušalice / ušni u kabel za programiranje pomoću Ardunio UNO-a kao USB-a Serijski pretvarač. [ODRICANJE ODGOVORNOSTI] Ne preuzimam nikakvu odgovornost za bilo kakvu štetu uzrokovanu
Programiranje ATmega328 s Arduino IDE -om pomoću kristala od 8 MHz: 4 koraka
Programiranje ATmega328 s Arduino IDE -om pomoću kristala od 8 MHz: U ovom Instuctableu ću obuhvatiti korak po korak vodič za programiranje ATmega328P IC (isti mikrokontroler prisutan na Arudino UNO) koristeći Arduino IDE i Arduino UNO kao programera kako biste od sebe napravili prilagođeni Arduino za izradu vaših projekata
Kontrolna ploča za COVID-19 (jednostavno i jednostavno): 4 koraka
Kontrolna ploča COVID-19 (jednostavno i lako): Svugdje postoji velika epidemija novog virusa COVID-19. Postalo je potrebno paziti na trenutni scenario COVID-19 u zemlji. Dakle, budući da sam bio kod kuće, ovo je bio projekt na koji sam mislio: " Informacijska nadzorna ploča " - Da
Kako lako izmijeniti znak "Light/LED" za jednostavno programiranje Arduino: 7 koraka (sa slikama)
Kako lako izmijeniti "Light/LED" znak za jednostavno programiranje Arduina: U ovom uputstvu pokazat ću kako bilo tko može nešto sa svjetlima pretvoriti u programabilna arduino trepereća svjetla ili "Pokretna svjetla"