สารบัญ:
- ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
- ขั้นตอนที่ 2: ออกแบบวงจรสำหรับเอาต์พุตและอินพุตที่ต้องการ
- ขั้นตอนที่ 3: พัฒนาการเข้ารหัสเพื่อตอบสนองผลลัพธ์ที่ต้องการ
- ขั้นตอนที่ 4: ฟังรถไฟที่วิ่งเข้ามา และมองดูแสงไฟเตือนคุณให้ถอยกลับ
- ขั้นตอนที่ 5: การตั้งค่าขั้นสุดท้าย
วีดีโอ: ให้รถไฟโทมัสขับรถตอนกลางคืนได้: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
คำแนะนำนี้จะสอนวิธีสร้างระบบไฟเพื่อเตือนผู้โดยสารที่รออยู่เมื่อรถไฟกำลังใกล้เข้ามาและวิธีรับข้อความให้ปรากฏบนแล็ปท็อปเมื่อรถไฟอยู่ที่สถานี เสียงเมื่อรถไฟผ่านสถานีจะถูกสร้างขึ้นพร้อมกับชุดไฟ LED ที่กะพริบ ทั้งหมดนี้สามารถทำได้โดยใช้ Raspberry Pi
ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
คอมพิวเตอร์หนึ่งเครื่อง
MatLab 2016 หรือใหม่กว่า
ดาวน์โหลดแพ็คเกจ Raspberry Pi
เครื่องพิมพ์ 3 มิติ
สถานีรถไฟที่พิมพ์ 3 มิติสำหรับใส่ราสเบอร์รี่ pi
Raspberry Pi ที่มีส่วนประกอบดังต่อไปนี้:
เซ็นเซอร์อินฟราเรด 2 ตัว
ไฟ LED 5 ดวง เลือกสีได้
11 สาย
2 ตัวต้านทาน
ตัวต้านทาน 200-300 โอห์ม
USB Chord เพื่อเชื่อมต่อคอมพิวเตอร์กับ Raspberry Pi
ขั้นตอนที่ 2: ออกแบบวงจรสำหรับเอาต์พุตและอินพุตที่ต้องการ
การใช้วงจรพื้นฐาน ไฟและตัวส่งสัญญาณอินฟราเรดและตัวรับสัญญาณควรเชื่อมต่อกับ Raspberry Pi ไฟ LED สีแดงเชื่อมต่อกับกราวด์แล้วเชื่อมต่อกับพิน GPIO 4, 5, 6 และ 7 ตัวรับสัญญาณอินฟราเรดเชื่อมต่อกับ GPIO Pin 21 และตัวปล่อยอินฟราเรดเชื่อมต่อกับพิน 5V
ขั้นตอนที่ 3: พัฒนาการเข้ารหัสเพื่อตอบสนองผลลัพธ์ที่ต้องการ
บรรทัดที่สำคัญที่สุดของรหัสคือบรรทัดที่ 12 และ 16 ซึ่งเปิดกล่องโต้ตอบ บรรทัดที่ 18 คำสั่ง if กำลังอ่านว่าเซ็นเซอร์อินฟราเรดมีสิ่งกีดขวางระหว่างเซ็นเซอร์หรือไม่ และหากมีสิ่งกีดขวาง แสดงว่ารถไฟกำลังวิ่งผ่าน จะมีเสียงแตรและไฟจะเปิดขึ้น หากข้อความเป็นเท็จจะไม่มีอะไรเกิดขึ้นเพราะรถไฟไม่เข้าใกล้
รหัส: %% ส่วนหัว
%ไมโครคอนโทรลเลอร์โปรเจ็กต์-รถไฟกลางคืน
%John Brown, Trent Payne, Karsten Parker;ตอนที่ 9
%3 ตุลาคม 2017
%คำอธิบายโครงการ: ออกแบบไมโครคอนโทรลเลอร์ที่รับสองอินพุตและ
% สร้างสองเอาต์พุตเพื่อช่วยปรับปรุงแง่มุมของการตั้งค่ารถไฟจำลอง
% วิธีการแก้ปัญหา: ใช้ทรัพยากรต่างๆ และ Matlab เพื่อปรับปรุงแง่มุมของ
%การตั้งค่ารถไฟจำลอง
%% ตั้งค่า-อินพุต/เอาต์พุตแรก
ในขณะที่จริง
a=0;%เริ่มต้น a
ในขณะที่ readDigitalPin(rpi, 21) == 1
a=1;%หยุดไม่ให้โค้ดไฟทำงานก่อนโค้ดโต้ตอบคำถาม
คำถาม=('รถไฟจอดที่สถานีคุณต้องการส่งเสียงแตรหรือไม่');
question_title=('แตรรถไฟ');
resp=questdlg(question, question_title, 'yes', 'no', 'no');%ป๊อปอัปกล่องโต้ตอบคำถามที่มีสองตัวเลือกและคำตอบเริ่มต้น
tf=strcmp(resp, 'yes');% เปรียบเทียบความยาวอาร์เรย์อักขระของการตอบสนองต่ออาร์เรย์อักขระใช่
if tf==1%if resp='yes'
[Y, FS]=audioread('train_horn.m4a');%ใช้ไฟล์เสียงและแปลงเป็นข้อมูลตัวอย่าง y และอัตราการสุ่มตัวอย่าง FS
เสียง (Y, FS) คำสั่งเสียง% ใช้ข้อมูลตัวอย่างและอัตราการสุ่มตัวอย่างและสร้างเสียง
msgbox('เสียงแตรรถไฟดังขึ้น!')
หยุดชั่วคราว(2)
หยุดพัก
else%if resp='no', tf จะเป็นตรรกะ 0 เนื่องจาก no และ yes อาร์เรย์ถ่านมีความยาวต่างกัน
msgbox('ไม่มีเสียงแตรรถไฟ!')
หยุดชั่วคราว(2)
หยุดพัก
จบ
จบ
ในขณะที่ readDigitalPin(rpi, 21) == 1 && a==1 % เริ่มต้นในขณะที่วนซ้ำในขณะที่เปิดสวิตช์และกล่องโต้ตอบคำถามทำงาน
ส่วนรหัสแรกนี้เปิดไฟตามลำดับ
เขียนDigitalPin(rpi, 4, 0)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 5, 0)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 6, 0)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 7, 0)
หยุดชั่วคราว(0.25)
ส่วนรหัสที่สองนี้จะปิดไฟตามลำดับ
เขียนDigitalPin(rpi, 4, 1)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 5, 1)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 6, 1)
หยุดชั่วคราว(0.25)
เขียนDigitalPin(rpi, 7, 1)
หยุดชั่วคราว(0.25)
end% end ในขณะที่วนรอบ
จบ
ขั้นตอนที่ 4: ฟังรถไฟที่วิ่งเข้ามา และมองดูแสงไฟเตือนคุณให้ถอยกลับ
เมื่อรถไฟเข้าใกล้และข้ามเซ็นเซอร์อินฟราเรด ไฟจะดับลง โดยส่งเสียงแตรรถไฟเพื่อให้ผู้โดยสารมาถึงเพื่อก้าวออกจากขอบ อย่างไรก็ตาม จะมีกล่องโต้ตอบปรากฏขึ้นเพื่อถามผู้ควบคุมรถไฟว่า "รถไฟกำลังเข้าใกล้สถานี รถไฟกำลังหยุดอยู่หรือไม่" จากนั้นวินาทีจะเขียนว่า "เสียงแตรรถไฟดังขึ้น" และถ้าแตรไม่ดัง ดึงกล่องโต้ตอบที่สามจะพูดว่า "แตรไม่ได้เป่า"
ขั้นตอนที่ 5: การตั้งค่าขั้นสุดท้าย
เพื่อให้โครงการเสร็จสมบูรณ์ ควรรวมทั้งระบบเข้ากับสถานีรถไฟสีน้ำเงินซึ่งพิมพ์ 3 มิติเพื่อความสวยงาม สถานีรถไฟเป็นสัญลักษณ์ของตำแหน่งที่ผู้โดยสารจะไปถึงเมื่อรถไฟมาถึง ตอนนี้พวกเขาจะปลอดภัยด้วยระบบเตือน Night Train
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง