Indholdsfortegnelse:
- Trin 1: Brugte ressourcer
- Trin 2: Montering
- Trin 3: Nyt program i MBED
- Trin 4: Import af DS18b20 -biblioteket
- Trin 5: Nyt program i MBED
- Trin 6: Kildekode
- Trin 7: Data modtaget
- Trin 8: Inkluderer flere sensorer
- Trin 9: Vis kilde
- Trin 10: Filer
Video: Utroligt let at programmere !: 10 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I dag vil jeg tale om STM32 Core, L476RG, som er ansigtet til Ultra Low Power. Du kan se det til venstre på billedet. Denne enhed har to hunstifter, en på hver side, som ikke er andet end stikene til arduino -skjoldet. Det er fantastisk, ikke?
Efter min mening gjorde STMicroelectronics dette i sit Development Kit, fordi det ved, at fagfolk bruger denne chip. Dette firma går mere og mere mod arduinoen. Og det gælder også for flere andre professionelle STMicroelectronics -kits.
Endelig vedrørende projektet i dag vil vi bruge to DS18b20 sensorer ud over L476RG. Så vi laver en simpel samling ved hjælp af L476RG, importerer et bibliotek til MBED -miljøet, opretter et program i MBED -miljøet og får data fra L476RG via USB / Serial.
Jeg har allerede talt lidt om L476RG i denne video: DEN NEMMERE MÅDE AT PROGRAMMERE EN MIKROKONTROLLER, hvor jeg viser, hvordan man konfigurerer MBED -miljøet, som er online.
Nogle mennesker, der følger mine videoer, spørger mig, om STM32 erstatter ESP32. Jeg siger en ting: den erstatter ikke, og den kunne ikke, fordi de er to helt forskellige ting.
Denne STM32 -chip er en mikrokontroller, eller rettere; det er ikke en "klynge af ting", ligesom ESP32. Så navnet ligner måske, men de er helt forskellige. STM32 er en generel mikrokontroller, f.eks. En PIC, en Atmel.
Trin 1: Brugte ressourcer
1 kerne L476RG
2 DS18b20 sensorer (vi bruger de almindelige vandtætte moduler på markedet)
1 4k7 modstand
Mini protoboard
Jumpere til tilslutning
Trin 2: Montering
Vi vil i første omgang udføre samlingen ved hjælp af en af temperatursensorerne.
Dens effekt vil være 5V.
En 4k7 modstand vil blive brugt til at foretage en pull-up på datalinjen (1-Wire).
Vi læser dataene ved hjælp af A0 -stiften.
Trin 3: Nyt program i MBED
Når du har oprettet din konto i MBED og har adgang til den, opretter vi et nyt program. For at gøre dette skal du højreklikke på "Mine programmer" og vælge "Nyt program …"
Bekræft, at "Platformen" er i overensstemmelse med det bræt, du bruger.
Vi klikker nu på "Skabelon".
Vi opretter et program baseret på eksemplet "Vis en meddelelse på pc ved hjælp af UART".
Indtast programmets navn i "Programnavn".
Marker indstillingen "Opdater dette program og biblioteker til seneste version".
Der oprettes en ny mappe til dit program, inklusive standard MBED -biblioteket og main.cpp -filen.
Du kan bruge den til at teste, om alt fungerer godt. For at gøre dette skal du blot kompilere det og kopiere det til platformen.
Ved hjælp af en valgfri seriel terminal kan du modtage følgende meddelelser.
Trin 4: Import af DS18b20 -biblioteket
Da der er flere versioner af biblioteker til Ds18b20, importerer vi ved hjælp af en url, så dit eksempel bruger det samme bibliotek.
Trin 5: Nyt program i MBED
I feltet "Kilde -URL" skal du udfylde: https://os.mbed.com/users/Sissors/code/DS1820/ og klikke på import.
Dit DS1820 -bibliotek skal vises i din programmappe.
Trin 6: Kildekode
Inkluderer
Vi startede med at inkludere de nødvendige biblioteker.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Vi definerer konstanter, der repræsenterer de benyttede stifter.
Bemærk, at DS18b20 er en sensor med 1-WIRE-kommunikation. Af denne grund bruger vi biblioteket, der håndterer hele kommunikationsprotokollen med enhederne. Dette inkluderer at identificere hver enhed op til læsekommandoerne.
#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
Vi opretter en vektor, der vil pege på hver af de 16 mulige enheder, der er forbundet til datalinjen.
DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Vi starter hovedmetoden (), hvor vi ved hjælp af metoden "unassignedProbe ()" i DS1820 -biblioteket leder efter alle tilgængelige enheder i kommunikationslinjen.
Vi fylder sensorvektoren med de instanser, der repræsenterer hver af de tilgængelige sensorer.
Vi gør dette, indtil den sidste er fundet, eller indtil vi når maksimum 16 sensorer.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = ny DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; hvis (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Vi sender antallet af sensorer fundet på linjen.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Vi starter en uendelig sløjfe, der anmoder om, at alle tilgængelige sensorer beregner deres respektive temperaturer og derefter itererer gennem sensorvektoren ved at sende de opnåede aflæsninger.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); mens (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 temperatura printf ("\ r / n"); vent (1); }
Trin 7: Data modtaget
Ved hjælp af en enkelt sensor opnår vi følgende serielle output.
Trin 8: Inkluderer flere sensorer
For at teste koden introducerer vi en anden sensor i kommunikationslinjen ved blot at forbinde den parallelt med den første sensor.
Husk at slukke for enheden, før du tilslutter nye sensorer.
Ved genstart af samlingen fik vi følgende output uden ændringer i kildekoden.
Trin 9: Vis kilde
#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 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] = ny DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; hvis (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); mens (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 temperatura printf ("\ r / n"); vent (1); }}
Trin 10: Filer
Andre
Anbefalede:
Opret din egen kørekommando ved let trin: 4 trin
Opret din egen kørekommando ved let trin: Her viser jeg, hvordan du kan oprette din egen kørekommando i Windows OS. Faktisk er denne funktion i Windows fantastisk, hvilket er nyttigt at åbne dit applikationsvindue med det samme. Så nu kan du også oprette din kommando for at åbne ethvert program ved at indtaste
3 enkle måder at programmere et ESP8266 12X -modul på: 5 trin (med billeder)
3 enkle måder at programmere et ESP8266 12X -modul på: Hvis du ikke er bekendt med ESP8266 mikrokontroller, føler jeg virkelig, at du har gået glip af det! Disse ting er utrolige: de er billige, kraftfulde og bedst af alt har indbygget WiFi! ESP8266 startede deres rejse som en WiFi-tilføjelse ombord til mere
Den nemmeste måde at programmere en mikrokontroller på !: 9 trin
Den nemmeste måde at programmere en mikrokontroller på !: Er du interessant i at have en mikrokontroller, der bruger meget mindre strøm? I dag vil jeg præsentere dig for STM32 Ultra Low Power - L476RG, der bruger 4 gange mindre energi end en Arduino Mega og har en kraftfuld Cortex -processor. Jeg vil også
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: 3 trin
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: Dette projekt hjælper dig med at forbinde 18 lysdioder (6 røde + 6 blå + 6 gule) til dit Arduino-kort og analysere din computers lydkorts realtids signaler og videresende dem til lysdioderne for at tænde dem i takt med slageffekterne (Snare, High Hat, Kick)
Arduino Uno til at programmere ATTINY84 (Arduino V. 1.8.5): 6 trin
Arduino Uno til at programmere ATTINY84 (Arduino V. 1.8.5): Brug af Arduino Uno til at programmere ATTINY84-20PU (Digikey element # ATTINY84-20-PU-ND). Denne instruktør viser, hvordan du bruger Arduino -platformen til at arbejde med fysisk mindre processorer, f.eks. ATtiny84 (84/44/24). Dette eksempel er specifikt til