Innholdsfortegnelse:
- Trinn 1: Ressurser brukt
- Trinn 2: Montering
- Trinn 3: Nytt program i MBED
- Trinn 4: Importere DS18b20 -biblioteket
- Trinn 5: Nytt program i MBED
- Trinn 6: Kildekode
- Trinn 7: Data mottatt
- Trinn 8: Inkludert flere sensorer
- Trinn 9: Vis kilde
- Trinn 10: Filer
Video: Utrolig enkelt å programmere !: 10 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
I dag skal jeg snakke om STM32 Core, L476RG, som er ansiktet til Ultra Low Power. Du kan se det til venstre på bildet. Denne enheten har to kvinnelige tappestenger, en på hver side, som ikke er annet enn kontaktene for arduino -skjoldet. Dette er flott, ikke sant?
Etter min mening gjorde STMicroelectronics dette i sitt utviklingssett fordi det vet at fagfolk bruker denne brikken. Dette selskapet går mer og mer mot arduinoen. Og dette gjelder også for flere andre profesjonelle STMicroelectronics -sett.
Til slutt, angående prosjektet i dag, vil vi bruke to DS18b20 sensorer i tillegg til L476RG. Så vi skal lage en enkel montering ved hjelp av L476RG, importere et bibliotek til MBED -miljøet, lage et program i MBED -miljøet og få data fra L476RG via USB / Serial.
Jeg har allerede snakket litt om L476RG i denne videoen: ENKLERE MÅTE Å PROGRAMMERE EN MIKROKONTROLLER, der jeg viser hvordan jeg konfigurerer MBED -miljøet, som er online.
Noen som følger videoene mine, spør meg om STM32 erstatter ESP32. Jeg sier en ting: den erstatter ikke, og den kan ikke, fordi de er to helt forskjellige ting.
Denne STM32 -brikken er en mikrokontroller, eller rettere sagt; det er ikke en "klynge av ting" som ESP32. Så navnet kan se likt ut, men de er helt forskjellige. STM32 er en generell mikrokontroller, for eksempel en PIC, en Atmel.
Trinn 1: Ressurser brukt
1 kjerne L476RG
2 DS18b20 sensorer (vi bruker de vanntette vanntette modulene på markedet)
1 4k7 motstand
Mini protoboard
Gensere for tilkobling
Trinn 2: Montering
Vi vil først utføre monteringen ved hjelp av en av temperatursensorene.
Strømmen vil være 5V.
En 4k7 motstand vil bli brukt til å trekke opp datalinjen (1-ledning).
Vi leser dataene ved hjelp av A0 -pinnen.
Trinn 3: Nytt program i MBED
Når du har konfigurert kontoen din i MBED og får tilgang til den, lager vi et nytt program. For å gjøre dette, høyreklikk på "Mine programmer" og velg "Nytt program …"
Bekreft at "Plattformen" samsvarer med brettet du bruker.
Vi klikker nå på "Mal".
Vi lager et program basert på eksemplet "Vis en melding på PC ved hjelp av UART".
Skriv inn navnet på programmet i "Programnavn".
Merk av for alternativet "Oppdater dette programmet og bibliotekene til siste versjon".
En ny mappe for programmet ditt vil bli opprettet, inkludert standard MBED -bibliotek og main.cpp -filen.
Du kan bruke den til å teste om alt fungerer bra. For å gjøre dette, bare kompiler det og kopier det til plattformen.
Ved å bruke en seriell terminal etter eget valg, kan du motta følgende meldinger.
Trinn 4: Importere DS18b20 -biblioteket
Siden det er flere versjoner av biblioteker for Ds18b20, importerer vi ved hjelp av en url slik at eksempelet ditt bruker det samme biblioteket.
Trinn 5: Nytt program i MBED
I feltet "Kilde -URL" fyll ut: https://os.mbed.com/users/Sissors/code/DS1820/ og klikk på import.
DS1820 -biblioteket ditt skal vises i programmappen.
Trinn 6: Kildekode
Inkluderer
Vi begynte med å inkludere de nødvendige bibliotekene.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Vi definerer konstanter som skal representere pinnene som brukes.
Vær oppmerksom på at DS18b20 er en sensor med 1-WIRE-kommunikasjon. Av denne grunn bruker vi biblioteket som skal håndtere hele kommunikasjonsprotokollen med enhetene. Dette inkluderer å identifisere hver enhet opp til lesekommandoene.
#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 lager en vektor som vil peke på hver av de 16 mulige enhetene som er koblet til datalinjen.
DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Vi starter hovedmetoden (), hvor vi ved hjelp av metoden "unassignedProbe ()" i DS1820 -biblioteket ser etter alle tilgjengelige enheter på kommunikasjonslinjen.
Vi fyller sensorvektoren med forekomstene som vil representere hver av de tilgjengelige sensorene.
Vi gjør dette til den siste er funnet eller til 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 antall sensorer funnet på linjen.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Vi starter en uendelig sløyfe og ber om at alle tilgjengelige sensorer beregner sine respektive temperaturer, og deretter går det gjennom sensorvektoren ved å sende innhentede målinger.
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); }
Trinn 7: Data mottatt
Ved å bruke en enkelt sensor får vi følgende serieutgang.
Trinn 8: Inkludert flere sensorer
For å teste koden introduserer vi en annen sensor i kommunikasjonslinjen, ganske enkelt ved å koble den parallelt med den første sensoren.
Husk å slå av enheten før du kobler til nye sensorer.
Ved omstart av samlingen fikk vi følgende utgang, uten noen endringer i kildekoden.
Trinn 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); }}
Trinn 10: Filer
Andre
Anbefalt:
Hvordan programmere Arduino Mega 2560 Core?: 3 trinn
Hvordan programmere Arduino Mega 2560 Core ?: Jeg fant dette flotte Arduino mega -bordet med liten formfaktor på ebay. Det er en mindre versjon av Arduino mega 2560 og den heter tilsynelatende Arduino mega core … Det var imidlertid et problem! Det inkluderer ikke usb -tilkobling, og det er ikke mye i
COVID-19 Dashboard (enkelt og enkelt): 4 trinn
COVID-19 Dashboard (enkelt og enkelt): Overalt er det et stort utbrudd av det nye COVID-19-viruset. Det ble nødvendig å holde øye med det nåværende scenariet med COVID-19 i landet. Så, hjemme, var dette prosjektet jeg tenkte på: " An Information Dashboard " - En dag
Hvordan programmere og tilbakestille Arduino ved hjelp av Android -smarttelefon: 8 trinn
Slik programmerer og tilbakestiller du Arduino ved hjelp av Android -smarttelefon: Du har kanskje brukt OTG -adapter for å koble til pendler og spillkontrollere, og gi strøm til små enheter. Du kan gjøre mye mer enn å slå på Arduino -kortet med Smart Phone. I denne opplæringen vil vi kompilere og laste opp Ardu
Enkelt og enkelt bærbart stativ for fanget: 4 trinn
Enkelt og enkelt bærbart stativ for fanget: Jeg så meg rundt i en rekke butikker etter et bærbart stativ som får luftstrøm til den bærbare datamaskinen, men en der jeg faktisk kunne bruke den på fanget. Fant ikke noe som var det jeg ønsket, så jeg bestemte meg for å lage mitt eget
Utrolig HULK Nintendo Wii W/ Extra Usb: 6 trinn (med bilder)
Utrolig HULK Nintendo Wii W/ Extra Usb: Vel, jeg ENDELIG fullførte min andre Wii Mod !!! The Incredible HULK tilpasset Wii. Jeg tok råd fra gutta dine og gjennom dette på e-bay allerede! Forhåpentligvis vil det gjøre meg litt deig! Denne instruksen vil være veldig lik min Super Mario Wii bortsett fra den