วงจรสวิตช์เปิด / ปิดอัลตร้าโซนิคอัตโนมัติอัจฉริยะ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





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



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

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



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

การออกแบบ:

หัวใจและสมองของสวิตช์เปิด / ปิดอัตโนมัติอัจฉริยะนี้โดยใช้ Arduino คือ โมดูลอัลตราโซนิก และ arduino ตามลำดับ โมดูลอัลตราโซนิกจะตรวจจับการปรากฏตัวของมนุษย์ แต่โมดูลอัลตราโซนิกไม่สามารถแยกความแตกต่างระหว่างมนุษย์กับสิ่งกีดขวางเช่นเก้าอี้ที่อยู่หน้าโต๊ะ ดังนั้นในการเปิดใช้งานคุณสมบัตินี้เราจะกำหนดระยะห่างระหว่างเซ็นเซอร์กับมนุษย์

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

เมื่อบุคคลย้ายออกจากช่วงเกณฑ์ก็จะปิดรีเลย์

แผนภาพด้านบนแสดงให้เห็นถึงการกระตุ้นของรีเลย์ต่อหน้ามนุษย์เนื่องจาก Arduino ตรวจพบระยะทางที่ต่ำกว่าค่าเกณฑ์

แผนภาพด้านบนแสดงให้เห็นว่ารีเลย์ถูกปิดในกรณีที่ไม่มีมนุษย์เนื่องจาก arduino ยังคงตรวจจับระยะทางที่สูงกว่าค่าเกณฑ์

โปรแกรมเขียนในลักษณะที่วัดระยะห่างระหว่างเซ็นเซอร์และสิ่งกีดขวางตามเวลาจริง

ผู้ใช้ต้องป้อนค่าเกณฑ์เป็นเซนติเมตรก่อนที่จะอัปโหลดไปยัง arduino

มันทำงานอย่างไร

วงจรสวิตช์เปิด / ปิดอัลตร้าโซนิคอัตโนมัติอัจฉริยะ

เซ็นเซอร์อัลตราโซนิกสามารถเสียบเข้ากับพินอนาล็อกได้โดยตรงตั้งแต่ A0 ถึง A3 โดยเซ็นเซอร์หันออกไปด้านนอกซึ่งอาจลดความแออัดของสายไฟขณะสร้างต้นแบบวงจร

หมายเหตุ: #PIN 7 เป็นเอาต์พุตสำหรับรีเลย์

//--------------------Program developed by R.Girish-------------------//
const int trigger = A1
const int echo = A2
int vcc = A0
int gnd = A3
int OP = 7
long Time
float distanceCM
float distance = 15 // set threshold distance in cm
float resultCM
void setup()
{
pinMode(OP,OUTPUT)
pinMode(trigger,OUTPUT)
pinMode(echo,INPUT)
pinMode(vcc,OUTPUT)
pinMode(gnd,OUTPUT)
}
void loop()
{
digitalWrite(vcc,HIGH)
digitalWrite(gnd,LOW)
digitalWrite(trigger,LOW)
delay(1)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time=pulseIn(echo,HIGH)
distanceCM=Time*0.034
resultCM=distanceCM/2
if(resultCM<=distance)
{
digitalWrite(OP,HIGH)
delay(4000)
}
if(resultCM>=distance)
{
digitalWrite(OP,LOW)
}
delay(10)
}
//-----------------Program developed by R.Girish-------------------//

บันทึก:

ในโปรแกรมแทนที่ค่า 15 ด้วยระยะห่างระหว่างเซ็นเซอร์และขอบโต๊ะ + 7 ถึง 10 ซม.

ระยะลอย = 15 // กำหนดระยะเกณฑ์เป็นซม

ตัวอย่างเช่น : ถ้าระยะห่างระหว่างเซ็นเซอร์และโต๊ะคือ 100 ซม. ให้เพิ่มอีก 7 ถึง 10 ซม. แล้ววางค่า ค่าเป็นเซนติเมตร อาจใช้เวลาถึง 4 วินาทีในการปิดรีเลย์หลังจากที่บุคคลนั้นออกห่างจากระยะของเซ็นเซอร์




คู่ของ: วงจรขยายเสียง 6 วัตต์โดยใช้ TDA1011 ถัดไป: วงจรควบคุมระยะไกลเฮลิคอปเตอร์ RC