Innehållsförteckning:
- Steg 1: Resurser som används
- Steg 2: Montering
- Steg 3: Nytt program i MBED
- Steg 4: Importera DS18b20 -biblioteket
- Steg 5: Nytt program i MBED
- Steg 6: Källkod
- Steg 7: Mottagna data
- Steg 8: Inklusive fler sensorer
- Steg 9: Visa källa
- Steg 10: Filer
Video: Otroligt lätt att programmera !: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Idag ska jag prata om STM32 Core, L476RG, som är ansiktet på Ultra Low Power. Du kan se den till vänster på bilden. Denna enhet har två hona -stiftstänger, en på varje sida, som inte är annat än kontakterna för arduino -skärmen. Det här är bra, eller hur?
Enligt min mening gjorde STMicroelectronics detta i sitt utvecklingspaket eftersom det vet att proffs använder detta chip. Detta företag går mer och mer mot arduino. Och detta gäller även för flera andra professionella STMicroelectronics -kit.
Slutligen, om projektet idag, kommer vi att använda två DS18b20 -sensorer utöver L476RG. Så vi gör en enkel montering med L476RG, importerar ett bibliotek till MBED -miljön, skapar ett program i MBED -miljön och får data från L476RG via USB / Serial.
Jag har redan pratat lite om L476RG i den här videon: ENKLARE SÄTT ATT PROGRAMMERA EN MIKROKONTROLLER, där jag visar hur man konfigurerar MBED -miljön, som är online.
Vissa människor som följer mina videor frågar mig om STM32 ersätter ESP32. Jag säger en sak: den ersätter inte och den kan inte, eftersom de är två helt olika saker.
Detta STM32 -chip är en mikrokontroller, eller snarare; det är inte ett "kluster av saker" liksom ESP32. Så namnet kan se likadant ut, men de är helt olika. STM32 är en mikrokontroller för allmänna ändamål, till exempel en PIC, en Atmel.
Steg 1: Resurser som används
1 kärna L476RG
2 DS18b20 -sensorer (vi använder de vanliga vattentäta modulerna på marknaden)
1 4k7 motstånd
Mini protoboard
Byxor för anslutning
Steg 2: Montering
Vi kommer inledningsvis att montera med en av temperatursensorerna.
Dess effekt kommer att vara 5V.
Ett 4k7-motstånd kommer att användas för att dra upp datalinjen (1-tråd).
Vi kommer att läsa data med hjälp av A0 -stiftet.
Steg 3: Nytt program i MBED
När du har konfigurerat ditt konto i MBED och har tillgång till det skapar vi ett nytt program. För att göra detta, högerklicka på "Mina program" och välj "Nytt program …"
Bekräfta att "plattformen" överensstämmer med det kort du använder.
Vi klickar nu på "Mall".
Vi skapar ett program baserat på exemplet "Visa ett meddelande på PC med UART".
Ange programmets namn i "Programnamn".
Markera alternativet "Uppdatera detta program och bibliotek till senaste versionen".
En ny mapp för ditt program skapas, inklusive standard MBED -bibliotek och main.cpp -filen.
Du kan använda den för att testa om allt fungerar bra. För att göra detta, kompilera det enkelt och kopiera det till plattformen.
Med en valfri seriell terminal kan du få följande meddelanden.
Steg 4: Importera DS18b20 -biblioteket
Eftersom det finns flera versioner av bibliotek för Ds18b20 kommer vi att importera med en webbadress så att ditt exempel använder samma bibliotek.
Steg 5: Nytt program i MBED
I fältet "Källadress" fyller du i: https://os.mbed.com/users/Sissors/code/DS1820/ och klickar på Importera.
Ditt DS1820 -bibliotek bör visas i din programmapp.
Steg 6: Källkod
Inkluderar
Vi började med att inkludera nödvändiga bibliotek.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Vi definierar konstanter som representerar stiften som används.
Observera att DS18b20 är en sensor med 1-WIRE-kommunikation. Av denna anledning använder vi biblioteket som hanterar hela kommunikationsprotokollet med enheterna. Detta inkluderar att identifiera varje enhet upp till läskommandona.
#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 skapar en vektor som pekar på var och en av de 16 möjliga enheterna som är anslutna till datalinjen.
DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Vi startar huvudmetoden (), där vi med hjälp av metoden "unassignedProbe ()" i DS1820 -biblioteket letar efter alla tillgängliga enheter på kommunikationslinjen.
Vi fyller sensorvektorn med de instanser som kommer att representera var och en av de tillgängliga sensorerna.
Vi gör detta tills den sista hittas eller tills vi når maximalt 16 sensorer.
int main () {int encontrados = 0; medan (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 ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Vi skickar antalet sensorer som finns på linjen.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Vi startar en oändlig slinga och begär att alla tillgängliga sensorer beräknar sina respektive temperaturer och itererar sedan genom sensorvektorn genom att skicka de erhållna avläsningarna.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); medan (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"); vänta (1); }
Steg 7: Mottagna data
Med en enda sensor får vi följande serieutgång.
Steg 8: Inklusive fler sensorer
För att testa koden introducerar vi en annan sensor i kommunikationslinjen, helt enkelt genom att ansluta den parallellt med den första sensorn.
Kom ihåg att stänga av enheten innan du ansluter nya sensorer.
När vi startade om enheten fick vi följande utdata utan några ändringar i källkoden.
Steg 9: Visa källa
#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; medan (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 ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); medan (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"); vänta (1); }}
Steg 10: Filer
Andra
Rekommenderad:
Programmera en Arduino med en annan Arduino för att visa en rullande text utan bibliotek: 5 steg
Programmera en Arduino Använda en annan Arduino för att visa en rullande text utan bibliotek: Sony Spresense eller Arduino Uno är inte så dyra och kräver inte mycket ström. Men om ditt projekt har begränsning av kraft, utrymme eller till och med budget kan du överväga att använda Arduino Pro Mini. Till skillnad från Arduino Pro Micro, Arduino Pro Mi
3 enkla sätt att programmera en ESP8266 12X -modul: 5 steg (med bilder)
3 enkla sätt att programmera en ESP8266 12X -modul: Om du inte är bekant med ESP8266 mikrokontroller känner jag verkligen att du har missat! Dessa saker är otroliga: de är billiga, kraftfulla och bäst av allt har inbyggd WiFi! ESP8266 började sin resa som en WiFi-tillägg ombord för mer
Det enklaste sättet att programmera en mikrokontroller !: 9 steg
Det enklaste sättet att programmera en mikrokontroller !: Är du intresserad av att ha en mikrokontroller som använder mycket mindre ström? Idag kommer jag att presentera dig för STM32 Ultra Low Power - L476RG, som använder 4 gånger mindre energi än en Arduino Mega och har en kraftfull Cortex -processor. Jag kommer också att
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: 3 steg
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: Detta projekt hjälper dig att ansluta 18 lysdioder (6 röda + 6 blå + 6 gula) till ditt Arduino-kort och analysera datorns ljudkortets realtidsignaler och vidarebefordra dem till lysdioderna för att tända dem enligt slageffekterna (Snare, High Hat, Kick)
Programmera din dator att stängas av automatiskt genom att ange vilken tid du vill att den ska göra det: 4 steg
Programmera din dator för att stänga av automatiskt genom att ange vilken tid du vill att den ska göra det: hej, det är en annan instruktion som tagits från mitt dagliga liv … förra gången var jag tvungen att ladda ner massor av programvara till min dator och jag var tvungen att låta den ladda ner över natten ville jag inte ha datorn påslagen hela natten efter att jag hade laddat ner och vid