
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

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

- Baord Drivemall / ArduinoMega
- 4 led สีแดง
- 4 ไฟ LED สีเขียว
- 4 led สีเหลือง
- 8 ทรานซิสเตอร์ npn
- ตัวต้านทาน 16 ตัว 220 โอห์ม
- ตัวต้านทาน 8 ตัว 22k โอห์ม
- ตัวต้านทาน 1 ตัว 1k โอห์ม
- สายเคเบิล
- 1 ปุ่ม
ขั้นตอนที่ 2: การเชื่อมต่อ



สัญญาณไฟจราจรถูกควบคุมโดยใช้ทรานซิสเตอร์ PNP สองตัวที่เชื่อมต่อตามแผนภาพใน รูปที่ 2 การทำงานของทรานซิสเตอร์ PNP นั้นง่ายมากเมื่อฐานเชื่อมต่อกับ GND กระแสไฟระหว่างตัวปล่อยและตัวสะสมถูกเปิดใช้งาน
เราใช้ทรานซิสเตอร์เพื่อลดจำนวนพินของบอร์ดที่ต้องใช้ในการเปิดสัญญาณไฟจราจรแต่ละดวง
ดังนั้นหาก BASES ทั้งคู่เป็น VDD ไฟ LED สีแดงจะสว่างขึ้นหรือให้ LED สว่างขึ้น 21 17 14 6
หากเราจ่ายไฟให้กับ BASE ของทรานซิสเตอร์ตัวที่สอง ไฟ LED 3 15 18 19 จะเปิดขึ้น
สุดท้าย หากเราเชื่อมต่อทั้ง BASES กับ GND ไฟ LED 20 16 13 10 จะสว่างขึ้น
การเชื่อมต่อของปุ่มนั้นเป็นความต้านทานแบบคลาสสิกที่เชื่อมต่อกับ GND บนพินหนึ่งของปุ่มและอีกอันหนึ่งกับ VDD
Arduino Pins ที่ลงทะเบียนคือตั้งแต่ 1 ถึง 10
ขั้นตอนที่ 3: เฟิร์มแวร์




สัญญาณไฟจราจรหนึ่งดวงเท่านั้นที่เป็นสีเขียวเป็นระยะ เมื่อกดปุ่มคนเดินถนน ในช่วงเวลาถัดไป สัญญาณไฟจราจรสำหรับคนเดินเท้าจะเปลี่ยนเป็นสีเขียว
เพื่อจัดการการเรียกปุ่มสำหรับคนเดินเท้าโดยไม่ชักช้าในแบบเรียลไทม์ จึงใช้ฟังก์ชันมิลลิวินาที () ซึ่งจะคืนค่าเวลาเป็นมิลลิวินาทีตั้งแต่เปิดเครื่องเพื่อให้ใช้งานได้
ตัวอย่าง
ไม่ได้ลงนามยาว currentMillis = มิลลิวินาที ();.
if (currentMillis - PreviousMillis> 2000 และ bt03 == true และ bbot == false)
{
Serial.println (1);
T1 ();
มิลลิวินาทีก่อนหน้า = ปัจจุบันมิลลิวินาที;
bt1 = จริง;
BT03 = เท็จ;
}
เราโหลดเวลาปัจจุบันที่แต่ละลูปและหากปัจจุบันลบค่าก่อนหน้ามากกว่าเวลาที่เลือกให้ป้อนถ้าจะเปลี่ยนสถานะของสัญญาณไฟจราจรเพื่อเปิดใช้งานตัวแปรบูลีนสำหรับการเปลี่ยนครั้งต่อไปแน่นอนว่าตัวแปรบูลีนตัวแรก เป็นจริงก่อนเข้าลูป
ขั้นตอนที่ 4: การปฏิเสธความรับผิดชอบ
บทช่วยสอนนี้จัดทำขึ้นโดยเป็นส่วนหนึ่งของโครงการ Makerspace for Inclusion ซึ่งได้รับทุนสนับสนุนจากโครงการ Erasmus + ของคณะกรรมาธิการยุโรป
โครงการนี้มีจุดมุ่งหมายเพื่อส่งเสริมรูปแบบการศึกษาที่ไม่เป็นทางการเพื่อส่งเสริมการรวมตัวทางสังคมของคนหนุ่มสาว การศึกษานอกระบบตามที่สามารถพบได้ภายในพื้นที่ของผู้สร้าง
บทช่วยสอนนี้สะท้อนถึงความคิดเห็นของผู้เขียนเท่านั้น และคณะกรรมาธิการยุโรปไม่สามารถรับผิดชอบต่อการใช้งานใด ๆ ที่อาจทำจากข้อมูลที่มีอยู่ในนั้น
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง