Innehållsförteckning:
- Steg 1: Moduler
- Steg 2: STM32 NUCLEO-L432KC
- Steg 3: Demonstration
- Steg 4: Montering
- Steg 5: Program
- Steg 6: Bibliotek
- Steg 7: Källkod
- Steg 8: Filer
Video: Varvtalsmätare med STM32: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Även om det är lite besvärligt att köpa (eftersom det inte finns i många internetbutiker), tycker jag det är nödvändigt att diskutera STM32 L432KC. Detta chip förtjänar särskild kärlek, eftersom det är ULTRA LOW POWER. Men för dem som inte äger STM32 kan den i detta projekt ersättas av Arduino Uno. För att göra detta, ändra helt enkelt stiftet på Interrupt -ingången.
Låt oss sedan skapa en varvtalsmätare med STM32 L432KC och en infraröd sensor. Samma program kan också användas för att mäta vindhastighet. Den lågeffektfunktionen hos denna mikrokontroller är perfekt för IOT.
Steg 1: Moduler
För vårt projekt idag använder vi den åttasiffriga MAX7219CWG, liksom den infraröda modulen.
Steg 2: STM32 NUCLEO-L432KC
Steg 3: Demonstration
I vår samling har vi STM32, den 8-siffriga displayen och pulsinmatningen. Det infraröda kortet har en fototransistor och en LED som fångar ljuset genom att studsa av ett vitt band. Detta band är fäst på ett hjul och kommer vid varje varv att generera en puls som kommer att fångas upp av STM32 -avbrottet.
Vi har en diod och en kondensator i aggregatet som användes för att förhindra att ljudet från bandlässignalen når STM32, vilket gör att den tolkar av och på.
Demonstrationen visar vårt projekt, liksom Minipa -mätaren (båda i drift).
Steg 4: Montering
Steg 5: Program
Vi kommer att göra ett program där den infraröda modulen kommer att utlösa ett avbrott i STM32 L432KC varje "sväng", och vi kommer att göra beräkningarna för att visa varvtalet på displayen.
Steg 6: Bibliotek
Lägg till följande "DigitLedDisplay" -bibliotek.
Gå bara till "Skiss >> Inkludera bibliotek >> Hantera bibliotek …"
Steg 7: Källkod
Bibliotek och variabler
Låt oss starta källkoden inklusive DigitLedDisplay -biblioteket. Vi visar displayobjektet. Jag ställer in avbrottsstiftet, som blir 12. Dessutom anger jag en flyktig operatör för både varvtalet och tiden för att undvika eventuella kollisionsproblem.
/ * Inkludera DigitLedDisplay Library */#include "DigitLedDisplay.h"/ * Arduino Pin to Display Pin 7 to DIN, 6 to CS, 5 to CLK */// DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); // arduino DigitLedDisplay ld = DigitLedDisplay (4, 2, 3); // STM32 L432KC int pin = 12; // pino de interrupção (módulo IR) flyktig osignerad int rpm; // contador de rpm volatile unsigned long timeold; //tempo
Uppstart
I installationen konfigurerar vi visningsfunktionen, samt konfigurerar avbrottet som stigande.
void setup () {Serial.begin (115200); / * Ställ in ljusstyrkan min: 1, max: 15 */ ld.setBright (10); / * Ställ in siffran */ ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; tidsvärde = millis (); }
Slinga
Slutligen bestämmer vi intervallet 1 på 1 minut för att uppdatera displayen. Efter rengöring av skärmen skriver vi ut varvtalet. Vi utför den funktion som avbrottet kommer att anropa. Vi beräknar varvtal och uppdateringstid.
void loop () {delay (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60*1000/(millis () - timeold); tidsvärde = millis (); }
Steg 8: Filer
Ladda ner filerna:
INO
Rekommenderad:
Kraftfull digital AC -dimmer med STM32: 15 steg (med bilder)
Kraftfull digital AC -dimmer med STM32: Av Hesam Moshiri, [email protected] -laddningar lever hos oss! Eftersom de finns överallt runt omkring oss och åtminstone hushållsapparater levereras med nätström. Många typer av industriell utrustning drivs också med enfas 220V-AC.
Högupplöst PWM -signalgenerering för RC -servon med STM32 -enheter: 3 steg
Högupplöst PWM -signalgenerering för RC -servon med STM32 -enheter: För närvarande bygger jag en RC -sändare/mottagare baserad på SX1280 RF -chip. Ett av målen för projektet är att jag vill ha 12 bitars servoupplösning från pinnarna hela vägen ner till servon. Dels för att moderna digitala servon har 12 bitars reso
Varvtalsmätare på Arduino Uno: 3 steg
RPM -mätare på Arduino Uno: Arduino är en plattform för allsmäktighet. Det gör det möjligt att skapa enkla blinkers, men också komplexa system för mer avancerad automatisering. Tack vare de olika bussarna kan Arduino också utökas till att omfatta olika kringutrustning. Idag tar vi en
STM32 -kort med Arduino IDE STM32F103C8T6: 5 steg
STM32 Board With Arduino IDE STM32F103C8T6: Hej killar eftersom många använder arduino boards men som vi vet har de vissa begränsningar så få andra boards kom fram som ett arduino alternativ som kan leverera bättre prestanda och bättre funktioner än en Arduino och en av de är STM3
Enkel varvtalsmätare med billiga moduler: 8 steg
Enkel varvtalsmätare med hjälp av billiga moduler: Detta är ett mycket intressant projekt och använder mycket mindre ansträngningar för att göra en mycket enkel varvtalsmätare (runda per sekund i mitt fall)