Mục lục:

Đồng hồ RPM với STM32: 8 bước
Đồng hồ RPM với STM32: 8 bước

Video: Đồng hồ RPM với STM32: 8 bước

Video: Đồng hồ RPM với STM32: 8 bước
Video: [Lập Trình Stm32] Bài 21: RTC 2024, Tháng mười một
Anonim
Đồng hồ RPM với STM32
Đồng hồ RPM với STM32

Mặc dù hơi phiền khi mua (vì nó không có sẵn ở nhiều cửa hàng internet), tôi thấy nó cần thiết để thảo luận về STM32 L432KC. Con chip này xứng đáng nhận được tình cảm đặc biệt, vì nó là CÔNG SUẤT THẤP HẤP DẪN. Tuy nhiên, đối với những người không sở hữu STM32, nó có thể được thay thế trong dự án này bằng Arduino Uno. Để thực hiện việc này, chỉ cần thay đổi chân của đầu vào Ngắt.

Sau đó, hãy tạo đồng hồ RPM bằng STM32 L432KC và cảm biến hồng ngoại. Chương trình tương tự này cũng có thể được sử dụng để đo tốc độ gió. Tính năng công suất thấp của bộ vi điều khiển này là hoàn hảo cho IOT.

Bước 1: Mô-đun

Mô-đun
Mô-đun
Mô-đun
Mô-đun

Đối với dự án của chúng tôi ngày hôm nay, chúng tôi sử dụng MAX7219CWG 8 chữ số, cũng như Mô-đun hồng ngoại.

Bước 2: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Bước 3: Trình diễn

Trình diễn
Trình diễn

Trong lắp ráp của chúng tôi, chúng tôi có STM32, màn hình 8 chữ số và đầu vào xung. Thẻ hồng ngoại có một điện trở quang và một đèn LED bắt sáng bằng cách bật ra khỏi dải băng trắng. Băng này được gắn vào một bánh xe và tại mỗi lượt, sẽ tạo ra một xung, xung này sẽ được bắt bởi ngắt STM32.

Chúng tôi có một diode và một tụ điện trong cụm được sử dụng để ngăn chặn tiếng ồn của tín hiệu đọc băng đến STM32, điều này sẽ làm cho nó diễn giải việc bật và tắt.

Cuộc biểu tình cho thấy dự án của chúng tôi, cũng như đồng hồ Minipa (cả hai đều đang hoạt động).

Bước 4: Lắp ráp

cuộc họp
cuộc họp

Bước 5: Chương trình

Chúng tôi sẽ thực hiện một chương trình trong đó mô-đun hồng ngoại sẽ kích hoạt ngắt trong STM32 L432KC mỗi "lượt" và chúng tôi sẽ thực hiện các phép tính để hiển thị RPM trên màn hình.

Bước 6: Thư viện

Thư viện
Thư viện

Thêm thư viện "DigitLedDisplay" sau.

Chỉ cần truy cập "Phác thảo >> Bao gồm Thư viện >> Quản lý Thư viện…"

Bước 7: Mã nguồn

Thư viện và các biến

Hãy bắt đầu mã nguồn bao gồm thư viện DigitLedDisplay. Chúng tôi sẽ hiển thị đối tượng hiển thị. Tôi đặt chân ngắt, sẽ là 12. Ngoài ra, tôi nhập toán tử biến động cho cả bộ đếm RPM và thời gian để tránh bất kỳ sự cố va chạm nào.

/ * Bao gồm Thư viện DigitLedDisplay * / # bao gồm "DigitLedDisplay.h" / * Arduino Pin để Hiển thị Pin 7 đến DIN, 6 đến CS, 5 đến 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) dễ bay hơi unsigned int rpm; // contador de rpm dễ bay hơi unsigned long timeold; // nhịp độ

Cài đặt

Trong Cài đặt, chúng tôi định cấu hình hoạt động hiển thị, cũng như định cấu hình gián đoạn là Rising.

void setup () {Serial.begin (115200); / * Đặt độ sáng tối thiểu: 1, tối đa: 15 * / ld.setBright (10); / * Đặt số lượng chữ số * / ld.setDigitLimit (8); ld.printDigit (0); mountInterrupt (digitalPinToInterrupt (pin), ngắtPin, RISING); vòng / phút = 0; timeold = millis (); }

Vòng

Cuối cùng, chúng tôi xác định khoảng thời gian 1 trong 1 phút để cập nhật màn hình. Sau khi làm sạch màn hình, chúng tôi in RPM. Chúng tôi thực hiện chức năng mà ngắt sẽ gọi. Chúng tôi tính toán RPM và thời gian cập nhật.

void loop () {delay (1000); ld.clear (); ld.printDigit (vòng / phút); } void pausePin () {rpm = 60 * 1000 / (millis () - timeold); timeold = millis (); }

Bước 8: Tập tin

Tải xuống các tệp:

PDF

NS

Đề xuất: