Table des matières:
- Étape 1: Modules
- Étape 2: STM32 NUCLEO-L432KC
- Étape 3: Démonstration
- Étape 4: Assemblage
- Étape 5: programmer
- Étape 6: Bibliothèques
- Étape 7: Code source
- Étape 8: Fichiers
Vidéo: Compteur RPM avec STM32 : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Bien qu'il soit un peu gênant d'acheter (car il n'est pas disponible dans de nombreux magasins Internet), je trouve nécessaire de discuter du STM32 L432KC. Cette puce mérite une affection particulière, car elle est ULTRA FAIBLE PUISSANCE. Cependant, pour ceux qui ne possèdent pas le STM32, il peut être remplacé dans ce projet par l'Arduino Uno. Pour ce faire, il suffit de changer la broche de l'entrée Interruption.
Créons ensuite un compteur RPM à l'aide du STM32 L432KC et d'un capteur infrarouge. Ce même programme peut également être utilisé pour mesurer la vitesse du vent. La fonction de faible consommation de ce microcontrôleur est parfaite pour l'IOT.
Étape 1: Modules
Pour notre projet aujourd'hui, nous utilisons le MAX7219CWG à 8 chiffres, ainsi que le module infrarouge.
Étape 2: STM32 NUCLEO-L432KC
Étape 3: Démonstration
Dans notre assemblage, nous avons le STM32, l'affichage à 8 chiffres et l'entrée d'impulsion. La carte infrarouge possède un phototransistor et une LED qui capte la lumière en rebondissant sur un ruban blanc. Cette bande est attachée à une roue et, à chaque tour, va générer une impulsion, qui sera captée par l'interruption STM32.
Nous avons une diode et un condensateur dans l'assemblage qui ont été utilisés pour empêcher le bruit du signal de lecture de bande d'atteindre le STM32, ce qui lui ferait interpréter le marche et l'arrêt.
La démonstration montre notre projet, ainsi que le compteur Minipa (tous deux en fonctionnement).
Étape 4: Assemblage
Étape 5: programmer
Nous allons faire un programme dans lequel le module infrarouge déclenchera une interruption dans le STM32 L432KC à chaque "tour", et nous ferons les calculs pour afficher le RPM sur l'écran.
Étape 6: Bibliothèques
Ajoutez la bibliothèque "DigitLedDisplay" suivante.
Accédez simplement à "Esquisse >> Inclure les bibliothèques >> Gérer les bibliothèques …"
Étape 7: Code source
Bibliothèques et variables
Commençons le code source incluant la bibliothèque DigitLedDisplay. Nous allons montrer l'objet d'affichage. J'ai mis la broche d'interruption, qui sera 12. De plus, j'entre un opérateur volatile à la fois pour le compteur RPM et l'heure afin d'éviter tout problème de collision.
/* Inclure la bibliothèque DigitLedDisplay */#include "DigitLedDisplay.h" /* Broche Arduino à afficher Broche 7 à DIN, 6 à CS, 5 à CLK */ //DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); //arduino DigitLedDisplay ld = DigitLedDisplay(4, 2, 3); //STM32 L432KC broche int = 12; //pino de interrupção (modulo IR) volatil unsigned int rpm; //contador de rpm volatile unsigned long timeold; //tempo
Installer
Dans le Setup, nous configurons l'opération d'affichage, ainsi que l'interruption comme Rising.
void setup() {Serial.begin(115200); /* Définit la luminosité min:1, max:15 */ ld.setBright(10); /* Définit le nombre de chiffres */ ld.setDigitLimit(8); ld.printDigit(0); attachInterrupt(digitalPinToInterrupt(pin), interruptPin, RISING); tr/min = 0; ancien = millis(); }
Boucle
Enfin, nous déterminons l'intervalle de 1 à 1 minute pour mettre à jour l'affichage. Après avoir nettoyé l'écran, nous imprimons le RPM. Nous exécutons la fonction que l'interruption appellera. Nous calculons le RPM et le temps de mise à jour.
boucle vide() { délai(1000); ld.clear(); ld.printDigit(tr/min); } void interruptPin() { rpm = 60*1000/(millis() - timeold); ancien = millis(); }
Étape 8: Fichiers
Téléchargez les fichiers:
INO
Conseillé:
Compteur de fréquence avec Arduino : 8 étapes (avec photos)
Compteur de fréquence avec Arduino : il s'agit d'un compteur de fréquence simple et bon marché basé sur un arduino qui coûte moins de 4 $, il a été très utile pour mesurer de petits circuits
Compteur Geiger fonctionnel avec pièces minimales : 4 étapes (avec photos)
Compteur Geiger fonctionnel avec pièces minimales : Voici, à ma connaissance, le compteur Geiger fonctionnel le plus simple que vous puissiez construire. Celui-ci utilise un tube SMB-20 Geiger de fabrication russe, entraîné par un circuit élévateur haute tension volé à une tapette à mouches électronique. Il détecte les particules bêta et gam
Compteur de température et d'humidité IoT avec écran OLED : 5 étapes (avec photos)
Compteur de température et d'humidité IoT avec écran OLED : vérifiez la température et l'humidité sur un écran OLED à tout moment et collectez en même temps ces données sur une plate-forme IoT. La semaine dernière, j'ai publié un projet intitulé Simplest IoT temperature and hygrometer. C'est un bon projet parce que vous pouvez c
Compteur RPM sur Arduino Uno : 3 étapes
RPM Meter sur Arduino Uno : Arduino est une plateforme de toute-puissance. Il permet de créer des flashers simples, mais aussi des systèmes complexes pour une automatisation plus poussée. Grâce aux différents bus, l'Arduino peut également être étendu pour inclure différents périphériques. Aujourd'hui, nous allons faire un
Compteur RPM simple utilisant des modules bon marché : 8 étapes
Compteur RPM simple utilisant des modules bon marché: C'est un projet très intéressant et utlisé très peu d'efforts. Il fait un compteur RPM très simple (rond par seconde dans mon cas)