Obsah:
- Krok 1: Použité zdroje
- Krok 2: Zostavenie
- Krok 3: Nový program v MBED
- Krok 4: Import knižnice DS18b20
- Krok 5: Nový program v MBED
- Krok 6: Zdrojový kód
- Krok 7: Údaje boli prijaté
- Krok 8: Zahrnutie viacerých senzorov
- Krok 9: Zobrazte zdroj
- Krok 10: Súbory
Video: Neuveriteľne jednoduché naprogramovanie!: 10 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Dnes budem hovoriť o jadre STM32 Core, L476RG, ktoré je tvárou ultra nízkej spotreby. Môžete to vidieť na ľavej strane obrázku. Toto zariadenie má dve zásuvkové tyče, jednu na každej strane, ktoré nie sú ničím iným ako konektormi pre arduino štít. Toto je super, nie?
Podľa môjho názoru to spoločnosť STMicroelectronics vo svojej vývojovej súprave urobila, pretože vie, že tento čip používajú profesionáli. Táto spoločnosť stále viac smeruje k arduinu. A to platí aj pre niekoľko ďalších profesionálnych súprav STMicroelectronics.
Nakoniec, pokiaľ ide o dnešný projekt, použijeme okrem L476RG aj dva senzory DS18b20. Takže urobíme jednoduchú montáž pomocou L476RG, importujeme knižnicu do prostredia MBED, vytvoríme program v prostredí MBED a získame údaje z L476RG cez USB / Serial.
V tomto videu som už trochu hovoril o L476RG: JEDNODUCHŠÍ SPÔSOB PROGRAMOVANIA MIKROKONTROLÁRA, kde ukazujem, ako nakonfigurovať prostredie MBED, ktoré je online.
Niektorí ľudia, ktorí sledujú moje videá, sa ma pýtajú, či STM32 nahrádza ESP32. Hovorím jednu vec: nenahrádza a ani nemôže, pretože sú to dve úplne odlišné veci.
Tento čip STM32 je mikrokontrolér alebo skôr; nie je to „zhluk vecí“ako ESP32. Názov teda môže vyzerať podobne, ale sú úplne odlišné. STM32 je mikrokontrolér na všeobecné použitie, napríklad PIC alebo Atmel.
Krok 1: Použité zdroje
1 jadro L476RG
2 senzory DS18b20 (používame bežné vodotesné moduly na trhu)
1 odpor 4k7
Mini protoboard
Spojky pre pripojenie
Krok 2: Zostavenie
Montáž najskôr vykonáme pomocou jedného z teplotných senzorov.
Jeho výkon bude 5V.
Na vytiahnutie dátového vedenia (1-Wire) bude použitý odpor 4k7.
Údaje prečítame pomocou pinu A0.
Krok 3: Nový program v MBED
Akonáhle budete mať svoj účet nastavený v MBED a budete k nemu mať prístup, vytvoríme nový program. Ak to chcete urobiť, kliknite pravým tlačidlom myši na "Moje programy" a zvoľte "Nový program …"
Potvrďte, že „platforma“zodpovedá doske, ktorú používate.
Teraz klikneme na „Šablóna“.
Vytvoríme program podľa príkladu „Zobrazenie správy na počítači pomocou UART“.
Do poľa „Názov programu“zadajte názov programu.
Začiarknite možnosť „Aktualizovať tento program a knižnice na najnovšiu revíziu“.
Vytvorí sa nový priečinok pre váš program vrátane predvolenej knižnice MBED a súboru main.cpp.
Môžete ho použiť na testovanie, či všetko funguje dobre. Ak to chcete urobiť, jednoducho ho skompilovajte a skopírujte na platformu.
Použitím zvoleného sériového terminálu môžete prijímať nasledujúce správy.
Krok 4: Import knižnice DS18b20
Pretože pre Ds18b20 existuje niekoľko verzií knižníc, budeme importovať pomocou adresy URL, aby váš príklad používal rovnakú knižnicu.
Krok 5: Nový program v MBED
Do poľa „Adresa URL zdroja“zadajte: https://os.mbed.com/users/Sissors/code/DS1820/ a kliknite na import.
Knižnica DS1820 by sa mala objaviť v priečinku programu.
Krok 6: Zdrojový kód
Zahŕňa
Začali sme zahrnutím potrebných knižníc.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Definujeme konštanty, ktoré budú predstavovať použité piny.
Všimnite si toho, že DS18b20 je senzor s komunikáciou 1-WIRE. Z tohto dôvodu používame knižnicu, ktorá bude spracovávať celý protokol komunikácie so zariadeniami. To zahŕňa identifikáciu každého zariadenia až po príkazy na čítanie.
#define PINO_DE_DADOS A0 // definovať o pino para leitura dos dados#define MAX_SENSORES 16 // define o número maximum a para o vetor de sensores
Vytvoríme vektor, ktorý bude ukazovať na každé zo 16 možných zariadení pripojených k dátovému riadku.
Senzor DS1820* [MAX_SENSORES]; // cria um vetor com 16 pozícií pre para os senzory
Spustíme metódu main (), kde pomocou metódy „unassignedProbe ()“obsiahnutej v knižnici DS1820 vyhľadáme všetky dostupné zariadenia v komunikačnej linke.
Vektor senzora vyplníme inštanciami, ktoré budú predstavovať každý z dostupných senzorov.
Robíme to, kým sa nenájde posledný alebo kým nedosiahneme maximum 16 senzorov.
int main () {int encontrados = 0; while (DS1820:: univededProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o senzor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica with atingiu o maximal de de sensores break; }
Posielame počet senzorov nájdených na linke.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Začíname s nekonečnou slučkou a požadujeme, aby všetky dostupné senzory vypočítali svoje príslušné teploty, a potom iterujeme vektorom senzora odoslaním získaných hodnôt.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {senzor [0]-> convertTemperature (true, DS1820:: all_devices); // časová a teplotná odchýlka pre jednotlivé položky pre (int i = 0; itemperature ()); //… retorna a temperatura printf ("\ r / n"); počkajte (1); }
Krok 7: Údaje boli prijaté
Použitím jedného senzora získame nasledujúci sériový výstup.
Krok 8: Zahrnutie viacerých senzorov
Na testovanie kódu zavádzame ďalší senzor do komunikačnej linky jednoduchým zapojením paralelne s prvým senzorom.
Pred pripojením nových snímačov nezabudnite zostavu vypnúť.
Pri reštarte zostavy sme získali nasledujúci výstup bez akýchkoľvek zmien v zdrojovom kóde.
Krok 9: Zobrazte zdroj
#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 maximálne množstvo senzorov DS1820* [MAX_SENSORES]; // cria um vetor com 16 pozícií para os senzorov int main () {int encontrados = 0; while (DS1820:: univededProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o senzor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica with atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {senzor [0]-> convertTemperature (true, DS1820:: all_devices); // časová a teplotná odchýlka pre jednotlivé položky pre (int i = 0; itemperature ()); //… retorna a temperatura printf ("\ r / n"); počkajte (1); }}
Krok 10: Súbory
Iní
Odporúča:
DIY Ako zobraziť čas na M5StickC ESP32 pomocou Visuino - jednoduché kroky: 9 krokov
DIY Ako zobraziť čas na M5StickC ESP32 pomocou Visuino - Jednoduché kroky: V tomto návode sa naučíme, ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino tak, aby sa čas zobrazoval na LCD displeji
Ako si vyrobiť lacné a jednoduché stojany na reproduktory: 8 krokov
Ako si vyrobiť lacné a ľahké stojany na reproduktory: Naša trieda má nové štúdio na nahrávanie a úpravu. Štúdio má reproduktory k monitoru, ale sedenie na stole sťažuje počúvanie. Aby sme reproduktory dostali do správnej výšky a presného počúvania, rozhodli sme sa vytvoriť niekoľko stojanov na reproduktory. My
Okuliare Arduino SteamPunk - jednoduché DIY: 9 krokov
Okuliare Arduino SteamPunk - Jednoduché DIY: V tomto návode sa naučíme, ako vyrobiť legendárne okuliare SteamPunk, ktoré menia farby pomocou LED krúžkov a Arduina. Pozrite si video
Jednoduché počítadlo frekvencie pomocou Arduina: 6 krokov
Jednoduché frekvenčné počítadlo pomocou Arduina: V tomto návode sa naučíme, ako vytvoriť jednoduchý frekvenčný čítač pomocou Arduina. Pozrite si video
(Veľmi jednoduché) Modelovanie chorôb (pomocou Scratch): 5 krokov
(Veľmi jednoduché) Modelovanie chorôb (pomocou Scratch): Dnes budeme simulovať vypuknutie choroby, pričom ide o akúkoľvek chorobu, nie nevyhnutne o COVID-19. Táto simulácia bola inšpirovaná videom od 3blue1brown, na ktoré odkazujem. Pretože je to drag and drop, nemôžeme s JS alebo Pyt urobiť toľko, koľko dokážeme