สารบัญ:

LifeGuard 2.0: 7 ขั้นตอน (พร้อมรูปภาพ)
LifeGuard 2.0: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: LifeGuard 2.0: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: LifeGuard 2.0: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ภาพจาก กล้องวงจรปิด LIFEGUARD HDCVI 2.0 ล้าน 2024, พฤศจิกายน
Anonim
LifeGuard 2.0
LifeGuard 2.0

คุณเคยต้องการคำนวณทางคณิตศาสตร์ การอ่านค่าเซ็นเซอร์ ตรวจสอบอินพุตแบบอนาล็อกและดิจิตอล และควบคุมเอาต์พุตแบบแอนะล็อกและดิจิทัลโดยไม่เคยมีประสบการณ์ด้านอิเล็กทรอนิกส์มาก่อนหรือไม่? ถ้าใช่ โครงการนี้เหมาะสำหรับคุณเท่านั้น! เราจะใช้ไมโครคอนโทรลเลอร์และ MATLAB เพื่อสร้างอุปกรณ์ที่ใช้ตรวจสอบและปรับปรุงระบบ EF Express SMART RAIL ด้วยไมโครคอนโทรลเลอร์ ความเป็นไปได้สำหรับอินพุตและเอาต์พุต (สัญญาณ/ข้อมูลที่เข้าสู่บอร์ดและสัญญาณที่ออกจากบอร์ด) นั้นไม่มีที่สิ้นสุด เราจะใช้เซ็นเซอร์แบบยืดหยุ่นและโพเทนชิออมิเตอร์เป็นอินพุตของเรา เอาต์พุตจะเป็นข้อความผ่านหน้าจอ LCD และไฟ LED พร้อมเสียงกริ่งตามลำดับ การปรับปรุงที่เราหวังว่าจะนำไปใช้กับระบบ SMART RAIL นั้นสัมพันธ์กับการปรับปรุงความปลอดภัยของระบบ หยิบแล็ปท็อปและไมโครคอนโทรลเลอร์ของคุณแล้วมาเริ่มกันเลย!

ขั้นตอนที่ 1: ซอฟต์แวร์และวัสดุ

ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ
ซอฟต์แวร์และวัสดุ

ซอฟต์แวร์ที่จำเป็น

1.) MATLAB

- คุณจะต้องดาวน์โหลด MATLAB เวอร์ชันในเครื่องบนคอมพิวเตอร์ของคุณ ไปที่ mathworks.com และตั้งค่าบัญชี MATHWORKS ดาวน์โหลดไฟล์ และเปิดใช้งานใบอนุญาตของคุณ

-คุณควรดาวน์โหลดและติดตั้งกล่องเครื่องมือที่มีอยู่ทั้งหมดสำหรับรุ่นใหม่ล่าสุด (R2016a หรือ R2016b)

- ผู้ใช้ Mac: คุณต้องมี OSX 10.9.5 หรือใหม่กว่าเพื่อเรียกใช้ R2015b ก็สามารถเรียกใช้ MATLAB เวอร์ชันก่อนหน้าได้

2.) แพ็คเกจสนับสนุนฮาร์ดแวร์ Arduino:

- ติดตั้งแพ็คเกจสนับสนุนฮาร์ดแวร์ Arduino เปิด MATLAB บนแท็บ หน้าแรก MATLAB ในเมนูสภาพแวดล้อม เลือก Add-Ons รับแพ็คเกจการสนับสนุนฮาร์ดแวร์ เลือก "แพ็คเกจการสนับสนุน MATLAB สำหรับฮาร์ดแวร์ Arduino" คุณจะต้องลงชื่อเข้าใช้บัญชี MATHWORKS ของคุณ

- หากการติดตั้งของคุณถูกขัดจังหวะและคุณมีความพยายามหรือข้อผิดพลาดที่ล้มเหลวอย่างต่อเนื่องเมื่อติดตั้งแพ็คเกจฮาร์ดแวร์ - ค้นหาและลบโฟลเดอร์ Arduino ที่ดาวน์โหลดบนฮาร์ดไดรฟ์ของคุณและเริ่มต้นจากจุดเริ่มต้น

วัสดุที่จำเป็น

1.) คอมพิวเตอร์แล็ปท็อปหรือเดสก์ท็อป

2.) บอร์ด Arduino SparkFun

3.) เฟล็กซ์เซนเซอร์

4.) โพเทนชิออมิเตอร์

5.) หน้าจอ LCD

6.)ไฟ LED

7.) SparkFun Inventor's Kit (ค้นหาออนไลน์)

8.) สาย USB และ mini USB

9.) สายจัมเปอร์

10.) Piezo buzzer

ขั้นตอนที่ 2: เชื่อมต่อกับ Arduino ของคุณและกำหนดพอร์ต COM

(พอร์ต COM ของคุณอาจเปลี่ยนแปลงทุกครั้งที่คุณเสียบปลั๊ก) เชื่อมต่อสายเคเบิล Arduino USB เข้ากับคอมพิวเตอร์ของคุณและ mini USB เข้ากับบอร์ด Arduino ของคุณ คุณอาจต้องรอสักครู่เพื่อดาวน์โหลดไดรเวอร์

เพื่อตรวจสอบพอร์ต COM:

บนพีซี

วิธีที่ 1: ใน MATLAB ใช้คำสั่ง - fopen(serial('nada'))

- เพื่อกำหนดพอร์ต com ของคุณ คุณอาจได้รับข้อผิดพลาดเช่นนี้: ข้อผิดพลาดในการใช้ซีเรียล/fopen (บรรทัด 72) เปิดล้มเหลว: พอร์ต: NADA ไม่พร้อมใช้งาน พอร์ตที่ใช้ได้: COM3 ข้อผิดพลาดนี้บ่งชี้ว่าพอร์ตของคุณคือ 3

- หากวิธีที่ 1 ล้มเหลวในพีซีของคุณ ให้เปิดตัวจัดการอุปกรณ์และขยายรายการพอร์ต (COM และ LPT) สังเกตหมายเลขบนพอร์ตอนุกรม USB เช่น. 'USB Serial Port(COM*)' หมายเลขพอร์ตคือ * ที่นี่

- หากไม่มีพอร์ตปรากฏขึ้น ให้ปิด MATLAB แล้วรีสตาร์ทคอมพิวเตอร์ เปิด MATLAB แล้วลอง fopen(serial('nada')) อีกครั้ง

- หากล้มเหลว คุณอาจต้องดาวน์โหลดไดรเวอร์ของ SparkFun จากไฟล์ CDM_v2.12.00_WHQL_Certified.exe เปิดและเรียกใช้ไฟล์ CDM_v2.12.00_WHQL_Certified.exe แล้วเลือก Extract (คุณอาจต้องเปิดไฟล์จาก explorer คลิกขวาและ 'เรียกใช้ในฐานะผู้ดูแลระบบ')

- ในหน้าต่างคำสั่ง MATLAB ให้สร้างวัตถุ Arduino - a=arduino('comx', 'uno'); % x คือหมายเลขพอร์ตของคุณจากด้านบนสำหรับพีซี (ไม่มีเลขศูนย์นำหน้า!)

บน Mac

วิธีที่ 1: จากบรรทัดคำสั่ง MATLAB หรือใน Mac Terminal และพิมพ์: 'ls /dev/tty.*' โปรดสังเกตหมายเลขพอร์ตที่แสดงสำหรับ dev/tty.usbmodem* หรือ dev/tty.usbserial* หมายเลขพอร์ตคือ * ที่นี่

- ถ้าวิธีที่ 1 ล้มเหลวบน MAC ของคุณ คุณอาจต้อง

- ออกจาก MATLAB

- ปิดซอฟต์แวร์ Arduino และถอดสาย USB ของ Arduino

- ติดตั้ง Java 6 Runtime

-ติดตั้งส่วนขยายเคอร์เนลไดรเวอร์ USB

- รีสตาร์ทเครื่องคอมพิวเตอร์ของคุณ

- ต่อสาย USB Arduino อีกครั้ง

- เรียกใช้จากบรรทัดคำสั่ง MATLAB หรือ Mac Terminal: ls /dev/tty.*

- สังเกตหมายเลขพอร์ตที่ระบุไว้สำหรับ dev/tty.usbmodem* หรือ dev/tty.usbserial* หมายเลขพอร์ตคือ * ที่นี่

- ในหน้าต่างคำสั่ง MATLAB ให้สร้างวัตถุ Arduino - a=arduino('/dev/tty.usbserial*', 'uno'); % * คือหมายเลขพอร์ตของคุณจากด้านบนสำหรับ MAC หรือ '/dev/tty.usbmodem*'

ขั้นตอนที่ 3: รหัส Matlab

รหัส Matlab
รหัส Matlab
รหัส Matlab
รหัส Matlab

อินพุต:

1.) เฟล็กซ์เซนเซอร์

2.) โพเทนชิออมิเตอร์

ผลลัพธ์:

1.) หน้าจอ LCD พร้อมข้อความว่า "Train Coming"

2.) ไฟ LED

3.) ออด Piezo

ในขั้นตอนนี้ เราจะสร้างโค้ดที่จะวิเคราะห์อินพุตจากบอร์ด Arduino และให้เอาต์พุตตามผลการวิเคราะห์ของ MATLAB รหัสต่อไปนี้จะช่วยให้คุณสามารถทำหน้าที่ต่างๆ ได้: เมื่อโพเทนชิออมิเตอร์ทำงาน ออดเซอร์จะปล่อยความถี่สลับและไฟ LED สีแดงจะกะพริบ เมื่อตรวจไม่พบรถไฟ ไฟ LED สีเขียวจะสว่างขึ้น เมื่อ Flex Sensor ทำงาน ไฟ LED แสดงความโลภจะดับลง ไฟ LED สีแดงจะสว่างขึ้น และจอ LCD จะแสดงข้อความว่า "Train Coming"

รหัส MATLAB:

%remy1, shornsb1, wmurrin

วัตถุประสงค์: คำเตือนรถไฟ

%IInput:โพเทนชิออมิเตอร์, เซ็นเซอร์แบบยืดหยุ่น

%output:lcd, เสียง, แสง

%หากบอร์ดไม่ได้เริ่มต้นหรือมีปัญหาในการเชื่อมต่อ ให้ดำเนินการ

% ด้านล่างคำสั่งในความคิดเห็น ไม่จำเป็นต้องถูกประหารชีวิตทุกครั้ง

%ลบทั้งหมด

%ปิดทั้งหมด

%clc

%a=arduino('/dev/tty.usbserial-DN01DXOM', 'uno');

%lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

%กำหนดค่าบอร์ดเมื่อเชื่อมต่อแล้ว

configurationPin(a, 'D8', 'pullup');% กำหนดค่า D8

กำหนดค่าพิน (a, 'D9', 'PWM');% กำหนดค่า D9

เวลา=50; % ตั้งเวลาเป็น 50

clearLCD(lcd) % เริ่มต้น LCD

%เริ่มวนรอบ

ในขณะที่เวลา>0

%Flex เซ็นเซอร์แรงดันไฟกำหนดว่าแสงเป็นสีเขียวหรือว่าแสง

% เป็นสีแดงและ LCD แสดง "รถไฟกำลังมา"

flex_status = readVoltage (a, 'A0'); % อ่านแรงดันไฟฟ้าของเซ็นเซอร์แบบยืดหยุ่น

ถ้า flex_status>4% ถ้าแรงดันไฟฟ้ามากกว่า 4 ทริกเกอร์ลูป

writeDigitalPin(a, 'D12', 0) %turn off green

writeDigitalPin(a, 'D11', 1) % เปิดสีแดง

printLCD(lcd, 'Train Coming') % แสดง "รถไฟกำลังมา" บน LCD

หยุดชั่วคราว(5) %รอ 5 วินาที

clearLCD(lcd) %ล้างข้อความจาก LCD

writeDigitalPin(a, 'D11', 0) %ปิดไฟ LED สีแดง

อื่น

จบ

pe_status = readVoltage (a, 'A2'); % อ่านแรงดันโพเทนชิออมิเตอร์

ถ้า pe_status>2% ถ้าแรงดันไฟฟ้ามากกว่า 2 ทริกเกอร์ลูป

writeDigitalPin(a, 'D13', 1);% เปิด LED สีแดง

playTone(a, 'D9', 400,.25);% เล่น 400Hz บน Piezo buzzer,.25 วินาที

writeDigitalPin(a, 'D13', 0)% ปิด LED สีแดง

หยุดชั่วคราว(.25)%รอ.25 วินาที

writeDigitalPin(a, 'D13', 1) % ทำซ้ำด้านบนพร้อมเสียงกริ่งที่ 200Hz

playTone (a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1);%ทำซ้ำด้านบน

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1) % ทำซ้ำด้านบน

playTone (a, 'D9', 400,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1)

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1) % ทำซ้ำด้านบน

playTone (a, 'D9', 400,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

writeDigitalPin(a, 'D13', 1)

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

หยุดชั่วคราว (.25)

อื่น

writeDigitalPin(a, 'D12', 1)% ถ้าแรงดันไฟฟ้าน้อยกว่า 2 ให้เปิด LED สีเขียว

writeDigitalPin(a, 'D13', 0)% การเปลี่ยน LED สีแดง

จบ

จบ

ขั้นตอนที่ 4: การเดินสายไฟ Flex Sensor

การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor
การเดินสายไฟ Flex Sensor

วัสดุที่จำเป็น

1.) 1 เซนเซอร์แบบยืดหยุ่น

2.) 1 10K โอห์มต้านทาน

3.) 8 สายจัมเปอร์

*อ้างอิงรูปภาพตามลำดับ

ในวงจรนี้ เราจะทำการวัดค่าเฟล็กซ์ เซ็นเซอร์แบบยืดหยุ่นใช้คาร์บอนบนแถบพลาสติกเพื่อทำหน้าที่เหมือนตัวต้านทานแบบปรับค่าได้ แต่แทนที่จะเปลี่ยนความต้านทานโดยการหมุนลูกบิด คุณจะเปลี่ยนโดยการงอส่วนประกอบ ตัวแบ่งแรงดันไฟฟ้าเพื่อตรวจจับการเปลี่ยนแปลงของความต้านทาน ในกรณีของเราจะใช้เซ็นเซอร์แบบยืดหยุ่นเพื่อตรวจจับรถไฟที่วิ่งผ่านเพื่อสั่งหน้าจอ LCD (ดูรูป) เพื่ออ่านข้อความว่า "รถไฟกำลังมา"

*ในภาพแสดงคำแนะนำในการเดินสาย Flex Sensor ให้อ้างอิงเฉพาะสายไฟที่สัมพันธ์กับการเดินสาย Flex Sensor ละเว้นการเดินสายไฟสำหรับเซอร์โว

หมุดลวดดังนี้:

ขั้นตอนที่ 1: บนบอร์ด Arduino ในส่วน POWER เสียบ 1 สายเข้ากับอินพุต 5V และ 1 สายเข้ากับอินพุต GND (กราวด์) เสียบปลายอีกด้านของสาย 5V เข้ากับอินพุตบวก (+) บนแผงวงจร เสียบปลายอีกด้านของสาย GND เข้ากับอินพุตลบ (-) บนแผงวงจร

ขั้นตอนที่ 2: บนบอร์ด Arduino ในส่วน ANALOG IN ให้เสียบ 1 ในอินพุต A0 เสียบปลายสายนั้นเข้ากับอินพุต j20 บนแผงวงจร

ขั้นตอนที่ 3: บนบอร์ด Arduino ในส่วน DIGITAL I\O เสียบสาย 1 เส้นเข้ากับอินพุต 9 เสียบปลายอีกด้านหนึ่งเข้ากับอินพุต a3

ขั้นตอนที่ 4: บนแผงวงจร เสียบสาย 1 เส้นเข้ากับอินพุตบวก (+) เสียบปลายอีกด้านหนึ่งเข้ากับอินพุต h24

ขั้นตอนที่ 5: บนแผงวงจร เสียบสาย 1 เส้นเข้ากับอินพุตลบ (+) เสียบปลายอีกด้านหนึ่งเข้ากับอินพุต a2

ขั้นตอนที่ 6: บนแผงวงจร เสียบสาย 1 เส้นเข้ากับอินพุตลบ (-) เสียบปลายอีกด้านหนึ่งเข้ากับอินพุต b1

ขั้นตอนที่ 7: บนแผงวงจร เสียบสาย 1 เส้นเข้ากับอินพุตลบ (-) เสียบปลายอีกด้านหนึ่งเข้ากับอินพุต i19

ขั้นตอนที่ 8: บนแผงวงจร วางตัวต้านทานในอินพุต i20 และ i24

*ภาพสุดท้ายอ้างอิงการใช้งานจริง

ขั้นตอนที่ 5: เชื่อมต่อ Arduino กับ LCD

เชื่อมต่อ Arduino กับ LCD
เชื่อมต่อ Arduino กับ LCD
เชื่อมต่อ Arduino กับ LCD
เชื่อมต่อ Arduino กับ LCD
เชื่อมต่อ Arduino กับ LCD
เชื่อมต่อ Arduino กับ LCD

*ตามลิงค์นี้ (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) จากนั้นอ้างอิงขั้นตอนที่ฉันให้ไว้ด้านล่างเพื่อเชื่อมต่อ LCD กับ Arduino:

ขั้นตอนที่ 1: เปิดไฟล์ zip

ขั้นตอนที่ 2: เปิดไฟล์ ReadMe และทำตามคำแนะนำ

วัสดุที่จำเป็น

1.) 16x2 LCD คล้ายกับอุปกรณ์นี้จาก SparkFun -

2.) สายจัมเปอร์

*อ้างอิงรูปภาพตามลำดับ

ขั้นตอนนี้จะแสดงวิธีการสร้างไลบรารีส่วนเสริม LCD และแสดง "Train Coming" บน LCD

หมุดลวดดังนี้:

ขา LCD -> ขา Arduino

1 (VSS) -> กราวด์

2 (VDD) -> 5V

3 (V0) -> พินกลางบน Flex Sensor

4 (อาร์เอส) -> D7

5(R/W) -> กราวด์

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> กราวด์

ขั้นตอนที่ 6: การเชื่อมต่อโพเทนชิโอมิเตอร์แบบอ่อน

การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน
การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน
การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน
การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน
การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน
การเชื่อมต่อโพเทนชิออมิเตอร์แบบอ่อน

วัสดุที่จำเป็น

1.) 1 LED

2.) 1 โพเทนชิออมิเตอร์แบบอ่อน

3.) สายจัมเปอร์

4.) ตัวต้านทาน 3 330 โอห์ม

5.) ตัวต้านทาน 10K โอห์ม

* อ้างอิงรูปภาพตามลำดับ

ในวงจรนี้ เราจะใช้ตัวต้านทานผันแปรชนิดอื่น โพเทนชิออมิเตอร์แบบอ่อน เป็นแถบที่บางและยืดหยุ่นได้ซึ่งสามารถตรวจจับตำแหน่งที่กดได้ เมื่อกดลงบนส่วนต่างๆ ของแถบ คุณจะเปลี่ยนความต้านทานได้ตั้งแต่ 100 ถึง 10 K ohms คุณสามารถใช้ความสามารถนี้เพื่อติดตามการเคลื่อนไหวบนโพเทนชิออมิเตอร์หรือเป็นปุ่ม ในวงจรนี้ เราจะนำโพเทนชิออมิเตอร์แบบอ่อนและทำงานเพื่อควบคุม RGB LED

ขั้นตอนที่ 1: บนบอร์ด Arduino ในส่วน DIGITAL I\O เสียบ 1 พินเข้ากับอินพุต 10 และ 1 พินเข้ากับอินพุต 11 ตามลำดับ เสียบปลายอีกด้านของพินเหล่านั้นเข้ากับอินพุต h6 และ h7

ขั้นตอนที่ 2: บนแผงวงจร เสียบ LED เข้ากับอินพุต a4, a5, a6 และ a7

ขั้นตอนที่ 3: บนแผงวงจร ให้วางตัวต้านทาน 3 330 โอห์มในอินพุต e4-g4, e6-g6 และ e7-g7

ขั้นตอนที่ 4: บนแผงวงจร เสียบ 1 พินเข้ากับอินพุต e5 เสียบปลายอีกด้านของพินนั้นเข้ากับอินพุตลบ (-)

ขั้นตอนที่ 5: บนแผงวงจร วางตัวต้านทาน 10K ohm ลงในอินพุต i19-negative(-)

ขั้นตอนที่ 6: บนแผงวงจร เสียบ 1 พินเข้ากับ j18 เสียบปลายอีกด้านของพินนั้นเข้ากับอินพุตบวก (+)

ขั้นตอนที่ 7: บนแผงวงจร เสียบ 1 พินเข้ากับอินพุต j20 เสียบปลายอีกด้านของพินนั้นเข้ากับอินพุตลบ (-)

ขั้นตอนที่ 7: ทดสอบการเพิ่มประสิทธิภาพของคุณบนระบบรางอัจฉริยะ

ทดสอบการเพิ่มประสิทธิภาพของคุณบนระบบรางอัจฉริยะ
ทดสอบการเพิ่มประสิทธิภาพของคุณบนระบบรางอัจฉริยะ
ทดสอบการเพิ่มประสิทธิภาพของคุณบนระบบรางอัจฉริยะ
ทดสอบการเพิ่มประสิทธิภาพของคุณบนระบบรางอัจฉริยะ

ณ จุดนี้โค้ด MATLAB ของคุณควรใช้งานได้และบอร์ด Arduino ควรเชื่อมต่ออย่างถูกต้องพร้อมกับส่วนประกอบที่เพิ่มเข้ามาทั้งหมด ลองใช้ระบบ Smart Rail ที่ผ่านการรับรอง และดูว่าการปรับปรุงของคุณทำให้ระบบปลอดภัยยิ่งขึ้นหรือไม่

แนะนำ: