Агуулгын хүснэгт:

LifeGuard 2.0: 7 алхам (зурагтай)
LifeGuard 2.0: 7 алхам (зурагтай)

Видео: LifeGuard 2.0: 7 алхам (зурагтай)

Видео: LifeGuard 2.0: 7 алхам (зурагтай)
Видео: Доставили SEAT Alhambra - семейный минивэн из Германии 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 хэрэглэгчид: R2015b -ийг ажиллуулахын тулд танд OSX 10.9.5 ба түүнээс дээш хувилбар байх ёстой, MATLAB -ийн өмнөх хувилбарыг ажиллуулах нь зөв.

2.) Arduino техник хангамжийн багц:

-Arduino Hardware Support Package -ийг суулгана уу. MATLAB -ийг нээнэ үү. MATLAB Home табын Environment цэснээс Add-Ons Hardware Support Packages-ийг сонгоод "Arduino Hardware-д зориулсан MATLAB Support Package" -ийг сонгоно уу. Та MATHWORKS данс руугаа нэвтрэх шаардлагатай болно

-Хэрэв таны суулгалт тасалдаж, техник хангамжийн багцыг суулгах явцад дараалсан амжилтгүй оролдлого/алдаа гарвал хатуу дискнээсээ Arduino татаж авсан фолдерыг устгаад эхнээс нь эхлүүлээрэй.

Шаардлагатай материалууд

1.) Зөөврийн компьютер эсвэл ширээний компьютер

2.) SparkFun Arduino самбар

3.) Flex мэдрэгч

4.) Потенциометр

5.) LCD дэлгэц

6.) LED гэрэл

7.) SparkFun зохион бүтээгчийн иж бүрдэл (Онлайнаар хайх)

8.) USB кабель ба мини USB

9.) Холбогч утас

10.) Piezo дуугаралт

Алхам 2: Arduino -тойгоо холбогдож COM портыг тодорхойлно уу

(Таны залгаас оруулах бүрт таны COM порт өөрчлөгдөж магадгүй) Arduino USB кабелийг компьютерт, мини USB -ийг Arduino самбартаа холбоно уу. Та драйверуудыг татаж авах хүртэл хэдэн минут хүлээх хэрэгтэй болж магадгүй юм.

COM портыг тодорхойлохын тулд:

PC дээр

Арга 1: MATLAB -д тушаалыг ашиглана уу - fopen (цуваа ('nada'))

-комын портыг тодорхойлох. Та иймэрхүү алдаа гаргаж магадгүй: Цуваа/fopen ашиглах алдаа (мөр 72) Нээлт амжилтгүй болсон: Порт: NADA байхгүй байна. Боломжтой портууд: COM3. Энэ алдаа нь таны порт 3 болохыг харуулж байна.

-Хэрэв таны компьютер дээр 1 -р арга амжилтгүй болбол Төхөөрөмжийн менежерээ нээгээд Ports (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 файлыг нээж ажиллуулах хэрэгтэй болж магадгүй. (Та файлыг Explorer -аас нээж, хулганы баруун товчийг дараад 'Администратороор ажиллуулах' хэрэгтэй болно).

-MATLAB командын цонхонд Arduino объект үүсгэнэ - a = arduino ('comx', 'uno'); % x бол таны компьютерийн порт дээрх дугаар юм (өмнөх тэг байхгүй!)

Mac дээр

Арга 1: MATLAB командын мөрөөс эсвэл Mac терминал дээр бичээд 'ls /dev/tty.*' гэж бичнэ үү. Портын дугаар энд * байна.

-Хэрэв 1 -р арга нь таны MAC дээр ажиллахгүй бол танд хэрэгтэй байж магадгүй

-MATLAB -аас гарах

-Arduino програм хангамжийг хааж, Arduino USB кабелийг салга

-Java 6 ажиллуулах хугацааг суулгах

-USB драйверын цөмийн өргөтгөлийг суулгана уу

-Компьютерээ дахин эхлүүлнэ үү

-Arduino USB кабелийг дахин холбоно уу

-MATLAB командын мөр эсвэл Mac терминалаас ажиллуулна уу: 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.) Flex мэдрэгч

2.) Потенциометр

Гаралт:

1.) "Галт тэрэг ирж байна" гэсэн мессеж бүхий LCD дэлгэц

2.) LED гэрэл

3.) Пьезо дохио

Энэ үе шатанд бид Arduino самбараас оруулсан оролтуудад дүн шинжилгээ хийж, MATLAB -ийн шинжилгээний үр дүнд үндэслэн гаралт өгөх кодыг бүтээх болно. Дараах код нь хэд хэдэн функцийг гүйцэтгэх боломжийг танд олгоно. Галт тэрэг илрээгүй тохиолдолд ногоон LED гэрэл асах болно. Уян хатан мэдрэгчийг асаахад шунахай гэрэл унтрах болно, улаан LED асах болно, LCD дээр "Галт тэрэг ирж байна" гэсэн мессеж гарч ирнэ.

MATLAB код:

%remery1, shornsb1, wmurrin

%Зорилго: Галт тэрэгний анхааруулга

%II оролт: потенциометр, уян мэдрэгч

%гаралт: lcd, дуу, гэрэл

%Самбарыг эхлүүлээгүй эсвэл холболтын асуудалтай байгаа бол үүнийг ажиллуулна уу

командын доор командын доор %. Тэднийг тухай бүрт нь гүйцэтгэх шаардлагагүй

%бүгдийг цэвэрлэ

%бүгдийг хаах

%clc

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

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

%Самбарыг холбогдсоны дараа тохируулна уу

configurePin (a, 'D8', 'pullup');%D8 -ийг тохируулна

configurePin (a, 'D9', 'PWM');%D9 -ийг тохируулна

цаг = 50; %-ийг 50 болгож тохируулсан

clearLCD (lcd) %нь LCD дэлгэцийг эхлүүлдэг

%Loop эхлэх

цаг> 0

%Flex мэдрэгчийн хүчдэл нь гэрэл нь ногоон эсвэл гэрэл эсэхийг тодорхойлдог

%нь улаан бөгөөд LCD дэлгэц "галт тэрэг ирж байна"

flex_status = readVoltage (a, 'A0'); уян мэдрэгчийн унших хүчдэл %

хэрэв flex_status> 4 %бол хүчдэл 4 -ээс их байвал гогцоо

writeDigitalPin (a, 'D12', 0) %нь ногооноор унтардаг

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);% Piezo баззер дээр 400 Гц тоглуулах,.25 сек

writeDigitalPin (a, 'D13', 0)%нь улаан LED -ийг унтраана

түр зогсоох (.25)%хүлээх.25 секунд

writeDigitalPin (a, 'D13', 1) %Дээрх давталт, 200 Гц давтамжтай

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: Уян хатан мэдрэгчийг холбох

Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна
Уян хатан мэдрэгчийг холбож байна

Шаардлагатай материалууд

1.) 1 уян хатан мэдрэгч

2.) 1 10K Ом эсэргүүцэл

3.) 8 холбогч утас

*Зургийг тус тусад нь үзнэ үү.

Энэ хэлхээнд бид уян хатан байдлыг хэмжих болно. Уян мэдрэгч нь хуванцар туузан дээрх нүүрстөрөгчийг ашиглан хувьсах резистор шиг ажилладаг боловч эсэргүүцлийг товчлуураар эргүүлэхийн оронд бүрдэл хэсгийг уян хатан өөрчлөх замаар өөрчлөгддөг. Эсэргүүцлийн өөрчлөлтийг илрүүлэх хүчдэл хуваагч. Манай тохиолдолд уян хатан мэдрэгчийг ашиглан "Галт тэрэг ирж байна" гэсэн мессежийг уншихын тулд LCD дэлгэц (зураг харна уу) тушаах галт тэргийг илрүүлэх болно.

*Уян хатан мэдрэгчийг холбох зааврыг харуулсан зурган дээр зөвхөн уян хатан мэдрэгчийг холбосон утаснуудыг харна уу. Servo -ийн утсыг үл тоомсорлоорой.

Утасны тээглүүрийг дараах байдлаар хийнэ.

Алхам 1: POWER хэсгийн Arduino самбар дээр 1 утсыг 5V оролтод, 1 утсыг GND (газардуулга) оролтод залгаарай. 5V утасны нөгөө үзүүрийг хэлхээний самбар дээрх эерэг (+) оролт руу залгаарай. GND утасны нөгөө үзүүрийг хэлхээний самбар дээрх сөрөг (-) оролт руу залгаарай.

Алхам 2: ANALOG IN хэсгийн Arduino самбар дээр A0 оролтыг 1 залгаарай. Утасны үзүүрийг хэлхээний самбар дээрх j20 оролт руу залгаарай.

Алхам 3: DIGITAL I / O хэсгийн Arduino самбар дээр 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.) SparkFun -ийн энэ төхөөрөмжтэй төстэй 16x2 LCD -

2.) Холбогч утас

*Зургийг тус тусад нь үзнэ үү.

Энэ алхам нь LCD нэмэлт номын санг хэрхэн үүсгэж, "Галт тэрэг ирэх" -ийг LCD дэлгэц дээр харуулах болно.

Утасны тээглүүрийг дараах байдлаар хийнэ.

LCD зүү -> Arduino зүү

1 (VSS) -> Газар

2 (VDD) -> 5V

3 (V0) -> Flex Sensor дээрх дунд зүү

4 (RS) -> D7

5 (R/W) -> Газар

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 В.

16 (LED-) -> Газар

Алхам 6: Зөөлөн потенциометрийг холбох

Зөөлөн потенциометрийг холбож байна
Зөөлөн потенциометрийг холбож байна
Зөөлөн потенциометрийг холбож байна
Зөөлөн потенциометрийг холбож байна
Зөөлөн потенциометрийг холбож байна
Зөөлөн потенциометрийг холбож байна

Шаардлагатай материалууд

1.) 1 LED

2.) 1 зөөлөн потенциометр

3.) холбогч утас

4.) 3 330 Ом эсэргүүцэл

5.) 10K Ом эсэргүүцэл

*Зургийг тус тусад нь үзнэ үү.

Энэ хэлхээнд бид өөр төрлийн хувьсах эсэргүүцэл болох зөөлөн потенциометрийг ашиглах гэж байна. Энэ бол нимгэн, уян хатан тууз бөгөөд хаана даралт хийж байгааг илрүүлж чаддаг. Туузны янз бүрийн хэсгүүдийг дарахад эсэргүүцлийг 100 -аас 10 К ом хүртэл өөрчилж болно. Та энэ чадварыг ашиглан потенциометр эсвэл товчлуур дээрх хөдөлгөөнийг хянах боломжтой. Энэ хэлхээнд бид RGB LED -ийг удирдахын тулд зөөлөн потенциометрийг ажиллуулж эхлэх болно.

Алхам 1: DIGITAL I / O хэсгийн Arduino самбар дээр 1 зүүг 10 оролт руу, 1 зүүг 11 оролт руу залгаарай.

Алхам 2: Хэлхээ самбар дээр LED -ийг a4, a5, a6, a7 оролтод залгаарай.

Алхам 3: Хэлхээний самбар дээр 3 330 ом эсэргүүцлийг e4-g4, e6-g6, e7-g7 оролтонд байрлуулна.

Алхам 4: Хэлхээний самбар дээр e5 оролтонд 1 зүү залгаарай. Энэ зүүний нөгөө үзүүрийг сөрөг (-) оролт руу залгаарай.

Алхам 5: Хэлхээний самбар дээр 10K ом эсэргүүцлийг i19 сөрөг (-) оролтонд оруулна.

Алхам 6: Хэлхээний самбар дээр 1 зүүг j18 руу залгаарай. Энэ зүүний нөгөө үзүүрийг эерэг (+) оролт руу залгаарай.

Алхам 7: Хэлхээний самбар дээр j20 оролтонд 1 зүү залгаарай. Энэ зүүний нөгөө үзүүрийг сөрөг (-) оролт руу залгаарай.

Алхам 7: Ухаалаг төмөр замын систем дэх сайжруулалтаа туршиж үзээрэй

Ухаалаг төмөр замын систем дээр сайжруулалтаа туршиж үзээрэй
Ухаалаг төмөр замын систем дээр сайжруулалтаа туршиж үзээрэй
Ухаалаг төмөр замын систем дээр сайжруулалтаа туршиж үзээрэй
Ухаалаг төмөр замын систем дээр сайжруулалтаа туршиж үзээрэй

Энэ үед таны MATLAB код нь ажиллагаатай байх ёстой бөгөөд Arduino самбарыг бүх нэмэлт бүрэлдэхүүн хэсгүүдийн хамт зөв холбох ёстой. Үүнийг баталгаажуулсан Smart Rail System дээр туршиж үзээрэй, таны сайжруулалтууд системийг илүү аюулгүй болгож байгаа эсэхийг үзээрэй.

Зөвлөмж болгож буй: