สวัสดียามบ่าย DIY! วันนี้เราจะรวบรวมเรนจ์ไฟง่ายๆ Arduino Pro Mini อุปกรณ์สามารถวัดระยะทางได้ตั้งแต่ 2 ถึง 400 ซม. ความผิดพลาดของอุปกรณ์นี้มีเพียง +/- 1-5 ซม. ขึ้นอยู่กับระยะทางที่วัดได้
เครื่องมือและวัสดุ
-Arduino Pro mini
เซ็นเซอร์ HC-04
- ตัวบ่งชี้บน tm1637
- สายไฟ (ฉันมี - MGTF 0.12)
-Programmator
- ที่อยู่อาศัยพลาสติก
-Li-on แบตเตอรี่
- สวิตช์ขนาดเล็ก
- บอร์ดชาร์จสำหรับ TP4056
-Superkley
- เหล็กดัด
-Pripoy
-Kanifol
สว่านสว่าน ฯลฯ
ขั้นตอนที่หนึ่งโครงการ:
ตามรูปแบบทุกอย่างง่าย ๆ โดยไม่ต้องเพิ่มเติม
ขั้นตอนที่สองการเตรียมกรณี:
ก่อนอื่นเราลองใช้เซ็นเซอร์และเจาะสองรู 15 มม.
จากนั้นเจาะรูขนาด 3-3.5 มม. สำหรับขั้วต่อ micro-usb
เราเลือกสว่านสำหรับเส้นผ่าศูนย์กลางของสวิตช์และสว่าน
บนฝาเราสร้าง“ หน้าต่าง” สำหรับตัวแสดงเจ็ดเซกชั่น (ในภาพโดยไม่ต้องประมวลผล) และเราเสร็จไฟล์ที่ผิดปกติทั้งหมด
ขั้นตอนที่สามเฟิร์มแวร์:
ในภาพร่างตัวแปรที่สามารถปรับได้ด้วยตัวเองจะถูกเน้น รหัสทั้งหมดถูกใส่ความคิดเห็น
#include // ไลบรารีสำหรับทำงาน
#include
// ------------- เพื่อกำหนดค่า --------------------------------- --------------------------------
บูลลอง = 0; // 0 - วัดความยาวจากเซ็นเซอร์
// 1 - วัดความยาวจากผนังที่อยู่อาศัยซึ่งอยู่ตรงข้ามกับเซ็นเซอร์
int corpus ที่ไม่ได้ลงชื่อ = 10; // ระยะทางจากเซ็นเซอร์ไปยังผนังกรณีตรงข้าม (เป็นเซนติเมตร)
#define CLK 2 // พินเพื่อเชื่อมต่อ
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
int impulse ที่ไม่ได้ลงชื่อ = 0; // ตัวแปรสำหรับการคำนวณ
ไม่ได้ลงนาม int sm = 0;
GyverTM1637 disp (CLK, DIO);
การตั้งค่าเป็นโมฆะ () {
pinMode (TRIG, OUTPUT); // ตั้งเป็นเอาต์พุต
pinMode (ECHO, INPUT); // ตั้งเป็นอินพุต
disp.brightness (7); // ความสว่าง 0-7
disp.point (0); // ปิดลำไส้ใหญ่
disp.clear (); // ล้างตัวบ่งชี้
}
void loop () {
digitalWrite (TRIG, HIGH); // อุปทาน 5 โวลต์
delayMicroseconds (10); // หน่วงเวลา 10 microseconds
digitalWrite (TRIG, LOW); // ให้บริการ 0
แรงกระตุ้น = pulseIn (ECHO, HIGH); // วัดความยาวพัลส์
sm = แรงกระตุ้น / 58; // แปลงเป็นเซนติเมตร
if (Long == 1) {// ตรวจสอบการตั้งค่า
sm = sm + คลังข้อมูล;
}
if (sm <= 2) {// ศูนย์ค่าเท็จ
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
จำนวนเต็ม int = sm / 10;
int ทศนิยม = sm% 10;
ทศนิยม = ทศนิยม * 10;
disp.displayClock (จำนวนเต็มทศนิยม); // ส่งออกไปยังตัวบ่งชี้
ล่าช้า (300); // ล่าช้า 0.3 วินาที ระหว่างเอาท์พุทค่า
}
จากนั้นเชื่อมต่อโปรแกรมเมอร์และแฟลช MK
ขั้นตอนที่สี่การชุมนุม:
เนื่องจากอุปกรณ์ทำงานโดยใช้พลังงานจากแบตเตอรี่เราจึงไม่ต้องการค่าใช้จ่ายเพิ่มเติม ดังนั้นบนบอร์ด Arduino เราประสานไฟ LED และปุ่มรีเซ็ต (เพื่อลดขนาด)
กาวแบตเตอรี่กับร่างกายใน superglue เราติดบอร์ดชาร์จแบตเตอรี่ติดตั้งสวิตช์และประสานทุกอย่างตามแบบแผน
เรากาวเซ็นเซอร์กับเคสและประสานทุกอย่างตามแบบแผนตอนแรกมีความคิดที่จะติดบอร์ดบนเทปสองด้าน
ขั้นตอนที่ห้าทดสอบ:
หมายเหตุ: ส่วนที่สี่จะแสดง 0 เสมอเพื่อให้แน่ใจว่าส่วนสุดท้ายไม่ว่างเปล่า ปรากฎว่าการอ่านเป็น 270 แล้วนี่หมายความว่าระยะทาง 27 ซม.
เพื่อให้มั่นใจประจักษ์พยานสามารถตรวจสอบได้ด้วยไม้บรรทัด