Sommario:
- Passaggio 1: moduli
- Passaggio 2: STM32 NUCLEO-L432KC
- Passaggio 3: dimostrazione
- Passaggio 4: assemblaggio
- Passaggio 5: programma
- Passaggio 6: biblioteche
- Passaggio 7: codice sorgente
- Passaggio 8: file
Video: Misuratore di giri con STM32: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Sebbene sia un po' una seccatura da acquistare (perché non è disponibile in molti negozi online), trovo necessario discutere di STM32 L432KC. Questo chip merita un affetto speciale, in quanto è ULTRA LOW POWER. Tuttavia, per chi non possiede l'STM32, può essere sostituito in questo progetto dall'Arduino Uno. Per fare ciò, è sufficiente modificare il pin dell'ingresso Interrupt.
Creiamo quindi un misuratore di giri utilizzando l'STM32 L432KC e un sensore a infrarossi. Questo stesso programma può essere utilizzato anche per misurare la velocità del vento. La caratteristica di basso consumo di questo microcontrollore è perfetta per IOT.
Passaggio 1: moduli
Per il nostro progetto di oggi, utilizziamo il MAX7219CWG a 8 cifre e il modulo a infrarossi.
Passaggio 2: STM32 NUCLEO-L432KC
Passaggio 3: dimostrazione
Nel nostro assemblaggio, abbiamo l'STM32, il display a 8 cifre e l'ingresso a impulsi. La scheda a infrarossi ha un fototransistor e un LED che cattura la luce facendo rimbalzare un nastro bianco. Questo nastro è attaccato ad una ruota e, ad ogni giro, genererà un impulso, che sarà catturato dall'interrupt STM32.
Abbiamo un diodo e un condensatore nell'assieme che sono stati utilizzati per impedire al rumore del segnale di lettura del nastro di raggiungere l'STM32, il che gli farebbe interpretare l'accensione e lo spegnimento.
La dimostrazione mostra il nostro progetto, così come il misuratore Minipa (entrambi in funzione).
Passaggio 4: assemblaggio
Passaggio 5: programma
Faremo un programma in cui il modulo a infrarossi attiverà un interrupt nell'STM32 L432KC ogni "giro" e faremo i calcoli per visualizzare gli RPM sul display.
Passaggio 6: biblioteche
Aggiungi la seguente libreria "DigitLedDisplay".
Accedi semplicemente a "Schizzo >> Includi librerie >> Gestisci librerie …"
Passaggio 7: codice sorgente
Librerie e variabili
Iniziamo il codice sorgente inclusa la libreria DigitLedDisplay. Mostreremo l'oggetto di visualizzazione. Ho impostato il pin di interruzione, che sarà 12. Inoltre, inserisco un operatore volatile sia per il contatore RPM che per il tempo per evitare problemi di collisione.
/* Include 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 (modulo IR) volatile unsigned int rpm; //contatore di rpm volatile unsigned long timeold; //tempo
Impostare
Nel Setup, configuriamo il funzionamento del display, così come configuriamo l'interruzione come Rising.
void setup() {Serial.begin(115200); /* Imposta la luminosità min:1, max:15 */ ld.setBright(10); /* Imposta il conteggio delle cifre */ ld.setDigitLimit(8); ld.printDigit(0); attachInterrupt(digitalPinToInterrupt(pin), interruptPin, RISING); giri/min = 0; timeold = millis(); }
Ciclo continuo
Infine, determiniamo l'intervallo di 1 in 1 minuto per aggiornare il display. Dopo aver pulito lo schermo, stampiamo l'RPM. Eseguiamo la funzione che l'interrupt chiamerà. Calcoliamo RPM e tempo di aggiornamento.
void loop() { ritardo(1000); ld.clear(); ld.printDigit(rpm); } void interruptPin() { rpm = 60*1000/(millis() - timeold); timeold = millis(); }
Passaggio 8: file
Scarica i file:
IO NO
Consigliato:
Limitatore di giri Arduino per motore a gas: 5 passaggi
Arduino RPM Limiter for Gas Engine: Youtube DemonstrationQuesto è per sostituire un regolatore per limitare la velocità di un motore a benzina. Questo limitatore di giri può essere attivato al volo su 3 diverse impostazioni. L'ho installato su un motore monocilindrico Briggs and Stratton e ho usato un Ardu
Contagiri fai-da-te (misuratore di giri): 5 passaggi
Contagiri fai da te (contagiri): in questo progetto ti mostrerò come funziona un sensore di distanza IR da 3€ e come possiamo usarlo per costruire un vero e proprio tachimetro fai da te che funzioni correttamente. Iniziamo
Misuratore di giri su Arduino Uno: 3 passaggi
RPM Meter su Arduino Uno: Arduino è una piattaforma di onnipotenza. Permette di creare semplici lampeggiatori, ma anche sistemi complessi per automazioni più avanzate. Grazie ai diversi bus, Arduino può anche essere ampliato per includere diverse periferiche. Oggi faremo un
Lancio della fiamma con limitatore di giri: 6 passaggi
Lancio della fiamma del limitatore di giri: ciao ragazzi e benvenuti Nel progetto di oggi costruiremo un limitatore di giri da zero
Misuratore di giri semplice che utilizza moduli economici: 8 passaggi
Misuratore di giri semplice che utilizza moduli economici: questo è un progetto molto interessante e impiega molto meno sforzo, rende un misuratore di giri molto semplice (round per secondo nel mio caso)