Tartalomjegyzék:

Hihetetlenül könnyen programozható !: 10 lépés
Hihetetlenül könnyen programozható !: 10 lépés

Videó: Hihetetlenül könnyen programozható !: 10 lépés

Videó: Hihetetlenül könnyen programozható !: 10 lépés
Videó: 10 EGYSZERŰ MÓDSZER, HOGY AZONNAL KEDVELJENEK 2024, Július
Anonim
Image
Image
Hihetetlenül könnyen programozható!
Hihetetlenül könnyen programozható!

Ma az STM32 Core -ról, az L476RG -ről fogok beszélni, amely az Ultra Low Power arca. A kép bal oldalán látható. Ennek az eszköznek két női tűs rúdja van, mindkét oldalon egy, amelyek nem más, mint az arduino pajzs csatlakozói. Ez nagyszerű, nem?

Véleményem szerint az STMicroelectronics ezt tette a fejlesztői csomagjában, mert tudja, hogy a szakemberek használják ezt a chipet. Ez a társaság egyre inkább az arduino felé tart. És ez igaz számos más professzionális STMicroelectronics készletre is.

Végül, ami a mai projektet illeti, az L476RG mellett két DS18b20 érzékelőt fogunk használni. Tehát egy egyszerű összeszerelést készítünk az L476RG használatával, importálunk egy könyvtárat az MBED környezetbe, létrehozunk egy programot az MBED környezetben, és adatokat kapunk az L476RG -ről USB / soros kapcsolaton keresztül.

Ebben a videóban már beszéltem egy kicsit az L476RG -ről: KÖNNYEBB MÓD A MIKROKONTROLLER PROGRAMOZÁSÁHOZ, ahol megmutatom, hogyan kell konfigurálni az online MBED környezetet.

Néhányan, akik követik a videóimat, azt kérdezik tőlem, hogy az STM32 helyettesíti -e az ESP32 -t. Egyet mondok: nem helyettesíti, és nem is tudta, mert két teljesen különböző dolog.

Ez az STM32 chip egy mikrokontroller, vagy inkább; ez nem egy "klaszter", mint az ESP32. Tehát a név hasonlíthat, de teljesen más. Az STM32 egy általános célú mikrokontroller, például PIC, Atmel.

1. lépés: Felhasznált erőforrások

Felhasznált források
Felhasznált források

1 mag L476RG

2 DS18b20 érzékelő (a piacon elterjedt vízálló modulokat használjuk)

1 4k7 ellenállás

Mini protoboard

Jumperek a csatlakoztatáshoz

2. lépés: Összeszerelés

Összeszerelés
Összeszerelés

Az összeszerelést először a hőmérséklet -érzékelők egyikével végezzük.

A teljesítménye 5V lesz.

4k7 ellenállást használnak az adatvezeték felhúzásához (1 vezetékes).

Az adatokat az A0 érintkezővel olvassuk le.

3. lépés: Új program MBED -ben

Új program MBED -ben
Új program MBED -ben
Új program MBED -ben
Új program MBED -ben
Új program MBED -ben
Új program MBED -ben

Miután beállította fiókját az MBED -ben, és hozzáfér hozzá, létrehozunk egy új programot. Ehhez kattintson a jobb gombbal a "Saját programok" elemre, és válassza az "Új program …" lehetőséget.

Győződjön meg arról, hogy a "Platform" megfelel az Ön által használt táblának.

Most a "Sablon" gombra kattintunk.

Létrehozunk egy programot az "Üzenet megjelenítése PC -n UART használatával" példa alapján.

Írja be a program nevét a "Program neve" mezőbe.

Jelölje be a "A program és a könyvtárak frissítése a legújabb verzióra" opciót.

Létrejön egy új mappa a programhoz, beleértve az alapértelmezett MBED könyvtárat és a main.cpp fájlt.

Segítségével tesztelheti, hogy minden jól működik -e. Ehhez egyszerűen fordítsa le, és másolja a platformra.

Az Ön által választott soros terminál használatával a következő üzeneteket kaphatja.

4. lépés: A DS18b20 könyvtár importálása

A DS18b20 könyvtár importálása
A DS18b20 könyvtár importálása

Mivel a Ds18b20 könyvtárainak több változata is létezik, az URL -címet importáljuk, így a példája ugyanazt a könyvtárat használja.

5. lépés: Új program MBED -ben

Új program MBED -ben
Új program MBED -ben
Új program MBED -ben
Új program MBED -ben

A "Forrás URL" mezőben töltse ki: https://os.mbed.com/users/Sissors/code/DS1820/, majd kattintson az importálás gombra.

A DS1820 könyvtárnak meg kell jelennie a programmappájában.

6. lépés: Forráskód

Magába foglalja

Azzal kezdtük, hogy beépítettük a szükséges könyvtárakat.

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

Olyan állandókat definiálunk, amelyek a használt csapokat képviselik.

Ne feledje, hogy a DS18b20 1-WIRE kommunikációval rendelkező érzékelő. Ezért használjuk azt a könyvtárat, amely kezeli az eszközökkel folytatott kommunikáció teljes protokollját. Ez magában foglalja az egyes eszközök azonosítását az olvasási parancsokig.

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

Hozunk létre egy vektort, amely az adatvonalhoz csatlakoztatott 16 lehetséges eszköz mindegyikére mutat.

DS1820* érzékelő [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores

Elindítjuk a main () metódust, ahol a DS1820 könyvtárban található "unassignedProbe ()" metódust használva megkeressük az összes elérhető eszközt a kommunikációs vonalon.

Megtöltjük az érzékelővektorot azokkal a példányokkal, amelyek a rendelkezésre álló érzékelőket képviselik.

Ezt addig tesszük, amíg meg nem találjuk az utolsót, vagy amíg el nem érjük a maximum 16 érzékelőt.

int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = új DS1820 (PINO_DE_DADOS); // cria uma instancia para vagy sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }

Elküldjük a vonalon talált érzékelők számát.

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

Végtelen ciklusba kezdünk, kérve, hogy az összes rendelkezésre álló érzékelő számítsa ki a megfelelő hőmérsékletet, majd iteráljon az érzékelővektoron a kapott értékek elküldésével.

printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (igaz, DS1820:: minden_eszköz); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); várj (1); }

7. lépés: Adatok fogadása

Adat fogadva
Adat fogadva

Egyetlen érzékelő használatával a következő soros kimenetet kapjuk.

8. lépés: Több érzékelő beépítése

Több érzékelőt is beleértve
Több érzékelőt is beleértve
Több érzékelőt is beleértve
Több érzékelőt is beleértve

A kód teszteléséhez egy másik érzékelőt vezetünk be a kommunikációs vonalra, egyszerűen az első érzékelővel párhuzamosan csatlakoztatva.

Ne felejtse el kikapcsolni a szerelvényt, mielőtt új érzékelőket csatlakoztat.

Az összeszerelés újraindításakor a következő kimenetet kaptuk, a forráskód megváltoztatása nélkül.

9. lépés: Forrás megtekintése

#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 // define o número máximo para vagy vetor de sensores DS1820* szenzor [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] = új DS1820 (PINO_DE_DADOS); // cria uma instancia para vagy 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 (igaz, DS1820:: minden_eszköz); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); várj (1); }}

10. lépés: Fájlok

PDF

Mások

Ajánlott: