วิธีสร้างตัวควบคุมสัญญาณไฟจราจรที่ใช้ Arduino
สัญญาณไฟจราจรเป็นอุปกรณ์ส่งสัญญาณที่ใช้เพื่อควบคุมการจราจรบนทางแยกของถนนทางม้าลายและสถานที่อื่น ๆ เป็นการรวมกันของแสงสามสี ได้แก่ แดงเหลืองและเขียว ไฟสีแดงบอกให้คนหยุดสีเหลืองบอกให้เตรียมพร้อมหรือสตาร์ทเครื่องยนต์หากดับและไฟเขียวแสดงว่าคุณชัดเจนที่จะไปข้างหน้า
ในโครงการนี้เราจะทำระบบสัญญาณไฟจราจร 4 ทิศทางโดยใช้ไมโครคอนโทรลเลอร์ เราจะเผาไฟล์ รหัส C บนบอร์ด Arduino Uno เพื่อบอกวิธีการเปิดและปิดไฟ LED เพื่อให้สามารถเปลี่ยนเวลาที่สมบูรณ์แบบในกระบวนการส่งสัญญาณได้ จะใช้ไฟ LED 4 ดวงรวมกัน 4 ดวงและวางไว้บนเขียงหั่นขนมเพื่อจุดประสงค์ในการทดสอบ
วิธีสร้างสัญญาณไฟจราจร 4 ทิศทางโดยใช้ Seeeduino v4.2
สัญญาณไฟจราจรเป็นสิ่งสำคัญที่สุดที่ติดตั้งบนถนนเพื่อให้การจราจรราบรื่นและสม่ำเสมอและช่วยลดโอกาสในการเกิดอุบัติเหตุให้น้อยที่สุด เราสามารถทำโครงงานนี้บนเขียงหั่นขนมขนาดเล็ก ให้เรารวบรวมข้อมูลบางอย่างเกี่ยวกับโครงการนี้และเริ่มทำงาน
ขั้นตอนที่ 1: รวบรวมส่วนประกอบ
แนวทางที่ดีที่สุดในการเริ่มต้นโครงการคือการจัดทำรายการส่วนประกอบที่สมบูรณ์ตั้งแต่เริ่มต้นและทำการศึกษาสั้น ๆ เกี่ยวกับแต่ละองค์ประกอบ สิ่งนี้ช่วยเราในการหลีกเลี่ยงความไม่สะดวกระหว่างโครงการ รายการส่วนประกอบทั้งหมดที่ใช้ในโครงการนี้มีให้ด้านล่าง
ขั้นตอนที่ 2: ศึกษาส่วนประกอบ
ตอนนี้เมื่อเราทราบนามธรรมของโครงการของเราแล้วและเรายังมีรายการส่วนประกอบทั้งหมดให้เราก้าวไปข้างหน้าและศึกษาสั้น ๆ เกี่ยวกับส่วนประกอบที่เรากำลังจะใช้
Seeeduino v4.2เป็นหนึ่งในบอร์ดที่เข้ากันได้กับ Arduino ที่ดีที่สุดในโลกซึ่งใช้ไมโครคอนโทรลเลอร์ Atmega 328 MCU เพราะใช้งานง่ายเสถียรกว่าและดูดีกว่าบอร์ดอื่น ๆ อีกมากมาย มันขึ้นอยู่กับ Arduino bootloader มี ATMEGA16U2 เป็นตัวแปลง UART-to-USB เนื่องจากสามารถใช้เป็นชิป FTDI ได้ เชื่อมต่อกับคอมพิวเตอร์โดยใช้สายไมโคร USB ซึ่งโดยทั่วไปเรียกว่าสายแอนดรอยด์ นอกจากนี้ยังสามารถใช้แจ็ค DC เพื่อจ่ายไฟให้กับบอร์ดได้ กำลังไฟฟ้าเข้าต้องอยู่ระหว่าง 7V ถึง 15V
ก เขียงหั่นขนมเป็นอุปกรณ์ที่ไม่มีการบัดกรี ใช้ในการสร้างและทดสอบวงจรอิเล็กทรอนิกส์และการออกแบบต้นแบบชั่วคราว ส่วนประกอบอิเล็กทรอนิกส์ส่วนใหญ่เชื่อมต่อกับเขียงหั่นขนมเพียงแค่เสียบหมุดเข้ากับเขียงหั่นขนม แถบโลหะวางลงในรูของเขียงหั่นขนมและรูเชื่อมต่อในลักษณะเฉพาะ การเชื่อมต่อของรูดังแสดงในแผนภาพด้านล่าง:
ขั้นตอนที่ 3: หลักการทำงาน
ให้เรามาดูข้อมูลเบื้องต้นสั้น ๆ เกี่ยวกับหลักการทำงานของโครงการสัญญาณไฟจราจร 4 ทิศทาง เนื่องจากเป็นแบบ 4 ทางเราจึงต้องใช้ LED สิบสองดวงและไฟ LED สามดวงรวมกันสี่ดวง รหัสถูกเขียนขึ้นเพื่อให้หากชุดค่าผสมหนึ่งแสดงไฟสีเขียวชุดค่าผสมอื่น ๆ ทั้งหมดจะแสดงแสงสีแดง หากสัญญาณเปลี่ยนจากสีเขียวเป็นสีเหลืองหรือสีแดงเป็นสีเหลืองไฟ LED ชุดอื่นจะแสดงธุรกรรมจากสีแดงเป็นสีเหลืองหรือสีเหลืองเป็นสีแดงตามลำดับ
ทั้งหมดนี้จะดำเนินการโดยมีการหน่วงเวลาระหว่างการเปลี่ยนสัญญาณ ตัวอย่างเช่น LED จะยังคงเป็นสีเขียวเป็นเวลาเกือบสิบห้าวินาทีไฟ LED จะยังคงเป็นสีเหลืองเป็นเวลาเกือบสองวินาที ระยะเวลาของ LED สีแดงขึ้นอยู่กับระยะเวลาของ LED สีเขียว หมายความว่าหาก LED เป็นสีเขียวเป็นเวลาสิบห้าวินาทีไฟ LED สีแดงอื่น ๆ ทั้งหมดจะยังคงติดอยู่เป็นเวลาสิบห้าวินาที
ขั้นตอนที่ 4: การสร้างวงจร
เมื่อเราทราบการทำงานหลักของส่วนประกอบแล้วให้เราก้าวไปข้างหน้าและเริ่มประกอบส่วนประกอบเพื่อสร้างวงจร ทำตามขั้นตอนต่อไปนี้เพื่อเชื่อมต่อส่วนประกอบทั้งหมดอย่างถูกต้องในเขียงหั่นขนม
- ก่อนอื่นให้นำ LED ทั้งหมดมาเชื่อมต่อในเขียงหั่นขนมตามลำดับที่ถูกต้องเป็นสีแดงสีเหลืองและสีเขียว
- ทำการเชื่อมต่อทั่วไปของพื้นที่ของไฟ LED ควรเชื่อมต่อตัวต้านทาน 220 โอห์มกับขั้วบวกของ LED
- ตอนนี้เชื่อมต่อสายเชื่อมต่อตามลำดับ
- ตอนนี้เชื่อมต่อ LED กับ Arduino ดังแสดงในแผนภาพวงจรด้านล่าง LED-1, LED-2 ถึง LED-12 จะเชื่อมต่อกับ pin1, pin2 ถึง pin12 ของบอร์ด Arduino Uno
- อัปโหลดรหัสใน Arduino Uno และเปิดเครื่องโดยใช้แล็ปท็อปหรืออะแดปเตอร์ AC เป็น DC
- วงจรจะมีลักษณะดังภาพที่แสดงด้านล่าง:
ขั้นตอนที่ 5: เริ่มต้นใช้งาน Arduino
หากคุณไม่คุ้นเคยกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะด้านล่างนี้คุณสามารถดูขั้นตอนการเขียนโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ได้อย่างชัดเจนโดยใช้ Arduino IDE คุณสามารถดาวน์โหลด Arduino IDE เวอร์ชันล่าสุดได้จากที่นี่และทำตามขั้นตอนด้านล่าง:
1). เมื่อบอร์ด Arduino เชื่อมต่อกับพีซีของคุณแล้วให้เปิด“ แผงควบคุม” และคลิกที่“ ฮาร์ดแวร์และเสียง” จากนั้นคลิกที่“ อุปกรณ์และเครื่องพิมพ์” ค้นหาชื่อของพอร์ตที่บอร์ด Arduino ของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ“ COM14” แต่อาจแตกต่างกันในพีซีของคุณ
2). ตอนนี้เปิด Arduino IDE จาก Tools ให้ตั้งค่าบอร์ด Arduino เป็น Arduino / Genuino UNO
3). จากเมนูเครื่องมือเดียวกันตั้งค่าหมายเลขพอร์ตที่คุณเห็นในแผงควบคุม
4). ดาวน์โหลดรหัสที่แนบด้านล่างและคัดลอกไปยัง IDE ของคุณ ในการอัปโหลดรหัสให้คลิกที่ปุ่มอัปโหลด
คุณสามารถดาวน์โหลดรหัสได้โดยคลิกที่นี่
ขั้นตอนที่ 6: รหัส
โค้ดนี้ได้รับการแสดงความคิดเห็นและอธิบายได้ดี แต่ถึงกระนั้นบางส่วนของโค้ดจะมีการอธิบายสั้น ๆ ไว้ด้านล่าง
1. เมื่อเริ่มต้นพินทั้งหมดจะถูกตั้งชื่อซึ่งจะเชื่อมต่อกับ Arduino ในภายหลัง
int led1 = 1; // ไฟแดง 1 int led2 = 2; // ไฟเหลือง 1 int led3 = 3; // ไฟเขียว 1 int led4 = 4; // ไฟแดง 2 int led5 = 5; // ไฟเหลือง 2 int led6 = 6; // ไฟเขียว 2 int led7 = 7; // ไฟแดง 3 int led8 = 8; // ไฟเหลือง 3 int led9 = 9; // ไฟเขียว 3 int led10 = 10; // ไฟแดง 4 int led11 = 11; // ไฟเหลือง 4 int led12 = 12; // ไฟเขียว 4
2. การตั้งค่าเป็นโมฆะ ()เป็นฟังก์ชันที่เราประกาศพินทั้งหมดของบอร์ด Arduino เพื่อใช้เป็น INPUT หรือ OUTPUT อัตราบอดยังถูกตั้งค่าในฟังก์ชันนี้ Baud Rate คือความเร็วในการสื่อสารในหน่วยบิตต่อวินาทีที่บอร์ดไมโครคอนโทรลเลอร์สื่อสารกับอุปกรณ์ภายนอก ฟังก์ชันนี้จะทำงานเพียงครั้งเดียวเมื่อกดปุ่มเปิดใช้งานของบอร์ดไมโครคอนโทรลเลอร์
การตั้งค่าเป็นโมฆะ () {Serial.begin (9600;) // Baud Rate ถูกตั้งค่าเป็น 9600 pinMode (led1, OUTPUT); // พินทั้งหมดที่เชื่อมต่อกับ LED ถูกตั้งค่าเป็น OUTPUT pinMode (led2, OUTPUT); PinMode (led3, เอาท์พุท); PinMode (led4, เอาท์พุท); PinMode (led5, เอาท์พุท); PinMode (led6, เอาท์พุท); PinMode (led7, เอาท์พุท); PinMode (led8, เอาท์พุท); PinMode (led9, เอาท์พุท); PinMode (led10, เอาท์พุท); PinMode (led11, เอาท์พุท); PinMode (led12, เอาท์พุท); }
3. void loop คือฟังก์ชันที่ทำงานซ้ำ ๆ กันในลูป ในฟังก์ชั่นนี้เราจะเขียนโค้ดขั้นตอนทั้งหมดที่ไมโครคอนโทรลเลอร์จะควบคุม LED ภายนอก โค้ดส่วนเล็ก ๆ จะได้รับด้านล่าง ที่นี่ไฟสีเขียวของด้านแรกติดและด้านอื่น ๆ ทั้งหมดมีไฟสีแดง ไฟเหล่านี้จะยังคงอยู่ในสถานะนี้เป็นเวลา 15 วินาที หลังจากผ่านไป 15 วินาทีไฟสีเหลืองของด้านที่หนึ่งและด้านที่สองจะเปิดขึ้นอีกทั้งสองด้านจะมีไฟสีแดงติดอยู่ หลังจากล่าช้าไปสองวินาทีด้านแรกจะมีไฟสีแดงและด้านที่สองจะมีไฟสีเขียวสว่างขึ้น สิ่งนี้จะเกิดขึ้นจนกว่าทั้งสี่ด้านจะมีไฟสีเขียวเปิดอยู่เมื่อเลี้ยวแล้วลูปจะทำซ้ำเอง
digitalWrite (led1, LOW); // ไฟสีแดงด้านแรกดับ digitalWrite (led2, LOW); // ไฟสีเหลือง f ด้านแรกปิด digitalWrite (led3, HIGH); // ไฟเขียวของฝั่งแรกอยู่บน digitalWrite (led4, HIGH); // ไฟสีแดงของด้าน seconf อยู่ที่ digitalWrite (led5, LOW); // ไฟสีเหลืองของด้านที่สองปิด digitalWrite (led6, LOW); // ไฟสีเขียวของด้านที่สองปิด digitalWrite (led7, HIGH); // ไฟสีแดงของด้านที่สามอยู่บน digitalWrite (led8, LOW); // ไฟสีเหลืองของด้านที่สามปิด digitalWrite (led9, LOW); // ไฟสีเขียวของด้านที่สามปิด digitalWrite (led10, HIGH); // ไฟสีแดงของด้านที่สี่อยู่บน digitalWrite (led11, LOW); // ไฟสีเหลืองของด้านที่สี่ปิด digitalWrite (led12, LOW); // ไฟเขียวด้านที่สี่ปิดดีเลย์ (15000); // เนื่องจากความล่าช้า 15 วินาทีไฟสีเขียวของด้านแรกและไฟสีแดงของอีกสามด้านจะยังคงเปิดอยู่เป็นเวลา 15 วินาที digitalWrite (led1, LOW); // ไฟสีแดงด้านแรกปิด digitalWrite (led2, HIGH); // ไฟสีเหลืองของด้านแรกอยู่บน digitalWrite (led3, LOW); // ไฟสีเขียวของด้านแรกปิด digitalWrite (led4, LOW); // ไฟสีแดงของด้านที่สองปิด digitalWrite (led5, HIGH); // ไฟสีเหลืองของด้านที่สองอยู่บน digitalWrite (led6, LOW); // ไฟสีเขียวของด้านที่สองปิด digitalWrite (led7, HIGH); // ไฟสีแดงของด้านที่สามอยู่บน digitalWrite (led8, LOW); // ไฟสีเหลืองของด้านที่สามปิด digitalWrite (led9, LOW); // ไฟสีเขียวของด้านที่สามปิด digitalWrite (led10, HIGH); // ไฟสีแดงของด้านที่สี่อยู่บน digitalWrite (led11, LOW); // ไฟสีเหลืองของด้านที่สี่ปิด digitalWrite (led12, LOW); // ไฟเขียวด้านที่สี่ปิดดีเลย์ (2000); // เนื่องจากความล่าช้า 2 วินาทีไฟสีเหลืองของด้านแรกและด้านข้างจะยังคงเปิดอยู่
นี่คือขั้นตอนทั้งหมดในการสร้างสัญญาณไฟจราจร 4 ทิศทาง ตอนนี้คุณสามารถสนุกกับการทำเพื่อการเรียนรู้หรือโครงการของโรงเรียนได้