Chào buổi chiều người yêu tự làm! Hôm nay chúng tôi sẽ lắp ráp một rangefinder đơn giản trên Arduino Chuyên nghiệp Mini. Thiết bị có khả năng đo khoảng cách từ 2 đến 400 cm. Lỗi của thiết bị này chỉ là +/- 1-5 cm, tùy thuộc vào khoảng cách đo.
Dụng cụ và vật liệu
-Arduino Pro mini
Cảm biến HC-04
- Chỉ báo trên tm1637
-Wire (Tôi có - MGTF 0.12)
Lập trình viên
-Nhà ở
-Li-on pin
Công tắc nhỏ
- Bảng sạc trên TP4056
Siêu sao
Sắt -Soldering
-S hàn
Rosin
Khoan, khoan, v.v.
Bước một. Đề án:
Theo đề án, mọi thứ đều đơn giản, không có bổ sung.
Bước hai. Chuẩn bị trường hợp:
Đầu tiên chúng tôi thử cảm biến và khoan hai lỗ trong 15 mm.
Tiếp theo, tạo một lỗ cho đầu nối micro-usb với mũi khoan 3-3,5 mm.
Chúng tôi chọn một mũi khoan cho đường kính của công tắc và khoan.
Trên nắp, chúng tôi tạo một cửa sổ trên mạng cho một chỉ báo bảy đoạn (trong ảnh mà không xử lý) và chúng tôi hoàn thành tất cả các bất thường bằng một tệp.
Bước ba. Chương trình cơ sở:
Trong bản phác thảo, các biến có thể được điều chỉnh cho chính bạn được tô sáng. Tất cả các mã được nhận xét ra.
#include // thư viện cho công việc
#include
// ------------- Để định cấu hình --------------------------------- --------------------------------
bool Dài = 0; // 0 - đo chiều dài từ cảm biến
// 1 - đo chiều dài từ tường nhà, đối diện với cảm biến
unsign int corpus = 10; // khoảng cách từ cảm biến đến tường trường hợp ngược lại (tính bằng centimet)
#define CLK 2 // chân để kết nối
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
unsign int impulse = 0; // biến để tính toán
unsign int sm = 0;
Phân phối GyverTM1637 (CLK, DIO);
void setup () {
pinMode (TRIG, OUTPUT); // đặt làm đầu ra
pinMode (ECHO, INPUT); // đặt làm đầu vào
độ phân tán (7); // độ sáng 0-7
điểm.point (0); // tắt dấu hai chấm
dis.clear (); // xóa chỉ báo
}
void loop () {
kỹ thuật sốWrite (TRIG, CAO); // cung cấp 5 volt
delayMicroseconds (10); // trì hoãn 10 micro giây
kỹ thuật sốWrite (TRIG, THẤP); // phục vụ 0
xung lực = xungIn (ECHO, CAO); // đo độ dài xung
sm = xung / 58; // chuyển đổi sang centimet
if (Long == 1) {// kiểm tra cài đặt
sm = sm + kho;
}
if (sm <= 2) {// zero giá trị sai
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
số nguyên int = sm / 10;
int thập phân = sm% 10;
thập phân = thập phân * 10;
dist.displayClock (số nguyên, số thập phân); // xuất ra chỉ báo
độ trễ (300); // độ trễ 0,3 giây. giữa giá trị đầu ra
}
Tiếp theo, kết nối lập trình viên và flash MK.
Bước bốn. Hội:
Vì thiết bị chạy bằng pin, chúng tôi không cần sạc thêm. Do đó, trên bo mạch Arduino, chúng tôi hàn các đèn LED và nút đặt lại (để giảm kích thước).
Dán keo pin vào thân máy trên superglue. Chúng tôi dán bảng sạc vào pin, cài đặt công tắc và hàn mọi thứ theo sơ đồ.
Chúng tôi dán cảm biến vào vỏ và hàn mọi thứ theo sơ đồ. Lúc đầu, có một ý tưởng dán bảng lên băng keo hai mặt, nhưng sau đó nó đã được quyết định dán nó trên superglue.
Bước năm. Kiểm tra:
Lưu ý: đoạn thứ tư sẽ luôn hiển thị 0. Điều này là để đảm bảo rằng đoạn cuối không trống. Hóa ra nếu số đọc là 270, thì điều này có nghĩa là khoảng cách là 27 cm.
Để chắc chắn, lời khai có thể được xác minh với người cai trị.