วิธีการสร้างหุ่นยนต์ทำความสะอาดพื้นโดยใช้เซ็นเซอร์อัลตราโซนิก

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



(ภาพนี้นำมาจาก Circuit Digest)

วิธีใช้อัลตราโซนิกเซนเซอร์เพื่อสร้างหุ่นยนต์ทำความสะอาดพื้นอัตโนมัติ

ตอนนี้เราทราบบทคัดย่อของโครงการแล้ว ให้เรารวบรวมข้อมูลเพิ่มเติมเพื่อเริ่มทำงาน



ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

แนวทางที่ดีที่สุดในการเริ่มต้นโครงการคือการจัดทำรายการส่วนประกอบที่สมบูรณ์ตั้งแต่เริ่มต้นและศึกษาข้อมูลโดยย่อของแต่ละองค์ประกอบ สิ่งนี้ช่วยเราในการหลีกเลี่ยงความไม่สะดวกในช่วงกลางโครงการ รายการส่วนประกอบทั้งหมดที่ใช้ในโครงการนี้มีให้ด้านล่าง



  • แชสซีล้อรถยนต์
  • แบตเตอรี่
  • แสดงแปรง

ขั้นตอนที่ 2: ศึกษาส่วนประกอบ

เมื่อเรามีรายการส่วนประกอบทั้งหมดแล้วให้เราก้าวไปข้างหน้าและศึกษาการทำงานของแต่ละองค์ประกอบสั้น ๆ



Arduino nano เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ใช้ในการควบคุมหรือทำงานต่าง ๆ ในวงจร เราเผาก รหัส C บน Arduino Nano เพื่อบอกบอร์ดไมโครคอนโทรลเลอร์ว่าจะดำเนินการอย่างไรและอย่างไร Arduino Nano มีฟังก์ชันการทำงานเหมือนกับ Arduino Uno แต่มีขนาดค่อนข้างเล็ก ไมโครคอนโทรลเลอร์บนบอร์ด Arduino Nano คือ ATmega328p.

Arduino นาโน

L298N เป็นวงจรรวมกระแสสูงและแรงดันสูง เป็นสะพานคู่แบบคู่ที่ออกแบบมาเพื่อยอมรับลอจิก TTL มาตรฐาน มีอินพุตเปิดใช้งานสองช่องที่อนุญาตให้อุปกรณ์ทำงานได้อย่างอิสระ มอเตอร์สองตัวสามารถเชื่อมต่อและใช้งานได้ในเวลาเดียวกัน ความเร็วของมอเตอร์แตกต่างกันไปตามพิน PWM



L298N ขับมอเตอร์

บอร์ด HC-SR04 เป็นเซ็นเซอร์อัลตราโซนิกที่ใช้กำหนดระยะห่างระหว่างวัตถุสองชิ้น ประกอบด้วยเครื่องส่งและเครื่องรับ เครื่องส่งจะแปลงสัญญาณไฟฟ้าเป็นสัญญาณอัลตราโซนิกและเครื่องรับจะแปลงสัญญาณอัลตราโซนิกกลับไปเป็นสัญญาณไฟฟ้า เมื่อเครื่องส่งส่งคลื่นอัลตราโซนิกจะสะท้อนหลังจากชนกับวัตถุบางอย่าง ระยะทางคำนวณโดยใช้เวลาสัญญาณอัลตร้าโซนิคนั้นจะไปจากเครื่องส่งและกลับมาที่เครื่องรับ

อัลตราโซนิกเซนเซอร์

ขั้นตอนที่ 3: การประกอบส่วนประกอบ

เมื่อเราทราบแล้วว่าส่วนประกอบทั้งหมดทำงานอย่างไรให้เราประกอบส่วนประกอบทั้งหมดและเริ่มสร้างหุ่นยนต์

ใช้โครงล้อรถยนต์และติดแปรงแสดงที่ด้านหน้าของ Chasses ติดสก๊อตไบรท์ไว้ใต้หุ่นยนต์ ตรวจสอบให้แน่ใจว่าอยู่ด้านหลังแปรงรองเท้า ตอนนี้แนบเขียงหั่นขนมเล็ก ๆ ที่ด้านบนของตัวตัดและด้านหลังติดไดรเวอร์มอเตอร์ ทำการเชื่อมต่อมอเตอร์กับไดรเวอร์มอเตอร์อย่างเหมาะสมและเชื่อมต่อพินไดรเวอร์มอเตอร์กับ Arduino อย่างระมัดระวัง ติดตั้งแบตเตอรี่ที่ด้านหลังแชสซี แบตเตอรี่จะเปิดเครื่องขับมอเตอร์ซึ่งจะให้พลังงานแก่มอเตอร์ Arduino จะใช้พลังงานจากไดรเวอร์มอเตอร์ ขา Vcc และพื้นของเซ็นเซอร์อัลตราโซนิกจะเชื่อมต่อกับ 5V และกราวด์ของ Arduino

แผนภูมิวงจรรวม

ขั้นตอนที่ 4: เริ่มต้นกับ Arduino

หากคุณยังไม่คุ้นเคยกับ Arduino IDE ก็ไม่ต้องกังวลเพราะขั้นตอนทีละขั้นตอนในการตั้งค่าและใช้ Arduino IDE กับบอร์ดไมโครคอนโทรลเลอร์มีคำอธิบายด้านล่าง

  1. ดาวน์โหลด Arduino IDE เวอร์ชันล่าสุดจาก Arduino
  2. เชื่อมต่อบอร์ด Arduino Nano เข้ากับแล็ปท็อปของคุณและเปิดแผงควบคุม ในแผงควบคุมคลิกที่ ฮาร์ดแวร์และเสียง . ตอนนี้คลิกที่ อุปกรณ์และเครื่องพิมพ์ ที่นี่ค้นหาพอร์ตที่บอร์ดไมโครคอนโทรลเลอร์ของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ COM14 แต่จะแตกต่างกันในคอมพิวเตอร์เครื่องอื่น

    กำลังค้นหาพอร์ต

  3. คลิกที่เมนูเครื่องมือและตั้งค่าบอร์ดเป็น Arduino นาโน

    คณะกรรมการการตั้งค่า

  4. ในเมนูเครื่องมือเดียวกันตั้งค่าพอร์ตเป็นหมายเลขพอร์ตที่คุณสังเกตเห็นก่อนหน้านี้ในไฟล์ อุปกรณ์และเครื่องพิมพ์ .

    การตั้งค่าพอร์ต

  5. ในเมนูเครื่องมือเดียวกันตั้งค่าโปรเซสเซอร์เป็น ATmega328P (Bootloader เก่า)

    โปรเซสเซอร์

  6. ดาวน์โหลดโค้ดที่แนบด้านล่างและวางลงใน Arduino IDE ของคุณ คลิกที่ ที่อัพโหลด ปุ่มเพื่อเบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ของคุณ

    ที่อัพโหลด

คลิก ที่นี่ เพื่อดาวน์โหลดรหัส

ขั้นตอนที่ 5: การทำความเข้าใจรหัส

โค้ดนี้แสดงความคิดเห็นได้ดีและอธิบายได้ด้วยตนเอง แต่ยังคงมีการอธิบายสั้น ๆ ด้านล่าง

1. เมื่อเริ่มต้นพินทั้งหมดของ Arduino ที่เรากำลังจะใช้จะเริ่มต้น

int enable1pin = 8; // หมุดสำหรับ Motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // หมุดสำหรับมอเตอร์ตัวที่สอง int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // พินสำหรับอัลตราโซนิกเซนเซอร์ const int echoPin = 10; const int buzzPin = 6; ระยะเวลานาน // ตัวแปรสำหรับระยะลอยของเซนเซอร์อัลตราโซนิก;

2. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชั่นที่เราตั้งค่าพินทั้งหมดที่จะใช้เป็น INPUT หรือ OUTPUT อัตราบอดยังตั้งค่าในฟังก์ชันนี้ อัตราบอดคือความเร็วที่บอร์ดไมโครคอนโทรลเลอร์สื่อสารกับเซ็นเซอร์ที่ติดอยู่

การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); pinMode (trigPin, เอาท์พุท); pinMode (echoPin, INPUT); pinMode (buzzPin, เอาท์พุท); pinMode (enable1pin, เอาท์พุท); pinMode (enable2pin, เอาท์พุท); pinMode (motor1pin1, เอาท์พุท); pinMode (motor1pin2, เอาท์พุท); pinMode (motor2pin1, เอาท์พุท); pinMode (motor2pin2, เอาท์พุท); }

3. ห่วงเป็นโมฆะ () เป็นฟังก์ชันที่ทำงานอย่างต่อเนื่องเป็นวง ในลูปนี้เราได้บอกไมโครคอนโทรลเลอร์ว่าจะเดินหน้าต่อไปเมื่อใดหากไม่พบสิ่งกีดขวางในระยะ 50 ซม. หุ่นยนต์จะหักเลี้ยวขวาเมื่อพบสิ่งกีดขวาง

โมฆะ loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, สูง); delayMicroseconds (10); digitalWrite (trigPin, LOW); ระยะเวลา = pulseIn (echoPin, HIGH); ระยะทาง = 0.034 * (ระยะเวลา / 2); if (ระยะทาง> 50) // เดินหน้าหากไม่พบสิ่งกีดขวาง {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, สูง); digitalWrite (motor1pin1, สูง); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, สูง); digitalWrite (motor2pin2, LOW); } else if (ระยะทาง<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

ตอนนี้เมื่อเราได้พูดถึงทุกสิ่งที่คุณต้องการในการสร้างหุ่นยนต์ทำความสะอาดพื้นอัตโนมัติแล้วขอให้สนุกกับการทำหุ่นยนต์ทำความสะอาดพื้นด้วยต้นทุนต่ำและมีประสิทธิภาพ