İçindekiler:
- Adım 1: Modüller
- 2. Adım: STM32 NÜKLEO-L432KC
- 3. Adım: Gösteri
- Adım 4: Montaj
- Adım 5: Program
- Adım 6: Kitaplıklar
- 7. Adım: Kaynak Kodu
- 8. Adım: Dosyalar
Video: STM32 ile RPM Metre: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Satın almak biraz zahmetli olsa da (çünkü birçok internet mağazasında mevcut değil), STM32 L432KC'yi tartışmayı gerekli buluyorum. Bu çip, ULTRA DÜŞÜK GÜÇ olduğundan özel ilgiyi hak ediyor. Ancak STM32'ye sahip olmayanlar için bu projede Arduino Uno ile değiştirilebilir. Bunu yapmak için, Kesme girişinin pinini değiştirmeniz yeterlidir.
Ardından STM32 L432KC ve bir kızılötesi sensör kullanarak bir RPM ölçer oluşturalım. Aynı program rüzgar hızını ölçmek için de kullanılabilir. Bu mikro denetleyicinin düşük güç özelliği, IOT için mükemmeldir.
Adım 1: Modüller
Bugünkü projemiz için Kızılötesi Modülün yanı sıra 8 haneli MAX7219CWG'yi kullanıyoruz.
2. Adım: STM32 NÜKLEO-L432KC
3. Adım: Gösteri
Montajımızda STM32, 8 haneli ekran ve darbe girişi var. Kızılötesi kartta bir fototransistör ve beyaz bir şeritten sıçrayarak ışığı yakalayan bir LED bulunur. Bu bant bir tekerleğe bağlıdır ve her dönüşte STM32 kesintisi tarafından yakalanacak bir darbe üretecektir.
Montajda, bant okuma sinyalinin gürültüsünün STM32'ye ulaşmasını önlemek için kullanılan bir diyot ve bir kondansatörümüz var, bu da açık ve kapalı yorumlamasını sağlayacak.
Gösteri, projemizi ve Minipa sayacını (her ikisi de çalışır durumda) gösterir.
Adım 4: Montaj
Adım 5: Program
Kızılötesi modülün her "dönüşte" STM32 L432KC'de bir kesinti tetikleyeceği bir program yapacağız ve ekranda RPM'yi görüntülemek için hesaplamalar yapacağız.
Adım 6: Kitaplıklar
Aşağıdaki "DigitLedDisplay" kitaplığını ekleyin.
Basitçe "Çizim >> Kitaplıkları Dahil Et >> Kitaplıkları Yönet …" seçeneğine erişin.
7. Adım: Kaynak Kodu
Kitaplıklar ve Değişkenler
DigitLedDisplay kitaplığını içeren kaynak kodunu başlatalım. Görüntüleme nesnesini göstereceğiz. Kesinti pinini 12 olacak şekilde ayarladım. Ayrıca herhangi bir çarpışma sorunu yaşamamak için hem RPM sayacı hem de süre için volatile bir operatör giriyorum.
/* DigitLedDisplay Kitaplığını Dahil Et */#include "DigitLedDisplay.h" /* Görüntülemek için Arduino 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) uçucu işaretsiz int rpm; //contador de rpm volatile imzasız uzun timeold; //tempo
Kurmak
Setup'ta görüntüleme işlemini yapılandırıyoruz, ayrıca kesintiyi Rising olarak yapılandırıyoruz.
geçersiz kurulum() {Serial.begin(115200); /* Parlaklığı min:1, max:15 olarak ayarla */ ld.setBright(10); /* Rakam sayısını ayarla */ ld.setDigitLimit(8); ld.printDigit(0); AttachInterrupt(dijitalPinToInterrupt(pin), interruptPin, RISING); devir = 0; timeold = millis(); }
Döngü
Son olarak ekranın güncellenmesi için 1 dakikada 1 aralığı belirliyoruz. Ekranı temizledikten sonra RPM'yi yazdırıyoruz. Kesmenin çağıracağı işlevi gerçekleştiriyoruz. RPM ve güncelleme süresini hesaplıyoruz.
geçersiz döngü() {gecikme(1000); ld.clear(); ld.printDigit(rpm); } void interruptPin() { rpm = 60*1000/(millis() - zaman aşımı); timeold = millis(); }
8. Adım: Dosyalar
Dosyaları indirin:
BEN HAYIR
Önerilen:
DIY Takometre (RPM Metre): 5 Adım
Kendin Yap Takometre (RPM Metre): Bu projede size 3€'luk bir IR mesafe sensörünün nasıl çalıştığını ve bunu düzgün çalışan uygun bir DIY takometre oluşturmak için nasıl kullanabileceğimizi göstereceğim. Başlayalım
INA219 ile Minik V/A Metre: 9 Adım (Resimlerle)
INA219 ile Minik V/A Metre: Küçük bir projede hem voltajı hem de akımı ölçmek istediğinizde multimetrenizi yeniden takmaktan bıktınız mı? Minik V/A metre ihtiyacınız olan cihazdır! INA219 yüksek yan akım sensörü hakkında yeni bir şey yoktur. Çok güzel projeler var
Arduino Lux Metre - Arduino ile OPT3001 Arayüzleme: 4 Adım
Arduino Lux Meter - Arduino ile OPT3001 Arayüzleme: Genellikle ışık yoğunluğunu ölçmemiz gereken bir durumla karşı karşıyayız. Bu sorunu çözmemize yardımcı olacak küçük bir proje yapmaya karar verdim. Bu proje, OPT3001'i Arduino ile Lux metre olarak nasıl kullanabileceğimizi göstermektedir. Ben bu projede
Arduino Uno'da RPM Metre: 3 Adım
Arduino Uno'da RPM Meter: Arduino, her şeye gücü yeten bir platformdur. Basit flaşörlerin yanı sıra daha gelişmiş otomasyon için karmaşık sistemler oluşturmaya izin verir. Farklı veri yolları sayesinde Arduino, farklı çevre birimleri içerecek şekilde genişletilebilir. Bugün alacağımız bir
Arduino ile Lüks Metre: 5 Adım
Arduino'lu Lüks Ölçer: Bir Lüks ölçer (ışık ölçer olarak da bilinir) - Işık ölçer, ışık miktarını ölçmek için kullanılan bir cihazdır. Lüks - Lüks (sembol: lx), SI'dan türetilen aydınlık ve ışık yayma birimidir, birim alan başına ışık akısının ölçülmesi. Topal erkek ter