Inhoudsopgave:
- Stap 1: Modules
- Stap 2: STM32 NUCLEO-L432KC
- Stap 3: Demonstratie
- Stap 4: Montage
- Stap 5: Programma
- Stap 6: Bibliotheken
- Stap 7: Broncode
- Stap 8: Bestanden
Video: RPM-meter met STM32 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Hoewel het wat lastig is om te kopen (omdat het in veel internetwinkels niet verkrijgbaar is), vind ik het nodig om STM32 L432KC te bespreken. Deze chip verdient speciale genegenheid, want het is ULTRA LAAG VERMOGEN. Voor degenen die de STM32 niet bezitten, kan deze in dit project echter worden vervangen door de Arduino Uno. Om dit te doen, verandert u eenvoudig de pin van de Interrupt-ingang.
Laten we dan een RPM-meter maken met behulp van de STM32 L432KC en een infraroodsensor. Ditzelfde programma kan ook worden gebruikt om de windsnelheid te meten. De low-power-functie van deze microcontroller is perfect voor IOT.
Stap 1: Modules
Voor ons project van vandaag gebruiken we de 8-cijferige MAX7219CWG, evenals de infraroodmodule.
Stap 2: STM32 NUCLEO-L432KC
Stap 3: Demonstratie
In onze montage hebben we de STM32, het 8-cijferige display en de pulsingang. De infraroodkaart heeft een fototransistor en een LED die het licht opvangt door een wit lint te weerkaatsen. Deze tape is bevestigd aan een wiel en genereert bij elke draai een puls, die wordt opgevangen door de STM32-interrupt.
We hebben een diode en een condensator in de assemblage die werden gebruikt om te voorkomen dat de ruis van het bandleessignaal de STM32 bereikt, waardoor het de aan en uit zou interpreteren.
De demonstratie toont ons project, evenals de Minipa-meter (beide in werking).
Stap 4: Montage
Stap 5: Programma
We zullen een programma maken waarin de infraroodmodule elke "draai" een onderbreking in de STM32 L432KC activeert, en we zullen de berekeningen uitvoeren om het toerental op het display weer te geven.
Stap 6: Bibliotheken
Voeg de volgende "DigitLedDisplay"-bibliotheek toe.
Ga gewoon naar "Schets >> Bibliotheken opnemen >> Bibliotheken beheren …"
Stap 7: Broncode
Bibliotheken en variabelen
Laten we beginnen met de broncode, inclusief de DigitLedDisplay-bibliotheek. We laten het weergaveobject zien. Ik heb de interrupt-pin ingesteld, die 12 zal zijn. Ook voer ik een vluchtige operator in voor zowel de RPM-teller als de tijd om botsingsproblemen te voorkomen.
/* Inclusief DigitLedDisplay-bibliotheek */#include "DigitLedDisplay.h" /* Arduino-pin naar display-pin 7 naar DIN, 6 naar CS, 5 naar 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) vluchtige niet-ondertekende int rpm; //contador de rpm vluchtige unsigned long timeold; //tempo
Opstelling
In de Setup configureren we de weergavebewerking en configureren we de onderbreking als Rising.
void setup() {Serial.begin(115200); /* Stel de helderheid min:1, max:15 in */ ld.setBright(10); /* Stel het aantal cijfers in */ ld.setDigitLimit(8); ld.printDigit(0); attachInterrupt(digitalPinToInterrupt(pin), interruptPin, RISING); tpm = 0; tijdoud = millis(); }
Lus
Ten slotte bepalen we het interval van 1 op 1 minuut om het display bij te werken. Na het reinigen van het scherm printen we de RPM. We voeren de functie uit die de interrupt zal aanroepen. We berekenen RPM en updatetijd.
void loop () { vertraging (1000); ld.clear(); ld.printDigit(rpm); } void interruptPin() { rpm = 60*1000/(millis() - timeold); tijdoud = millis(); }
Stap 8: Bestanden
Download de bestanden:
INO
Aanbevolen:
Begin met het ontwikkelen van STM32 op Linux: 4 stappen
Begin met het ontwikkelen van STM32 op Linux: in deze Instructable ga ik je laten zien hoe gemakkelijk het is om STM32-programma's op Linux te ontwikkelen. Ik begon Linux 2 jaar geleden als mijn hoofdmachine te gebruiken en ben niet in de steek gelaten. Alles werkt sneller en beter dan Windows. Natuurlijk is les
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Aan de slag met Stm32 met Arduino IDE: 3 stappen
Aan de slag met Stm32 Arduino IDE gebruiken: STM32 is een vrij krachtig en populair bord dat wordt ondersteund door Arduino IDE. om het te programmeren
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Wireless Serial (UART) voor Arduino/STM32/etc.: 3 stappen (met afbeeldingen)
Wireless Serial (UART) voor Arduino/STM32/etc.: Hopelijk zal iedereen het met me eens zijn dat de Arduino Serial een geweldig hulpmiddel is om je projecten te debuggen. Nou, het is eigenlijk de enige optie voor het debuggen van een Arduino. Maar soms is het niet mogelijk of praktisch om een USB-kabel van de Ard