สารบัญ:
- ขั้นตอนที่ 1: วัสดุและวัสดุสิ้นเปลือง
- ขั้นตอนที่ 2: การตั้งค่าบอร์ด
- ขั้นตอนที่ 3: การเขียนโค้ด
- ขั้นตอนที่ 4: คัดลอกรหัส
- ขั้นตอนที่ 5: ผลลัพธ์
วีดีโอ: เครื่องตรวจจับอุณหภูมิทางรถไฟในทะเลทรายและเคาน์เตอร์ผู้โดยสาร: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
วัตถุประสงค์:
อุณหภูมิ: คำแนะนำนี้จะสอนวิธีตั้งค่าและตั้งโปรแกรม Arduino RedBoard (โดยใช้ MATLAB) เพื่อตรวจจับอุณหภูมิของทางรถไฟ เมื่อถึงอุณหภูมิที่ไม่ปลอดภัยสำหรับผู้โดยสาร ข้อความเตือนจะดังขึ้น เสียงกริ่งดังขึ้น และสัญญาณเตือนจะสว่างขึ้น
เคาน์เตอร์ผู้โดยสาร: ส่วนนี้จะสอนวิธีใช้ปุ่มเพื่อนับจำนวนผู้โดยสารและส่งเสียงเตือนเมื่อถึงความจุสูงสุด
คุณสมบัติ:
- ใช้ปุ่มนับจำนวนผู้โดยสารที่ขึ้นรถไฟ
- ใช้ TMP36 (เซ็นเซอร์อุณหภูมิ) เพื่อตรวจจับอุณหภูมิของรางรถไฟ
- ใช้ไฟ LED สีแดงเตือนสถานีรถไฟ
- ใช้ออดส่งเสียงปลุก
- ส่งอีเมลแจ้งเตือนพร้อมพล็อตอุณหภูมิเทียบกับเวลา
- ข้อความเตือนป๊อปอัปบน MATLAB
ขั้นตอนที่ 1: วัสดุและวัสดุสิ้นเปลือง
- 1 แล็ปท็อป
- MATLAB 2017
- ดาวน์โหลดกล่องเครื่องมือ Arduino
- Sparkfun RedBoard
- สายไฟ 1 เส้น
- เขียงหั่นขนม
- 14 สาย
- 1 Piezo Buzzer
- 1 ปุ่มกด
- ตัวต้านทาน 2 10k ohm
- 1 TMP36 เซ็นเซอร์
- ไฟ LED สีแดง
- ป้ายพิมพ์ 3 มิติ (ไม่จำเป็น)
ขั้นตอนที่ 2: การตั้งค่าบอร์ด
ทำตามการตั้งค่าด้านบน
ขั้นตอนที่ 3: การเขียนโค้ด
ในขณะที่วนรอบ: เพื่อให้แน่ใจว่าโค้ดยังคงทดสอบอุณหภูมิและสัมผัสสถานะของปุ่ม (กดหรือไม่ได้กด) เราวางโค้ดในลูป while สำหรับช่วงเวลาที่ระบุ
การใช้ TMP36: เรากำหนดอุณหภูมิโดยการอ่านแรงดันไฟฟ้าและแปลงเป็นองศาฟาเรนไฮต์ โดยใช้ปัจจัยการแปลง จากนั้นเราใช้คำสั่ง if เพื่อเล่นเสียงและเสียง/ส่งการแจ้งเตือนหากอุณหภูมิมากกว่าหรือเท่ากับอุณหภูมิสูงสุดที่ตั้งไว้
การใช้ปุ่ม: ด้วยคำสั่ง if เราสามารถทดสอบว่ามีการกดปุ่มโดยใช้ readDigitalPin หรือไม่ คำสั่งนี้จะส่งคืนบูลีน (1 หรือ 0) หากการตอบกลับเป็น 0 แสดงว่ามีการกดปุ่มและตัวนับผู้โดยสารจะเพิ่มขึ้นและแสดงข้อความต้อนรับ จากนั้นเมื่อถึงความจุสูงสุด จะมีข้อความเตือนดังขึ้น
ขั้นตอนที่ 4: คัดลอกรหัส
%อินพุต: กดปุ่ม, เซ็นเซอร์อุณหภูมิ
%เอาต์พุต: ไฟ, ออด, เสียงเตือน, อีเมล, กราฟ
วัตถุประสงค์: ผลิตภัณฑ์นี้ได้รับการออกแบบมาเพื่อช่วยให้มั่นใจในความปลอดภัยและความสะดวกสบายของผู้โดยสารที่เดินทางโดยรถไฟผ่านทะเลทราย
%การใช้งาน: ตรวจจับจำนวนผู้โดยสารโดยใช้ปุ่มกด และ %ตรวจจับความร้อนโดยใช้เซ็นเซอร์อุณหภูมิ และทำกราฟและส่งทั้ง %หมายเลขผู้โดยสารและกราฟอุณหภูมิไปยังสถานีรถไฟ
กำหนดค่าพิน (a, 'D2', 'pullup'); % ในรุ่นต่อๆ ไป ใช้ configurationPin
เวลา = 200;
อี=0;
x=0
ในขณะที่เวลา > 0
button_status = readDigitalPin (a, 'D2'); % เท่ากับศูนย์เมื่อกดปุ่ม ไม่เช่นนั้นจะเท่ากับ 1
แรงดันไฟฟ้า = readVoltage(a, 'A0');%pin ขึ้นอยู่กับตำแหน่งที่เราวางไว้
tempCelcius = (แรงดัน*100)-50; % ระบุไว้ในคู่มือเซ็นเซอร์
tempF(time) = (tempCelcius*1.8)+32 % สูตรการแปลงที่ทราบ
สูงสุด = 120; % องศา F
writeDigitalPin(a, 'D11', 1);
rem=mod(e, 2);
ถ้า tempF(time)>=max
writeDigitalPin(a, 'D11', 0);
writeDigitalPin(a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
หยุดชั่วคราว(.5)
writeDigitalPin(a, 'D6', 1)
playTone (a, 'D6', 1000,.5)
หยุดชั่วคราว(.5)
writeDigitalPin(a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
หยุดชั่วคราว(.5)
writeDigitalPin(a, 'D6', 1)
playTone(a, 'D6', 1000,.5) % เล่น "ไซเรน"
z='ร้อนมากเกินไป.m4a'; %สิ่งนี้ทำให้ไฟล์เสียงเป็นตัวแปร
[ข้อมูล, ความถี่]=การอ่านเสียง(z); %โหลดข้อมูลจากไฟล์เสียง
o=audioplayer(ข้อมูล, ความถี่); %สร้างวัตถุเพื่อควบคุมการเล่นไฟล์เสียง
o.play() % เล่นไฟล์เสียง
o.playblocking() %Plays file และรอให้มันเสร็จสิ้น
จบ
ถ้า button_status == 0 && rem==0
e=e+1
msgbox('ยินดีต้อนรับสู่!');
elseif button_status == 0 && rem==1
e=e+1
msgbox('Bienvenido a bordo!');
จบ
ถ้า e==5
writeDigitalPin(a, 'D11', 0);
ถ้า x==0
playTone(a, 'D6', 600, 1);
s='Warning_EF.m4a'; %สิ่งนี้ทำให้ไฟล์เสียงเป็นตัวแปร
[ข้อมูล, ความถี่]=การอ่านเสียง; %โหลดข้อมูลจากไฟล์เสียง
o=audioplayer(ข้อมูล, ความถี่); %สร้างวัตถุเพื่อควบคุมการเล่นไฟล์เสียง
% o.play() % เล่นไฟล์เสียง
o.playblocking() %Plays file และรอให้มันเสร็จสิ้น
msgbox('ความจุสูงสุด')
x=x+1
จบ
elseif e>=6
playTone (a, 'D6', 2400, 0);
จบ
เวลา = เวลา - 1;
% หยุดชั่วคราว (0.1);
% ถ้า e==5 && max(tempF)>=120
% เวลา=0
% จบ
จบ
ee=num2str(จ)
t=[1:200];
tempF2=fliplr(tempF);
พล็อต(t, tempF2);
title('เวลาเทียบกับอุณหภูมิ')
ylabel('อุณหภูมิ(F)')
xlabel('เวลา')
saveas(gcf, 'tempplot.jpg')
mail= '[email protected]'
รหัสผ่าน='Srsora123#'
host='smtp.gmail.com'
setpref('อินเทอร์เน็ต', 'SMTP_Server', โฮสต์);
setpref('อินเทอร์เน็ต', 'อีเมล', อีเมล);
setpref('อินเทอร์เน็ต', 'SMTP_Username', เมล);
setpref('อินเทอร์เน็ต', 'SMTP_Password', รหัสผ่าน);
อุปกรณ์ประกอบฉาก = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port', '465');
sendmail(mail, 'สวัสดีสถานีรถไฟ! มีผู้โดยสารจำนวนมากในรถไฟ', ee, 'tempplot.jpg')
ขั้นตอนที่ 5: ผลลัพธ์
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง