
Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-23 14:38

Tot i que és una mica molest comprar (perquè no està disponible a moltes botigues d’Internet), crec que és necessari parlar de STM32 L432KC. Aquest xip mereix un afecte especial, ja que és ULTRA BAIXA POTÈNCIA. Tot i això, per a aquells que no posseeixen el STM32, el Arduino Uno el pot substituir en aquest projecte. Per fer-ho, només cal canviar el pin de l'entrada d'interrupció.
A continuació, creem un mesurador de RPM amb el STM32 L432KC i un sensor d'infrarojos. Aquest mateix programa també es pot utilitzar per mesurar la velocitat del vent. La característica de baix consum d’aquest microcontrolador és perfecta per a IOT.
Pas 1: mòduls


Per al nostre projecte actual, fem servir el MAX7219CWG de 8 dígits, així com el mòdul d’infrarojos.
Pas 2: STM32 NUCLEO-L432KC

Pas 3: demostració

Al nostre muntatge, tenim l’STM32, la pantalla de 8 dígits i l’entrada d’impulsos. La targeta infraroja té un fototransistor i un LED que capta la llum rebotant una cinta blanca. Aquesta cinta s’uneix a una roda i, a cada gir, generarà un pols, que serà capturat per la interrupció STM32.
Tenim un díode i un condensador al conjunt que s’utilitzaven per evitar que el soroll del senyal de lectura de cinta arribés al STM32, cosa que el faria interpretar l’encesa i apagada.
La demostració mostra el nostre projecte, així com el comptador Minipa (tots dos en funcionament).
Pas 4: Muntatge

Pas 5: programa
Farem un programa en què el mòdul d’infrarojos provocarà una interrupció al STM32 L432KC cada "torn" i farem els càlculs per mostrar la RPM a la pantalla.
Pas 6: Biblioteques

Afegiu la següent biblioteca "DigitLedDisplay".
Simplement accediu a "Sketch >> Inclou biblioteques >> Gestiona biblioteques …"
Pas 7: Codi font
Biblioteques i variables
Comencem el codi font, inclosa la biblioteca DigitLedDisplay. Mostrarem l’objecte de visualització. Vaig configurar el pin d'interrupció, que serà 12. A més, introdueixo un operador volàtil tant per al comptador de RPM com per al temps per evitar problemes de col·lisió.
/ * Inclou la biblioteca DigitLedDisplay * / # inclou "DigitLedDisplay.h" / * Pin Arduino per mostrar el pin 7 a DIN, 6 a CS, 5 a CLK * / // DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); // arduino DigitLedDisplay ld = DigitLedDisplay (4, 2, 3); // STM32 L432KC int pin = 12; // pino d’interrupció (módulo IR) volatile unsigned int rpm; // contador de rpm volatile unsigned long timeold; // tempo
Configuració
A la configuració, configurem l’operació de visualització i configurem la interrupció com a Rising.
configuració nul·la () {Serial.begin (115200); / * Estableix la brillantor mínima: 1, màxima: 15 * / ld.setBright (10); / * Definiu el recompte de dígits * / ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; timeold = millis (); }
Bucle
Finalment, determinem l'interval d'1 en 1 minut per actualitzar la pantalla. Després de netejar la pantalla, imprimim el RPM. Realitzem la funció que cridarà la interrupció. Calculem RPM i actualitzem el temps.
bucle buit () {delay (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60 * 1000 / (millis () - timeold); timeold = millis (); }
Pas 8: fitxers
Descarregueu els fitxers:
INO
Recomanat:
Mesurador d'humitat solar del sòl amb ESP8266: 10 passos (amb imatges)

Mesurador d'humitat del sòl solar amb ESP8266: en aquest manual, estem realitzant un monitor d'humitat del sòl alimentat per energia solar. Utilitza un microcontrolador wifi ESP8266 que executa un codi de baixa potència i és impermeable perquè es pugui deixar fora. Podeu seguir exactament aquesta recepta o treure’n la
Mesurador de temperatura i humitat IoT amb pantalla OLED: 5 passos (amb imatges)

Mesurador de temperatura i humitat IoT amb pantalla OLED: comproveu la temperatura i la humitat d’una pantalla OLED quan vulgueu i, alhora, recopileu aquestes dades en una plataforma IoT. La setmana passada vaig publicar un projecte anomenat Mesurador de temperatura i humitat IoT més senzill. Aquest és un bon projecte perquè es pot
Mesurador de capacitat / mesurador de capacitats Autorange simple amb Arduino i a mà: 4 passos

Mesurador de capacitat / mesurador de capacitància Autorange simple amb Arduino i a mà: Hola! Per a aquesta unitat de física necessiteu: * una font d'alimentació amb 0-12V * un o més condensadors * un o més resistents de càrrega * un cronòmetre * un multímetre per a la tensió mesurament * un arduino nano * una pantalla de 16x2 I²C * resistències 1 / 4W amb 220, 10k, 4,7M i
Mesurador de RPM simple amb mòduls econòmics: 8 passos

Mesurador de RPM senzill mitjançant mòduls econòmics: aquest és un projecte molt interessant i utilitza molt menys esforços, ja que fan un mesurador de RPM molt senzill (ronda per segon en el meu cas)
Mesurador de capacitat amb TM1637 amb Arduino .: 5 passos (amb imatges)

Mesurador de capacitat amb TM1637 amb Arduino: Com fer un mesurador de capacitat amb Arduino que es mostra al TM1637. Oscil·la entre 1 uF i aproximadament 2000 uF