Mundarija:
- 1 -qadam: Modullar
- 2-qadam: STM32 NUCLEO-L432KC
- 3 -qadam: Namoyish
- 4 -qadam: yig'ish
- 5 -qadam: Dastur
- 6 -qadam: kutubxonalar
- 7 -qadam: Manba kodi
- 8 -qadam: fayllar
Video: STM32 bilan aylanish tezligi o'lchagichi: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Garchi sotib olish biroz noqulaylik tug'dirsa -da (chunki u ko'plab internet -do'konlarda mavjud emas), men STM32 L432KC ni muhokama qilishni lozim topdim. Bu chip ULTRA LOW POWER bo'lgani uchun alohida mehrga loyiqdir. Biroq, STM32 -ga ega bo'lmaganlar uchun uni ushbu loyihada Arduino Uno bilan almashtirish mumkin. Buni amalga oshirish uchun, faqat uzilish kiritish pinini o'zgartiring.
Keling, STM32 L432KC va infraqizil sensor yordamida RPM o'lchagichni yarataylik. Xuddi shu dastur shamol tezligini o'lchash uchun ham ishlatilishi mumkin. Ushbu mikrokontrollerning kam quvvatli xususiyati IOT uchun juda mos keladi.
1 -qadam: Modullar
Bugungi loyihamiz uchun biz 8 xonali MAX7219CWG va infraqizil moduldan foydalanamiz.
2-qadam: STM32 NUCLEO-L432KC
3 -qadam: Namoyish
Bizning yig'ilishimizda bizda STM32, 8-raqamli displey va pulsli kirish mavjud. Infraqizil kartochkada fototransistor va oq lentadan sakrash orqali nurni ushlab turuvchi LED mavjud. Bu tasma g'ildirakka mahkamlanadi va har burilishda puls hosil qiladi, uni STM32 uzilishi ushlab oladi.
Bizda lenta o'qish signalining shovqini STM32 ga etib bormasligi uchun ishlatilgan diod va kondansatör mavjud, bu uni yoqish va o'chirishni tushuntiradi.
Namoyish bizning loyihamizni, shuningdek Minipa hisoblagichini ko'rsatadi (ikkalasi ham ishlaydi).
4 -qadam: yig'ish
5 -qadam: Dastur
Biz infraqizil modul STM32 L432KC -ning har bir "burilishida" uzilishni keltirib chiqaradigan dasturni bajaramiz va RPMni displeyda ko'rsatish uchun hisob -kitoblarni qilamiz.
6 -qadam: kutubxonalar
Quyidagi "DigitLedDisplay" kutubxonasini qo'shing.
"Sketch >> kutubxonalarni qo'shish >> kutubxonalarni boshqarish …" ga kiring.
7 -qadam: Manba kodi
Kutubxonalar va o'zgaruvchilar
Keling, DigitLedDisplay kutubxonasini o'z ichiga olgan manba kodini boshlaylik. Biz ko'rsatiladigan ob'ektni ko'rsatamiz. Men uzilish pinini o'rnatdim, u 12 bo'ladi. Bundan tashqari, to'qnashuv muammosini oldini olish uchun, RPM hisoblagichi uchun ham, vaqt uchun ham o'zgaruvchan operatorni kiritaman.
/ * DigitLedDisplay kutubxonasini qo'shing */#"DigitLedDisplay.h" ni o'z ichiga oladi/ * 7 -pinni DINga, 6 -ni CS -ga, 5 -ni CLK -ga ko'rsatish uchun Arduino -pin */// 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) uchuvchi belgisiz int rpm; // contador de rpm uchuvchan, uzoq vaqt imzolanmagan; // temp
Sozlash
O'rnatishda biz ekranning ishlashini sozlaymiz, shuningdek uzilishni Rising sifatida sozlaymiz.
void setup () {Serial.begin (115200); / * Yorqinlikni min: 1, maksimal: 15 */ ld.setBright (10); / * Raqamlar sonini o'rnating */ ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; vaqt tugashi = millis (); }
Loop
Nihoyat, displeyni yangilash uchun 1 daqiqada 1 oralig'ini aniqlaymiz. Ekranni tozalashdan so'ng biz RPM -ni chop etamiz. Biz uzilish chaqiradigan funktsiyani bajaramiz. Biz RPM va yangilanish vaqtini hisoblaymiz.
void loop () {kechiktirish (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60*1000/(millis () - vaqt); vaqt tugashi = millis (); }
8 -qadam: fayllar
Fayllarni yuklab oling:
INO
Tavsiya:
Internet tezligi o'lchagichi: 9 qadam (rasmlar bilan)
Internet tezligi o'lchagichi: Hindistonda to'liq blokirovka davom etar ekan, hamma narsa, shu jumladan pochta xizmatlari yopildi. Yangi PCB loyihalari yo'q, yangi komponentlar yo'q, hech narsa! Shunday qilib, zerikishni engish va o'zimni band qilish uchun, men o'zim yoqtirgan qismlardan nimadir yasashga qaror qildim
Yurak urish tezligi o'lchagichi yordamida yorug'likdan bezovtalanadigan qurilma: 18 qadam (rasmlar bilan)
Yurak urish tezligini o'lchash moslamasi yordamida yorug'likdan bezovtalanadigan qurilmadan nafas oling: Dunyo gavjum bo'lganda, hamma stressli muhitda. Kollej talabalari stress va xavotirlik xavfidan yuqori. Imtihonlar, ayniqsa, talabalar uchun yuqori stressli davrlar va nafas olish mashqlari bilan aqlli soatlar
Ishlaydigan RC avtomobil tezligi o'lchagichi: 4 qadam (rasmlar bilan)
Ishlaydigan RC avtomobil tezligi o'lchagichi: Men bu engil Land Rover RC -ning katta qismi sifatida yaratgan qisqa loyiha. Men asboblar panelida ishlaydigan tezlik o'lchagichi borligini o'ylardim, lekin men servo uni kesmasligini bilardim. Faqat bitta oqilona variant bor edi: d
DIY aylanish tezligi o'lchagichi: 6 qadam (rasmlar bilan)
DIY tsikli tezlik o'lchagichi: bu loyiha B.Tech -dagi MEM (Mashinasozlik muhandisligini o'lchash) loyihasini bajarayotganda xayolimga keldi. Bu g'oya velosiped g'ildiragining burchak tezligini o'lchashdan iborat. Shunday qilib, diametri va har doim matematik afsonani bilish
Quyosh aylantirgichi - Magbot (dvigatelsiz 200 aylanish tezligi): 6 qadam
Quyosh aylantirgichi - Magbot (dvigatelsiz 200 aylanish): arzimas quyoshli aylantiruvchi jami sarf: jami 0,75 AQSh dollari, 75 sent! Qolganlarning hammasi eski elektron chiqindilardan topildi: Quyosh energiyasi bilan ishlaydigan bu bezak to'g'ridan -to'g'ri quyosh nurida 200 aylanish tezligida aylanadi va taxminan 5 soat ichida qilingan. Erta 2 spinner