วิธีสร้างถังขยะอัจฉริยะโดยใช้ Arduino

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



ถังขยะอัจฉริยะ

Arduino และเซ็นเซอร์อัลตราโซนิกพร้อมกับเซอร์โวมอเตอร์สามารถรวมเข้ากับถังขยะอัจฉริยะได้ หากถังขยะตรวจพบถังขยะด้านหน้าถังขยะจะเปิดฝาโดยอัตโนมัติและฝาจะปิดหลังจากเวลาผ่านไปครู่หนึ่ง



วิธีการเปิดและปิดฝาถังขยะโดยใช้ Arduino โดยอัตโนมัติ

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



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

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



  • [Amazon Link =” B07QTQ72GJ” title =” Arduino Nano” /]
  • [Amazon Link =” B07JJSGL5S” title =” อัลตราโซนิกเซนเซอร์” /]
  • [Amazon Link =” B07D3L25H3″ title =” เซอร์โวมอเตอร์” /]
  • [Amazon Link =” B07PPP185M” title =” Breadboard” /]
  • [Amazon Link =” B01D9ZM6LS” title =” Breadboard Jumper Wires” /]
  • [Amazon Link =” B07QNTF9G8″ title =” อะแดปเตอร์ไฟ 5V สำหรับ Arduino” /]

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

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

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

Arduino นาโน



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

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

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

เซอร์โวมอเตอร์

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

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

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

  1. ติดเขียงหั่นขนมที่ด้านข้างของถังขยะ ใส่บอร์ด Arduino Nano เข้าไป
  2. ติดเซ็นเซอร์อัลตราโซนิกที่ด้านหน้าของถังขยะ เซ็นเซอร์ควรหันขึ้นเล็กน้อยโดยมีมุมเงยเล็กน้อย
  3. นำเซอร์โวมอเตอร์และยึดแขนเซอร์โวเข้า ติดเซอร์โวมอเตอร์ที่รอยต่อของถังและฝาโดยใช้กาวร้อน
  4. ตอนนี้ทำการเชื่อมต่อทั้งหมดผ่านสายเชื่อมต่อ เชื่อมต่อ Vin และกราวด์ของมอเตอร์และเซ็นเซอร์อัลตราโซนิกเข้ากับ 5V และกราวด์ของ Arduino เชื่อมต่อขาทริกเกอร์ของเซ็นเซอร์เข้ากับพิน 2 และขาก้องเข้ากับพิน 3 ของ Arduino เชื่อมต่อพิน PWM ของเซอร์โวมอเตอร์เข้ากับพิน 5 ของ Arduino
  5. ตอนนี้เมื่อทำการเชื่อมต่อทั้งหมดของวงจรแล้วควรมีลักษณะดังนี้:

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

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

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

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

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

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

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

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

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

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

    โปรเซสเซอร์

  6. ในการเขียนโค้ดเพื่อใช้งานเซอร์โวมอเตอร์เราจำเป็นต้องมีไลบรารีพิเศษที่จะช่วยเราในการเขียนฟังก์ชันต่างๆสำหรับเซอร์โวมอเตอร์ ไลบรารีนี้แนบมาพร้อมกับรหัสในลิงค์ด้านล่าง หากต้องการรวมไลบรารีให้คลิกที่ Sketch> รวมไลบรารี> เพิ่ม ZIP ห้องสมุด.

    รวมห้องสมุด

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

    ที่อัพโหลด

ในการดาวน์โหลดรหัส คลิกที่นี่.

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

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

1. ในช่วงเริ่มต้นจะมีไลบรารีรวมอยู่ด้วยเพื่อให้เราสามารถใช้ฟังก์ชันในตัวเพื่อใช้งานเซอร์โวมอเตอร์ได้ นอกจากนี้ยังมีการเริ่มต้นพินสองพินของบอร์ด Arduino Nano เพื่อให้สามารถใช้สำหรับทริกเกอร์และขาสะท้อนของเซ็นเซอร์อัลตราโซนิก นอกจากนี้ยังมีการสร้างวัตถุเพื่อให้สามารถใช้ตั้งค่าสำหรับเซอร์โวมอเตอร์ได้ นอกจากนี้ยังมีการประกาศตัวแปรสองตัวเพื่อให้สามารถบันทึกค่าของระยะทางและเวลาของสัญญาณอัลตราโซนิกแล้วใช้ในสูตรได้

#include // รวมไลบรารีสำหรับเซอร์โวมอเตอร์เซอร์โวเซอร์โว; // ประกาศวัตถุสำหรับเซอร์โวมอเตอร์ int const trigPin = 2; // เชื่อมต่อ pin2 ของ arduino ด้วยทริกของเซ็นเซอร์อัลตราโซนิก int const echoPin = 3; // เชื่อมต่อ pin3 ของ arduino ด้วย echo ของระยะเวลา int ของเซ็นเซอร์อัลตราโซนิกระยะทาง; // ประกาศตัวแปรเพื่อจัดเก็บระยะทางและประเภทของสัญญาณอัลตราโซนิก

2. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชั่นที่เราเริ่มต้นพินของบอร์ด Arduino เพื่อใช้เป็น INPUT หรือ OUTPUT Trigger pin จะใช้เป็นเอาต์พุตและจะใช้ echo pin เป็นอินพุต เราได้ใช้วัตถุ เซอร์โว เพื่อเชื่อมต่อมอเตอร์กับขา 5 ของ Arduino nano Pin5 สามารถใช้เพื่อส่งสัญญาณ PWM อัตราบอดยังถูกตั้งค่าในฟังก์ชันนี้ อัตราบอดคือความเร็วบิตต่อวินาทีที่ไมโครคอนโทรลเลอร์สื่อสารกับอุปกรณ์ภายนอก

การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); // การตั้งค่าอัตราการรับส่งข้อมูลของ pinMode ของไมโครคอนโทรลเลอร์ (trigPin, OUTPUT); // จะใช้ trig pin เป็น pinMode ขาออก (echoPin, INPUT); // echo pin จะใช้เป็นอินพุต servo.attach (5); // เชื่อมต่อเซอร์โวมอเตอร์เข้ากับ pin5 ของ arduino}

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

โมฆะ loop () {digitalWrite (trigPin, HIGH); // ส่งสัญญาณอัลตราโซนิกในการหน่วงเวลาโดยรอบ (1); digitalWrite (trigPin, LOW); // วัดอินพุตพัลส์ในระยะเวลาของขาก้อง = pulseIn (echoPin, HIGH); // ระยะทางคือครึ่งหนึ่งของระยะเวลาหารด้วย 29.1 (จากแผ่นข้อมูล) ระยะทาง = (ระยะเวลา / 2) / 29.1; // ถ้าระยะทางน้อยกว่า 0.5 เมตรและมากกว่า 0 (0 หรือน้อยกว่าหมายถึงช่วง) ถ้า (ระยะทาง = 0) {servo.write (50); ล่าช้า (3000); } else {servo.write (160); }}

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