» อิเล็กทรอนิกส์ » Arduino » Parktronic บน Arduino พร้อมการปรับระยะด้วยตนเอง

Parktronic บน Arduino พร้อมการปรับระยะด้วยตนเอง



อาจเป็นหนึ่งในโครงการพื้นฐานใน Arduino ฉันเป็นเซ็นเซอร์จอดรถ แต่บทความนี้จะไม่อธิบายการสร้างเซ็นเซอร์ที่จอดรถแบบธรรมดา แต่เซ็นเซอร์ที่จอดรถที่มีการปรับระยะทางที่สำคัญด้วยตนเอง ในกระบวนการสร้างอุปกรณ์นี้คุณจะเพิ่มทักษะของคุณในวงจรและการเขียนโปรแกรม

ส่วนประกอบหลัก:

•บอร์ด arduino Nano / Uno
•เซ็นเซอร์ตรวจวัดระยะทางอัลตราโซนิก HC-CR04
•ไฟ LED 6 ดวง
• 6 ตัวต้านทานที่ 220 โอห์ม
• 2 ตัวต้านทานต่อ 10 KOm
•ปุ่มนาฬิกา 2 ปุ่ม
• squeaker piezo
•คณะกรรมการเพ้อ
•สายพ่อพ่อ
•ฟองน้ำรองเท้า (สำหรับกรณี)

จากเครื่องมือ:

•หัวแร้ง
•เทอร์โม - กาว

พิจารณาอัลกอริทึมของอุปกรณ์


Parktronic บน Arduino พร้อมการปรับระยะด้วยตนเอง


หลังจากดูอัลกอริธึมแล้วเราได้รวบรวมโครงร่างบนกระดานเพ้อ:




เนื่องจากฉันติดตั้งวงจรในเคสมันจึงตัดสินใจทำ 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 สามารถเปลี่ยนให้คุณสะดวกยิ่งขึ้น

เป็นผลให้อุปกรณ์ทำหน้าที่เป็นประจำ



บทความนี้จะช่วยให้คุณสร้างเซ็นเซอร์จอดรถแบบเดียวกันโดยไม่ต้องใช้ความพยายามมาก
ฉันขอให้ทุกคนโชคดีในการทำซ้ำอุปกรณ์นี้ ฉันหวังว่าไกด์ของฉันจะเป็นประโยชน์กับคุณ
9.5
7.3
8.3

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...