Cov txheej txheem:

RPM Meter Nrog STM32: 8 Cov Kauj Ruam
RPM Meter Nrog STM32: 8 Cov Kauj Ruam

Video: RPM Meter Nrog STM32: 8 Cov Kauj Ruam

Video: RPM Meter Nrog STM32: 8 Cov Kauj Ruam
Video: KARAOKE Nrog Vajtswv Sib Raug Zoo (Official Music Video 2022) N. Vajxob Xyooj 2024, Kaum ib hlis
Anonim
RPM Meter Nrog STM32
RPM Meter Nrog STM32

Txawm hais tias nws yog qhov cuam tshuam me ntsis los yuav (vim tias nws tsis muaj nyob hauv ntau lub khw hauv internet), Kuv pom tias nws tsim nyog los tham txog STM32 L432KC. Cov nti no tsim nyog tau txais kev hlub tshwj xeeb, vim nws yog ULTRA LOW POWER. Txawm li cas los xij, rau cov uas tsis muaj STM32, nws tuaj yeem hloov pauv hauv qhov haujlwm no los ntawm Arduino Uno. Txhawm rau ua qhov no, tsuas yog hloov tus pin ntawm Cov cuam tshuam cuam tshuam.

Cia peb tsim lub ntsuas RPM siv STM32 L432KC thiab lub ntsuas hluav taws xob. Tib txoj haujlwm no tseem tuaj yeem siv los ntsuas cua nrawm. Lub zog qis zog ntawm lub microcontroller no zoo tshaj rau IOT.

Kauj Ruam 1: Cov Qauv

Cov Qauv
Cov Qauv
Cov Qauv
Cov Qauv

Rau peb txoj haujlwm niaj hnub no, peb siv 8 tus lej MAX7219CWG, ntxiv rau Infrared Module.

Kauj Ruam 2: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Kauj Ruam 3: Qhia tawm

Qhia tawm
Qhia tawm

Hauv peb lub rooj sib txoos, peb muaj STM32, tus lej 8 tus lej, thiab cov mem tes tawm. Daim npav infrared muaj tus kws yees duab phototransistor thiab LED uas pom lub teeb los ntawm kev thawb tawm ib txoj kab dawb. Daim kab xev no tau txuas rau lub log thiab, ntawm txhua qhov tig, yuav tsim cov mem tes, uas yuav raug ntes los ntawm STM32 cuam tshuam.

Peb muaj lub diode thiab lub capacitor hauv kev sib dhos uas tau siv los tiv thaiv lub suab nrov ntawm kab xev nyeem teeb liab los ntawm kev mus txog STM32, uas yuav ua rau nws txhais qhov qhib thiab tawm.

Kev ua qauv qhia pom peb qhov haujlwm, nrog rau Minipa meter (ob qho tib si ua haujlwm).

Kauj ruam 4: Sib dhos

Los ua ke
Los ua ke

Kauj Ruam 5: Txoj Haujlwm

Peb yuav ua ib txoj haujlwm uas cov duab infrared yuav ua rau muaj kev cuam tshuam hauv STM32 L432KC txhua "tig," thiab peb yuav ua qhov kev suav kom pom RPM ntawm cov zaub.

Kauj Ruam 6: Cov tsev qiv ntawv

Tsev qiv ntawv
Tsev qiv ntawv

Ntxiv cov ntawv hauv qab no "DigitLedDisplay".

Cias nkag mus rau "Sketch >> suav nrog Tsev Qiv Ntawv >> Tswj Tsev Qiv Ntawv …"

Kauj ruam 7: Source Code

Cov Tsev Qiv Ntawv thiab Ntau Yam

Cia peb pib qhov chaws suav nrog DigitLedDisplay lub tsev qiv ntawv. Peb yuav qhia cov khoom pom. Kuv teeb tus pin cuam tshuam, uas yuav yog 12. Tsis tas li ntawd, kuv nkag mus rau tus neeg teb xov tooj hloov pauv rau ob lub RPM txee thiab lub sijhawm kom tsis txhob muaj teeb meem kev sib tsoo.

/ * Xws li DigitLedDisplay Library */#suav nrog "DigitLedDisplay.h"/ * Arduino Pin rau Display Pin 7 rau DIN, 6 rau CS, 5 rau 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) hloov pauv tsis tau kos npe rau hauv rpm; // contador de rpm qhov hloov pauv tsis tau kos npe ntev; // ceev

Teeb

Hauv Kev teeb tsa, peb teeb tsa cov haujlwm ua haujlwm, nrog rau teeb tsa kev cuam tshuam li Rising.

teeb tsa tsis muaj dab tsi () {Serial.begin (115200); / * Teeb qhov ci ci min: 1, max: 15 */ ld.setBright (10); / * Teeb tus lej suav */ ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (tus pin), cuam tshuamPin, RISING); rpm = 0; timeold = millis (); }

Loop

Thaum kawg, peb txiav txim siab ncua sijhawm ntawm 1 hauv 1 feeb los hloov kho cov zaub. Tom qab ntxuav lub vijtsam, peb luam RPM. Peb ua lub luag haujlwm uas cuam tshuam yuav hu. Peb xam RPM thiab hloov sijhawm.

void loop () {ncua (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60*1000/(millis () - timeold); timeold = millis (); }

Kauj ruam 8: Cov ntaub ntawv

Rub tawm cov ntawv:

PDF

INO

Pom zoo: