INHOUDSOPGAWE:

Ongelooflik maklik om te programmeer !: 10 stappe
Ongelooflik maklik om te programmeer !: 10 stappe

Video: Ongelooflik maklik om te programmeer !: 10 stappe

Video: Ongelooflik maklik om te programmeer !: 10 stappe
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
Image
Image
Ongelooflik maklik om te programmeer!
Ongelooflik maklik om te programmeer!

Vandag praat ek oor die STM32 Core, die L476RG, wat die gesig van Ultra Low Power is. U kan dit aan die linkerkant van die prent sien. Hierdie toestel het twee penpenne, een aan elke kant, wat niks meer is as die verbindings vir die arduino -skild nie. Dit is wonderlik, ne?

Na my mening het STMicroelectronics dit in die ontwikkelingskit gedoen, omdat dit weet dat professionele persone hierdie chip gebruik. Hierdie onderneming gaan meer en meer na die arduino. En dit geld ook vir verskeie ander professionele STMicroelectronics -kits.

Ten slotte, met betrekking tot die projek vandag, sal ons twee DS18b20 sensors benewens die L476RG gebruik. Dus maak ons 'n eenvoudige samestelling met die L476RG, voer 'n biblioteek in die MBED -omgewing in, skep 'n program in die MBED -omgewing en kry data van die L476RG via USB / Serial.

Ek het al 'n bietjie gepraat oor die L476RG in hierdie video: DIE MAKLIKERE MANIER OM 'N MIKROKONTROLLER TE PROGRAMMER, waar ek wys hoe u die MBED -omgewing, wat aanlyn is, kan instel.

Sommige mense wat my video's volg, vra my of STM32 ESP32 vervang. Ek sê een ding: dit vervang nie en kan nie, want dit is twee heeltemal verskillende dinge.

Hierdie STM32 -chip is 'n mikrobeheerder, of liewer; dit is nie 'n 'groep dinge' nie, net soos die ESP32. Die naam kan dus soortgelyk lyk, maar dit is heeltemal anders. Die STM32 is 'n algemene mikrobeheerder, soos byvoorbeeld 'n PIC, 'n Atmel.

Stap 1: Hulpbronne gebruik

Hulpbronne gebruik
Hulpbronne gebruik

1 kern L476RG

2 DS18b20 -sensors (ons gebruik die algemene waterdigte modules op die mark)

1 4k7 weerstand

Mini protobord

Springers vir verbinding

Stap 2: Montering

Vergadering
Vergadering

Ons sal die montering aanvanklik met een van die temperatuursensors uitvoer.

Die krag sal 5V wees.

'N Weerstand van 4k7 sal gebruik word om die data-lyn (1-draad) op te trek.

Ons sal die data lees met die A0 -pen.

Stap 3: Nuwe program in MBED

Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED

Sodra u u rekening in MBED opgestel het en toegang daartoe verkry het, sal ons 'n nuwe program skep. Om dit te doen, klik met die rechtermuisknop op "My programme" en kies "Nuwe program …"

Bevestig dat die 'platform' ooreenstem met die bord wat u gebruik.

Ons klik nou op 'Sjabloon'.

Ons sal 'n program skep wat gebaseer is op die voorbeeld, "Wys 'n boodskap op 'n rekenaar met UART".

Voer die naam van die program in "Programnaam" in.

Gaan die opsie "Werk hierdie program en biblioteke na die nuutste hersiening" op.

'N Nuwe gids vir u program sal geskep word, insluitend die standaard MBED -biblioteek en die main.cpp -lêer.

U kan dit gebruik om te toets of alles goed werk. Om dit te doen, stel dit eenvoudig op en kopieer dit na die platform.

Met behulp van 'n seriële terminaal van u keuse, kan u die volgende boodskappe ontvang.

Stap 4: Die invoer van die DS18b20 -biblioteek

Die invoer van die DS18b20 -biblioteek
Die invoer van die DS18b20 -biblioteek

Aangesien daar verskillende weergawes van biblioteke vir die Ds18b20 is, sal ons met behulp van 'n url invoer sodat u voorbeeld dieselfde biblioteek gebruik.

Stap 5: Nuwe program in MBED

Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED
Nuwe program in MBED

Vul in die veld "Bron -URL" in: https://os.mbed.com/users/Sissors/code/DS1820/ en klik op invoer.

U DS1820 -biblioteek moet in u programvouer verskyn.

Stap 6: Bronkode

Sluit in

Ons het begin deur die nodige biblioteke in te sluit.

#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820

Ons definieer konstantes wat die penne wat gebruik word, sal voorstel.

Let daarop dat die DS18b20 'n sensor is met 1-WIRE-kommunikasie. Om hierdie rede gebruik ons die biblioteek wat die hele kommunikasieprotokol met die toestelle hanteer. Dit bevat die identifisering van elke toestel volgens die leesopdragte.

#define PINO_DE_DADOS A0 // definieer o pino para leitura dos dados#definieer MAX_SENSORES 16 // definieer o número máximo para o vetor de sensores

Ons skep 'n vektor wat verwys na elk van die 16 moontlike toestelle wat aan die datalyn gekoppel is.

DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores

Ons begin met die hoof () -metode, waar ons met behulp van die 'unassignedProbe ()' metode in die DS1820 -biblioteek na alle beskikbare toestelle in die kommunikasielyn soek.

Ons vul die sensorvektor met die gevalle wat elkeen van die beskikbare sensors sal voorstel.

Ons doen dit totdat die laaste een gevind is of totdat ons die maksimum van 16 sensors bereik.

int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new 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; }

Ons stuur die aantal sensors wat op die lyn gevind word.

printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);

Ons begin 'n oneindige lus en versoek dat alle beskikbare sensors hul onderskeie temperature bereken, en dan herhaal deur die sensorvektor deur die verkrygde metings te stuur.

printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); terwyl (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatuura printf ("\ r / n"); wag (1); }

Stap 7: Data ontvang

Data ontvang
Data ontvang

Met behulp van 'n enkele sensor kry ons die volgende seriële uitset.

Stap 8: Insluitend meer sensors

Insluitend meer sensors
Insluitend meer sensors
Insluitend meer sensors
Insluitend meer sensors

Om die kode te toets, stel ons 'n ander sensor in die kommunikasielyn voor, bloot deur dit parallel met die eerste sensor aan te sluit.

Onthou om die eenheid af te skakel voordat u nuwe sensors aansluit.

By die herbegin van die samestelling het ons die volgende uitset verkry sonder dat die bronkode verander is.

Stap 9: Bekyk bron

#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 // definieer o número máximo para o 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)) {// inicia a procura por sensores sensor [encontrados] = new 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); terwyl (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatuura printf ("\ r / n"); wag (1); }}

Stap 10: lêers

PDF

Ander

Aanbeveel: