โปรเจค เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor





Automatic Door Opener using Arduino and PIR Sensor







ระบบเปิดประตูอัตโนมัติเป็นโครงการที่เรียบง่ายขึ้นอยู่กับ PIR Sensor และ Arduino ซึ่งจะเปิดและปิดประตูโดยอัตโนมัติโดยการตรวจจับบุคคลหรือวัตถุ


คุณอาจเคยเห็น Automatic Openener System ที่ห้างสรรพสินค้าโรงภาพยนตร์โรงพยาบาล ฯลฯ โดยที่ทันทีที่มีบุคคลเข้ามาใกล้ประตู (ประมาณ 2 หรือ 3 ฟุต) ประตูจะเปิดขึ้นโดยอัตโนมัติ และหลังจากผ่านไปสักระยะหนึ่ง (ประมาณ 5 ถึง 10 วินาที) ประตูจะปิดลงโดยเลื่อนไปในทิศทางตรงกันข้าม



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


ดังนั้นเพื่อให้เข้าใจถึงศักยภาพของแนวคิดนี้เราได้ใช้ระบบเปิดประตูอัตโนมัติแบบอัตโนมัติโดยใช้ Arduino และ PIR Sensor



เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 3

เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 1

เปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 4

เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 2

เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 3

เครื่องเปิดประตูอัตโนมัติโดยใช้ Arduino และ PIR Sensor Image 1

แผนผังวงจรของระบบเปิดประตูอัตโนมัติ


ส่วนประกอบที่จำเป็นสำหรับระบบเปิดประตูอัตโนมัติ

  • Arduino UNO
  • PIR Sensor
  • L298N Motor Driver Module
  • CD Tray with 5V Motor
  • Breadboard
  • Connecting Wires
  • Power Supply

การทำงานของระบบเปิดประตูอัตโนมัติ

การประยุกต์ใช้งาน

ภาพรวม

ใน Automatic Door Opening System ส่วนประกอบหลักหรือฮาร์ดแวร์เป็นเซ็นเซอร์ที่ตรวจจับบุคคล (เช่นการเคลื่อนไหวของบุคคลในกรณีของเรา) ในการนี้เราจะใช้เซนเซอร์ตรวจจับการเคลื่อนที่ของ PIR


เราได้เห็นใน Arduino PIR Sensor Tutorial เกี่ยวกับการทำงานของ PIR Sensor Works และวิธีการเชื่อมต่อ PIR Sensor กับ Arduino


ก่อนดำเนินการต่อกับโครงการนี้ผมขอแนะนำให้คุณดู Arduino PIR Sensor Tutorial


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


ในการควบคุมมอเตอร์ 5 โวลต์ DC ในถาด CD ฉันใช้โมดูลไดร์เวอร์มอเตอร์ L298N ฉันได้ทำกวดวิชาเกี่ยวกับการควบคุมมอเตอร์ไฟฟ้ากระแสตรงโดยใช้ Arduino และ L298N Motor Driver Module

PIR Sensor

การตรวจจับการเคลื่อนไหวของมนุษย์ทำได้โดยใช้ PIR Sensor


Arduino PIR Sensor Tutorial เซนเซอร์ PIR 1


โมดูลมอเตอร์ L298N

มอเตอร์ไดร์เวอร์เป็นส่วนสำคัญของโครงการเนื่องจากเป็นผู้รับผิดชอบในการขับมอเตอร์ของประตู (CD Tray Motor ในกรณีนี้) ในโครงการนี้เราได้ใช้โมดูลมอเตอร์ L298N ทั่วไปและเป็นที่นิยมมาก



Arduino DC มอเตอร์ควบคุมโดยใช้โมดูลมอเตอร์ L298N


การออกแบบวงจร

ขั้นแรกให้ข้อมูล OUT ของ PIR Sensor เชื่อมต่อกับ Digital Pin 8 ของ Arduino อีกสองหมุดของเซ็นเซอร์ PIR ได้แก่ Vs และ GND เชื่อมต่อกับ + 5V และ GND ตามลำดับ


มาถึงมอเตอร์ไดร์เวอร์แล้วเราได้ใช้ช่องทางที่สองของโมดูลมอเตอร์ L298N ดังนั้น IN3 และ IN4 ของ L298N Motor Driver เชื่อมต่อกับ Digital Pins 2 และ 3 ของ Arduino


เปิดใช้งาน Pin ของมอเตอร์ตัวที่สองในโมดูล L298N ที่เราต่อกับ + 5V โดยปกติแล้วโมดูลทั้งหมดของ L298N ประกอบด้วยจัมเปอร์เชื่อมต่อขาเปิดใช้งานไปยัง + 5V โดยตรง คุณสามารถใช้ตัวเลือกนี้ได้


ตั้งแต่มอเตอร์ที่ใช้ในโครงการเป็นมอเตอร์ 5V ฉันได้เชื่อมต่อซัพพลาย 5V ไปยังโมดูลไดร์เวอร์มอเตอร์


สุดท้ายมอเตอร์ของถาดซีดีจะเชื่อมต่อกับ OUT3 และ OUT4 ของโมดูลมอเตอร์ L298N

Code

The code for the project is given below. It can be used with any Arduino Board (Arduino UNO, Arduino Nano or Arduino Mega).
int in1 = 2;
int in2 = 3;
int sensor = 8;
int led = 13;
void setup()
{
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(sensor, INPUT);
pinMode(led, OUTPUT);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
//digitalWrite(sensor,LOW);
digitalWrite(led,LOW);
while(millis()<13000)
{
digitalWrite(led,HIGH);
delay(50);
digitalWrite(led,LOW);
delay(50);
}
digitalWrite(led,LOW);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
void loop()
{
if(digitalRead(sensor)==HIGH)
{
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(led,HIGH);
delay(2000);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(led,LOW);
delay(2000);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
}
}
อ้างอิง  https://www.electronicshub.org/automatic-door-opener-using-arduino/

ความคิดเห็น

บทความที่ได้รับความนิยม