Мазмуну:
- 1 -кадам: Модулдар
- 2-кадам: STM32 NUCLEO-L432KC
- 3 -кадам: Демонстрация
- 4 -кадам: Ассамблея
- 5 -кадам: Программа
- 6 -кадам: Китепканалар
- 7 -кадам: Булак коду
- 8 -кадам: Файлдар
Video: STM32 менен RPM Meter: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Сатып алуу бир аз ыңгайсыз болсо да (анткени ал көптөгөн интернет -дүкөндөрдө жок), мен STM32 L432KCди талкуулоону зарыл деп эсептейм. Бул чип өзгөчө сүйүүгө татыктуу, анткени бул ULTRA LOW POWER. Бирок, STM32ге ээ болбогондор үчүн, бул долбоордо Arduino Uno менен алмаштырылышы мүмкүн. Бул үчүн, жөн гана үзгүлтүккө киргизүү пинин алмаштырыңыз.
Келгиле анда STM32 L432KC жана инфракызыл сенсорду колдонуп RPM эсептегичти түзөлү. Ушул эле программа шамалдын ылдамдыгын өлчөө үчүн да колдонулушу мүмкүн. Бул микроконтроллердин аз кубаттуулугу IOT үчүн идеалдуу.
1 -кадам: Модулдар
Бүгүнкү күндө биздин долбоор үчүн биз 8 орундуу MAX7219CWGди, ошондой эле инфракызыл модулду колдонобуз.
2-кадам: STM32 NUCLEO-L432KC
3 -кадам: Демонстрация
Биздин жыйында STM32, 8 орундуу дисплей жана импульстук киргизүү бар. Инфракызыл картада фототранзистор жана LED бар, ал ак лента менен секирип жарыкты алат. Бул лента дөңгөлөккө бекитилет жана ар бир бурулушта импульс пайда болот, аны STM32 үзгүлтүккө учуратат.
Бизде диод жана конденсатор бар, ал лентанын окуу сигналынын ызы -чуусун STM32ге жетүүсүн алдын алуу үчүн колдонулган, бул аны күйгүзүүнү жана өчүрүүнү чечет.
Демонстрация биздин долбоорду, ошондой эле Minipa метрин (экөө тең иштеп жатат) көрсөтөт.
4 -кадам: Ассамблея
5 -кадам: Программа
Биз инфракызыл модул STM32 L432KC үзүлүшүн ар бир "бурулушта" иштете турган программаны жасайбыз жана дисплейде RPMди көрсөтүү үчүн эсептөөлөрдү жасайбыз.
6 -кадам: Китепканалар
Төмөнкү "DigitLedDisplay" китепканасын кошуңуз.
Жөн гана "Эскиз >> Китепканаларды кошуу >> Китепканаларды башкаруу…" кирүү
7 -кадам: Булак коду
Китепканалар жана өзгөрмөлөр
Келгиле, DigitLedDisplay китепканасын камтыган баштапкы кодду баштайлы. Биз дисплей объектин көрсөтөбүз. Мен үзгүлтүккө кадап коём, ал 12 болот. Ошондой эле, мен кагылышуу көйгөйлөрүн болтурбоо үчүн, RPM эсептегичине да, убакытка да туруксуз операторду киргизем.
/ * DigitLedDisplay китепканасын кошуу */#камтыйт "DigitLedDisplay.h"/ * Arduino Pin Pin 7ди DINге, 6га CS, 5ке 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) туруксуз белгисиз int rpm; // contador de rpm туруксуз кол коюлбаган узак убакыт; // темп
Жайгашуу
Орнотууда дисплей ишин конфигурациялайбыз, ошондой эле үзүлүүнү Rising катары конфигурациялайбыз.
void setup () {Serial.begin (115200); / * Жарыктыгы мин: 1, макс: 15 */ ld.setBright (10); / * Сандардын санын коюңуз */ ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; убакыт эсеби = миллис (); }
Loop
Акырында, дисплейди жаңыртуу үчүн 1 мүнөт ичинде 1 интервалын аныктайбыз. Экранды тазалагандан кийин биз RPM басып чыгарабыз. Биз үзгүлтүккө учурай турган функцияны аткарабыз. Биз RPMди жана жаңыртуу убактысын эсептейбиз.
void loop () {delay (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60*1000/(millis () - убакыт эсеби); убакыт эсеби = миллис (); }
8 -кадам: Файлдар
Файлдарды жүктөп алыңыз:
МЕН ЖОК
Сунушталууда:
DIY тахометр (RPM Meter): 5 кадам
DIY тахометр (RPM Meter): Бул долбоордо мен сизге 3 € IR дистанциялык сенсорунун кантип иштээрин жана аны кантип туура иштеген DIY тахометрин куруу үчүн колдоно аларыбызды көрсөтөм. Кел, баштайлы
Arduino Uno боюнча RPM Meter: 3 кадам
Arduino Uno боюнча RPM Meter: Arduino кудуреттүү платформа. Бул жөнөкөй флешаторлорду түзүүгө мүмкүндүк берет, бирок дагы өркүндөтүлгөн автоматташтыруу үчүн татаал системаларды түзөт. Ар кандай автобустардын аркасы менен Arduino ар кандай перифериялык түзүлүштөрдү камтыйт. Бүгүн биз бир
Arduino IDE менен Stm32 менен иштөөнү баштоо: 3 кадам
Arduino IDE аркылуу Stm32 менен иштөөнү баштоо: STM32 - бул Arduino IDE колдогон абдан күчтүү жана популярдуу такта.Бирок аны колдонуу үчүн сиз stm32 үчүн такталарды Arduino IDEге орнотушуңуз керек, андыктан бул көрсөтмөлөрдө мен stm32 такталарын кантип орнотуу керектигин айтам. аны программалоо
Mini Motor Dc үчүн RPM текшергичи: 11 кадам (сүрөттөр менен)
Mini Motor Dc үчүн RPM текшергичи: Мүнөтүнө революция, кыскача айтканда, революция мүнөтүндө айтылган айлануу ылдамдыгы. RPMди өлчөө үчүн аспаптар көбүнчө тахометрди колдонушат. Өткөн жылы мен electro18 тарабынан жасалган кызыктуу долбоорду таптым, жана бул менин шыктандыруум, ал жинди болду
Арзан модулдарды колдонуу менен жөнөкөй RPM Meter: 8 кадам
Арзан модулдарды колдонуу менен жөнөкөй RPM Meter: Бул абдан кызыктуу долбоор жана абдан аз аракеттерди жасоо үчүн абдан жөнөкөй RPM метрин жасоо керек (Менин учурда Seceond Per Round)