วันอาทิตย์ที่ 16 กันยายน พ.ศ. 2561

โปรเจค งานที่ 13 เครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino

เครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino
เครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino

ต้องใช้วัสดุ

  • Solenoid Valve
  • Arduino Uno (เวอร์ชันใดก็ได้)
  • HCSR04 - เซนเซอร์อัลตราโซนิค
  • IRF540 MOSFET
  • 1k และ 10k Resistor
  • เขียงหั่นขนม
  • สายเชื่อมต่อ

แนวคิดการทำงาน

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

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

แผนผังวงจรที่สมบูรณ์สำหรับเครื่องจ่ายน้ำแบบ Arduinoมีดังต่อไปนี้
แผนภาพสำหรับเครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino
วาล์วขดลวดแม่เหล็กไฟฟ้าที่ใช้ในโครงการนี้คือวาล์ว 12V ที่มีกระแสไฟสูงสุดที่ 1.2A และมีกระแสไฟฟ้าอย่างต่อเนื่องที่ 700mAนั่นคือเมื่อเปิดวาล์วมันจะกินประมาณ 700mA เพื่อให้วาล์วเปิดอยู่ ดังที่เราทราบ Arduino เป็นคณะกรรมการพัฒนาการที่ทำงานร่วมกับ 5V และด้วยเหตุนี้เราจำเป็นต้องมีวงจรควบคุมการสลับสำหรับ Solenoidเพื่อเปิดและปิด
อุปกรณ์สวิตชิ่งที่ใช้ในโครงการนี้เป็นIRF540N N-Channel MOSFET มี 3 ขาเกต, แหล่งที่มาและท่อระบายน้ำจากขา 1 ตามลำดับดังที่แสดงในแผนภาพวงจรขั้วบวกของขดลวดแม่เหล็กไฟฟ้าจะขับเคลื่อนด้วยพิน Vin ของ Arduino เนื่องจากเราจะใช้อะแดปเตอร์ขนาด 12V เพื่อจ่ายพลังงานให้กับ Arduino และ Pin Vin จะส่งออก 12V ซึ่งสามารถใช้ควบคุม Solenoid ได้ ขั้วบวกขั้วลบของขดลวดแม่เหล็กไฟฟ้าเชื่อมต่อกับพื้นดินผ่านหมุด Source และ Drain ของ MOSFET ดังนั้นขดลวดแม่เหล็กไฟฟ้าจะถูกขับเคลื่อนเฉพาะเมื่อ MOSFET เปิดอยู่เท่านั้น
ขาประตูของ MOSFET ใช้เพื่อเปิดหรือปิด มันจะยังคงปิดถ้าขาประตูเป็นสายดินและจะเปิดถ้าแรงดันประตูมีการใช้ เพื่อป้องกันไม่ให้ MOSFET ดับเมื่อไม่ใช้แรงดันไฟฟ้ากับสลักเกลียวขายึดประตูจะถูกดึงลงสู่พื้นแม้ว่าจะมีตัวต้านทาน 10k ขา Arduino 12 ใช้เพื่อเปิดหรือปิด MOSFET ดังนั้นขา D12 จะเชื่อมต่อกับขาประตูผ่านตัวต้านทาน 1K ตัวต้านทานแบบ 1K นี้ถูกใช้เพื่อวัตถุประสงค์ในการ จำกัด กระแส
อัลตราโซนิคเซนเซอร์ขับเคลื่อนโดย + 5V และหมุดล่างของ Arduino Echoและทริกเกอร์ขาเชื่อมต่อกับขา 8 ขาและ 9 ตามลำดับ จากนั้นเราสามารถโปรแกรม Arduino ใช้ Ultrasonic sensor เพื่อวัดระยะทางและเปิด MOSFET เมื่อวัตถุถูกตรวจพบ วงจรทั้งหมดเป็นเรื่องง่ายและด้วยเหตุนี้จึงสามารถสร้างที่ด้านบนของกระดานทำบอร์ดได้อย่างง่ายดาย เหมืองมองข้างล่างนี้หลังจากทำการเชื่อมต่อ
วงจรฮาร์ดแวร์สำหรับเครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino

การเขียนโปรแกรม Arduino Board

สำหรับโครงการนี้เราจะต้องเขียนโปรแกรมที่ใช้เซ็นเซอร์อัลตราซาวด์ HCSR-04 เพื่อวัดระยะทางของวัตถุที่อยู่ข้างหน้า เมื่อระยะทางน้อยกว่า 10 ซม. เราต้องเปิด MOSFET และอื่น ๆ เราต้องปิด MOSFET เราจะใช้ LED บนเมนที่เชื่อมต่อกับขา 13 และสลับไปมาพร้อมกับ MOSFET เพื่อให้เราสามารถตรวจสอบได้ว่า MOSFET อยู่ในสถานะเปิดหรือปิดอยู่ โปรแกรมที่สมบูรณ์จะทำเช่นเดียวกันจะได้รับในตอนท้ายของหน้านี้ ด้านล่างนี้ฉันได้อธิบายโปรแกรมโดยการแบ่งออกเป็นตัวอย่างที่มีความหมายขนาดเล็ก
โปรแกรมจะเริ่มต้นด้วยคำนิยามแมโคร เรามีทริกเกอร์และecho pin สำหรับ Ultrasonic sensor และขาประตู MOSFET และ LED เป็น I / O สำหรับ Arduino ของเรา ดังนั้นเราจึงได้กำหนดให้ pin เหล่านี้จะเชื่อมต่ออยู่ ในฮาร์ดแวร์ของเราที่เรามีการเชื่อมต่อเสียงสะท้อนและทริกเกอร์ขาถึง 8 และ 9 THขาดิจิตอลตามลำดับ จากนั้นขา MOSFET จะเชื่อมต่อกับขา 12 และไฟ LED แบบออนบอร์ดโดยค่าเริ่มต้นจะเชื่อมต่อกับขา 13 เรากำหนดเหมือนกันโดยใช้บรรทัดต่อไปนี้
#define trigger 9 
#define echo 8 
#define LED 13 
# กำหนด MOSFET 12

ภายในติดตั้งฟังก์ชั่นที่เราประกาศซึ่งหมุดเป็นอินพุทและเอาท์พุทที่มี ในฮาร์ดแวร์ของเราเท่านั้นขาEchoของ Ultrasonic (US) เป็นขาเข้าขาและส่วนที่เหลือทั้งหมดเป็นขาออก ดังนั้นเราจึงใช้ฟังก์ชันpinModeของ Arduino เพื่อระบุข้อมูลดังที่แสดงด้านล่าง
pinMode (ไก OUTPUT); 
pinMode (ก้อง INPUT); 
pinMode (LED, OUTPUT); 
pinMode (MOSFET, OUTPUT);

ภายในฟังก์ชันลูปหลักเราเรียกใช้ฟังก์ชันที่เรียกว่าmeasure_distance () ฟังก์ชั่นนี้ใช้เซ็นเซอร์สหรัฐในการวัดระยะทางของวัตถุในด้านหน้าของมันและการปรับปรุงค่าของตัวแปรทางไกล ' เมื่อต้องการวัดระยะทางโดยใช้เซ็นเซอร์ของสหรัฐฯขาพิ้นท์จะต้องถูกจัดให้อยู่ในระดับต่ำเป็นเวลาสองวินาทีต่อวินาทีจากนั้นให้จับไว้สูงเป็นเวลาสิบไมโครวินาทีและตรึงไว้ต่ำอีกสองวินาที วิธีนี้จะส่งเสียงสัญญาณอัลตราซาวด์ออกสู่อากาศซึ่งจะสะท้อนจากวัตถุที่อยู่ข้างหน้าและขาสะท้อนจะรับสัญญาณที่สะท้อนออกมา จากนั้นเราจะใช้เวลาในการคำนวณระยะทางของวัตถุที่อยู่ข้างหน้าเซ็นเซอร์ ถ้าคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมต่อ HC-SR04 Ultrasonic sensor กับ Arduinoให้อ่านแม้ว่าจะมีลิงค์ โปรแกรมคำนวณระยะทางคือให้ด้านล่าง
digitalWrite (ไกต่ำ); 
delayMicroseconds (2); 
digitalWrite (ไก HIGH); 
delayMicroseconds (10); 
digitalWrite (ไกต่ำ); 
delayMicroseconds (2); 
เวลา = pulseIn (ก้อง HIGH); 
ระยะเวลา = * 340/20000;                                             

เมื่อมีการคำนวณระยะทางแล้วเราจะต้องเปรียบเทียบค่าของระยะทางโดยใช้คำสั่งง่ายๆถ้าหากค่าน้อยกว่า 10 ซม. เราจะทำให้ MOSFET และ LED ไปสูงในคำสั่งelse อื่นที่เราทำ MOSFET และ LED เพื่อไป ต่ำ. โปรแกรมที่จะทำเช่นเดียวกันจะแสดงด้านล่าง
ถ้า (ระยะทาง <10) 
{ 
   digitalWrite (LED, HIGH); digitalWrite (MOSFET, HIGH); 
} 
else 
{ 
   DigitalWrite (LED, LOW); digitalWrite (MOSFET, LOW); 
}

การทำงานของเครื่องจ่ายน้ำอัตโนมัติ 

ทำการเชื่อมต่อตามที่แสดงในวงจรและอัปโหลดโปรแกรมด้านล่างที่กำหนดลงในบอร์ด Arduino ของคุณ จัดให้ง่ายเพื่อเชื่อมต่อวาล์วขดลวดแม่เหล็กไฟฟ้ากับช่องรับน้ำและเปิดเครื่องโดยใช้อะแดปเตอร์ 12V เข้ากับเต้าเสียบ DC ของบอร์ด Arduino ตรวจสอบให้แน่ใจว่าไฟ LED บนตัวเครื่องปิดอยู่ซึ่งจะทำให้แน่ใจได้ว่า Solenoid ยังปิดอยู่ การตั้งค่าที่ฉันได้ทำเพื่อแสดงให้เห็นโครงการดังที่แสดงด้านล่าง
เครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino ในการทำงาน

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

คำเตือน:   วาล์ว Solenoid ต่างๆมีแรงดันไฟฟ้าและแรงกระแทกในการทำงานที่แตกต่างกันตรวจสอบให้แน่ใจว่าขดลวดแม่เหล็กไฟฟ้าของคุณทำงานบน 12V และใช้พลังงานไม่เกิน 1.5A 
รหัส
#define trigger 9 
#define echo 8 
#define LED 13 
# กำหนด MOSFET 12

float time = 0, ระยะทาง = 0; 

การตั้งค่าเป็นโมฆะ () 

Serial.begin (9600);
 pinMode (ไก OUTPUT); 
 pinMode (ก้อง INPUT); 
 pinMode (LED, OUTPUT); 
 pinMode (MOSFET, OUTPUT);
 ล่าช้า (2000); 


void loop () 

 measure_distance ();
 ถ้า (ระยะทาง <10) 
 { 
   digitalWrite (LED, HIGH); digitalWrite (MOSFET, HIGH); 
 } 
 else 
 { 
   DigitalWrite (LED, LOW); digitalWrite (MOSFET, LOW); 
 }
 ล่าช้า (500); 
}
โมฆะ measure_distance () 

 digitalWrite (เรียก, ต่ำ); 
 delayMicroseconds (2); 
 digitalWrite (ไก HIGH); 
 delayMicroseconds (10); 
 digitalWrite (ไกต่ำ); 
 delayMicroseconds (2); 
 เวลา = pulseIn (ก้อง HIGH); 

 ระยะเวลา = * 340/20000; 
}
วีดีโอ

2 ความคิดเห็น:

  1. สอบถามข้อมูลเพิ่มเติมได้ทางไหนอีกคะ

    ตอบลบ
  2. สวัสดีค่ะ สอบถามเพิ่มเติมได้ทางไหนบ้างคะ

    ตอบลบ

งานครั้งที่ 5 ในสถานที่ฝึกงานของ นศ ใช้ระบบควบคุณภาพอย่างไร

มาตรฐาน ISO 9001 ISO 9001 เป็นมาตรฐานสากลที่องค์กรธุรกิจทั่วโลกให้ความสำคัญ เพื่อความเป็นเลิศทางด้านคุณภาพ และความมีประสิทธิภาพของการด...