อาจเป็นหนึ่งในโครงการพื้นฐานใน Arduino ฉันเป็นเซ็นเซอร์จอดรถ แต่บทความนี้จะไม่อธิบายการสร้างเซ็นเซอร์ที่จอดรถแบบธรรมดา แต่เซ็นเซอร์ที่จอดรถที่มีการปรับระยะทางที่สำคัญด้วยตนเอง ในกระบวนการสร้างอุปกรณ์นี้คุณจะเพิ่มทักษะของคุณในวงจรและการเขียนโปรแกรม
ส่วนประกอบหลัก:
•บอร์ด arduino Nano / Uno
•เซ็นเซอร์ตรวจวัดระยะทางอัลตราโซนิก HC-CR04
•ไฟ LED 6 ดวง
• 6 ตัวต้านทานที่ 220 โอห์ม
• 2 ตัวต้านทานต่อ 10 KOm
•ปุ่มนาฬิกา 2 ปุ่ม
• squeaker piezo
•คณะกรรมการเพ้อ
•สายพ่อพ่อ
•ฟองน้ำรองเท้า (สำหรับกรณี)
จากเครื่องมือ:
•หัวแร้ง
•เทอร์โม - กาว
พิจารณาอัลกอริทึมของอุปกรณ์
หลังจากดูอัลกอริธึมแล้วเราได้รวบรวมโครงร่างบนกระดานเพ้อ:
เนื่องจากฉันติดตั้งวงจรในเคสมันจึงตัดสินใจทำ mini shields ของปุ่มและ LED
กรณีของอุปกรณ์ที่ทำจากกล่องจากฟองน้ำสำหรับรองเท้า
ดูเหมือนอุปกรณ์ภายใน
ลองดูรหัส
int switch1 = 9; // ปุ่ม 1
int switch2 = 10; // ปุ่ม 2
int pin = 2;
int bin = 40; // ระยะทางวิกฤตเริ่มต้นเป็นเซนติเมตร !!!
int echoPin = 12; // Echo pin บนโมดูล HC-SR04
int trigPin = 11; // Trig pin บนโมดูล HC-SR04
int buz = 8; // ทวีตเตอร์ Pin
บูลีน lBut1 = ต่ำ;
บูลีน lBut2 = ต่ำ;
บูลีน cBut1 = ต่ำ;
บูลีน cBut2 = ต่ำ;
การตั้งค่าเป็นโมฆะ () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, OUTPUT); // LED 1
pinMode (3, OUTPUT); // LED 2
pinMode (4, OUTPUT); // LED 3
pinMode (5, OUTPUT); // LED 4
pinMode (6, OUTPUT); // LED 5
pinMode (7, OUTPUT); // LED 6
pinMode (8, OUTPUT); // Squeak
}
บูลีน debounce (บูลีนสุดท้าย)
{
บูลีนปัจจุบัน = digitalRead (switch1);
if (last! = current)
{
ล่าช้า (5);
ปัจจุบัน = digitalRead (switch1);
}
คืนปัจจุบัน;
}
บูลีน debounce2 (บูลีน last2)
{
บูลีน current2 = digitalRead (switch2);
ถ้า (last2! = current2)
{
ล่าช้า (5);
current2 = digitalRead (switch2);
}
กลับปัจจุบัน 2;
}
void loop () {
ระยะเวลา int, ซม.;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
duration = pulseIn (echoPin, HIGH);
cm = ระยะเวลา / 58;
อนุกรม. พิมพ์ (ซม.);
อนุกรม. println ("cm");
ล่าช้า (10);
cBut1 = debounce (lBut1);
if (lBut1 == LOW && cBut1 == สูง)
{
pin = pin-1;
bin = bin-7; // เลข 7 หมายถึงการลบ 7 ซม. จากระยะวิกฤต !!!
}
lBut1 = cBut1;
digitalWrite (พินสูง);
cBut2 = debounce2 (lBut2);
ถ้า (lBut2 == ต่ำ && cBut2 == สูง)
{
pin = pin + 1;
bin = bin + 7; // เลข 7 หมายถึงการเพิ่ม 7 ซม. จากระยะวิกฤต !!!
}
lBut2 = cBut2;
digitalWrite (พินต่ำ);
ถ้า (cm 0)
{
โทนเสียง (8,200,200);
ล่าช้า (300);
}
อื่น
{
noTone (8);
}
}
ค่า bin สามารถเปลี่ยนให้คุณสะดวกยิ่งขึ้น
เป็นผลให้อุปกรณ์ทำหน้าที่เป็นประจำ
บทความนี้จะช่วยให้คุณสร้างเซ็นเซอร์จอดรถแบบเดียวกันโดยไม่ต้องใช้ความพยายามมาก
ฉันขอให้ทุกคนโชคดีในการทำซ้ำอุปกรณ์นี้ ฉันหวังว่าไกด์ของฉันจะเป็นประโยชน์กับคุณ