Sisällysluettelo:

Kierroslukumittari STM32: 8 askelta
Kierroslukumittari STM32: 8 askelta

Video: Kierroslukumittari STM32: 8 askelta

Video: Kierroslukumittari STM32: 8 askelta
Video: Только не говори никому.. Как легко можно восстановить жидкокристаллический экран.. 2024, Marraskuu
Anonim
Kierroslukumittari ja STM32
Kierroslukumittari ja STM32

Vaikka ostaminen on jonkin verran haittaa (koska sitä ei ole saatavana monissa verkkokaupoissa), pidän tarpeellisena keskustella STM32 L432KC: stä. Tämä siru ansaitsee erityistä kiintymystä, koska se on ULTRA LOW POWER. Kuitenkin niille, jotka eivät omista STM32: ta, sen voi tässä projektissa korvata Arduino Unolla. Voit tehdä tämän yksinkertaisesti vaihtamalla keskeytystulon nastan.

Luodaan sitten kierroslukumittari STM32 L432KC: n ja infrapuna -anturin avulla. Tätä samaa ohjelmaa voidaan käyttää myös tuulen nopeuden mittaamiseen. Tämän mikro-ohjaimen pienitehoinen ominaisuus on täydellinen IOT: lle.

Vaihe 1: Moduulit

Moduulit
Moduulit
Moduulit
Moduulit

Käytämme nykyisessä projektissamme 8-numeroista MAX7219CWG: tä sekä infrapunamoduulia.

Vaihe 2: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Vaihe 3: Esittely

Esittely
Esittely

Kokoonpanossamme on STM32, 8-numeroinen näyttö ja pulssitulo. Infrapunakortissa on valotransistori ja LED, joka tarttuu valoon pomppimalla pois valkoisesta nauhasta. Tämä nauha on kiinnitetty pyörään ja joka kierros tuottaa pulssin, jonka STM32 keskeyttää.

Meillä on diodi ja kondensaattori kokoonpanossa, joita käytettiin estämään nauhan lukusignaalin melu saavuttamasta STM32, mikä saisi sen tulkitsemaan päälle ja pois päältä.

Esittely näyttää projektimme sekä Minipa -mittarin (molemmat toiminnassa).

Vaihe 4: Kokoonpano

Kokoonpano
Kokoonpano

Vaihe 5: Ohjelmoi

Teemme ohjelman, jossa infrapunamoduuli laukaisee keskeytyksen STM32 L432KC: ssä joka "kierros", ja teemme laskelmat RPM: n näyttämiseksi näytöllä.

Vaihe 6: Kirjastot

Kirjastot
Kirjastot

Lisää seuraava "DigitLedDisplay" -kirjasto.

Avaa vain "Luonnos >> Sisällytä kirjastot >> Hallitse kirjastoja…"

Vaihe 7: Lähdekoodi

Kirjastot ja muuttujat

Aloitetaan lähdekoodi, mukaan lukien DigitLedDisplay -kirjasto. Näytämme näyttökohteen. Asetan keskeytystapin, joka on 12. Lisäksi annan haihtuvan operaattorin sekä kierroslukumittarille että ajalle törmäysongelmien välttämiseksi.

/ * Sisällytä DigitLedDisplay -kirjasto */#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 (menetelmä IR) haihtuva allekirjoittamaton int rpm; // contador de rpm volatile unsigned long timeold; //tempo

Perustaa

Asetuksissa määritämme näyttötoiminnon ja määritämme keskeytyksen nousevaksi.

void setup () {Serial.begin (115200); / * Aseta kirkkaus min: 1, maksimi: 15 */ ld.setBright (10); / * Aseta numeroiden määrä */ ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; timeold = millis (); }

Silmukka

Lopuksi määritämme 1 minuutin välein näytön päivittämiseksi. Näytön puhdistamisen jälkeen tulostamme RPM. Suoritamme toiminnon, jonka keskeytys kutsuu. Laskemme kierrosluvun ja päivitysajan.

tyhjä silmukka () {viive (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60*1000/(millis () - timeold); timeold = millis (); }

Vaihe 8: Tiedostot

Lataa tiedostot:

PDF

INO

Suositeltava: