Мазмұны:

LifeGuard 2.0: 7 қадам (суреттермен)
LifeGuard 2.0: 7 қадам (суреттермен)

Бейне: LifeGuard 2.0: 7 қадам (суреттермен)

Бейне: LifeGuard 2.0: 7 қадам (суреттермен)
Бейне: LIFEGUARDS IN DANGER! Can The Lifeguards SAVE & RESCUE The Other Lifeguards!? Baywatch 2024, Шілде
Anonim
LifeGuard 2.0
LifeGuard 2.0

Сіз математикалық операцияларды орындауды, сенсорлық көрсеткіштерді алуды, аналогты және цифрлық кірістерді бақылауды, электроникада бұрын тәжірибесі жоқ аналогты және цифрлық шығуларды басқаруды қалайсыз ба? Егер иә, бұл жоба сізге арналған! Біз микроконтроллер мен MATLAB көмегімен EF Express SMART RAIL жүйесін бақылауға және жақсартуға болатын құрылғыны жасаймыз. Микроконтроллердің көмегімен кіру мен шығудың мүмкіндіктері (сигнал/ақпарат тақтаға және тақтадан шығатын сигнал) шексіз. Біз кіріс ретінде икемді сенсор мен потенциометрді қолданатын боламыз. Олардың нәтижелері СКД экраны мен светодиодты шамдар, сонымен қатар дыбыстық сигнал арқылы хабар болады. Біз SMART RAIL жүйесіне енгізетін жақсартулар жүйенің қауіпсіздігін жақсартуға қатысты. Ноутбук пен микроконтроллерді алыңыз, бастайық!

1 -қадам: Бағдарламалық қамтамасыз ету мен материалдар

Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар
Бағдарламалық қамтамасыз ету мен материалдар

Қажетті бағдарламалық қамтамасыз ету

1.) MATLAB

- Сізге MATLAB -тың жергілікті нұсқасын компьютерден жүктеу қажет болады. Mathworks.com сайтына өтіп, MATHWORKS есептік жазбасын орнатыңыз, файлдарды жүктеңіз және лицензияны белсендіріңіз.

-Сіз ең жаңа шығарылымға (R2016a немесе R2016b) БАРЛЫҚ қол жетімді құралдар қорабын жүктеп алып, орнатуыңыз керек.

-Mac пайдаланушылары: R2015b іске қосу үшін OSX 10.9.5 немесе одан кейінгі нұсқасы болуы керек, MATLAB -тың бұрынғы нұсқасын іске қосу дұрыс.

2.) Arduino аппараттық қолдау пакеті:

-Arduino аппараттық қолдау пакетін орнатыңыз. MATLAB ашыңыз. MATLAB Басты қойындысындағы Қоршаған орта мәзірінде қондырмаларды таңдаңыз Аппараттық қолдау пакеттерін алу «Arduino жабдықтарына арналған MATLAB қолдау пакетін» таңдаңыз. Сізге MATHWORKS есептік жазбасына кіру қажет болады

- Егер сіздің қондырғыңыз үзіліп қалса және сізде аппараттық пакетті орнатуда сәтсіз әрекеттер/қателер болса - қатты дискіден Arduino жүктелген қалтаны тауып, жойыңыз және басынан бастаңыз.

Қажетті материалдар

1.) Ноутбук немесе жұмыс үстелі

2.) SparkFun Arduino тақтасы

3.) Иілгіш сенсор

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

5.) СКД экраны

6.) жарықдиодты шам

7.) SparkFun өнертапқыштар жинағы (Интернеттен табыңыз)

8.) USB кабелі мен шағын USB

9.) Өткізгіш сымдар

10.) Пьезо дыбысы

2 -қадам: Arduino -ға қосылыңыз және COM портын анықтаңыз

(Қосылған сайын сіздің COM портыңыз өзгеруі мүмкін) Arduino USB кабелін компьютерге, ал шағын USB құрылғысын Arduino тақтасына қосыңыз. Драйверлердің жүктелуін бірнеше минут күту қажет болуы мүмкін.

COM портын анықтау үшін:

Компьютерде

1 -әдіс: MATLAB -те - fopen (сериялық ('nada')) пәрменін қолданыңыз

-сіздің портты анықтау. Сіз келесідей қате аласыз: Сериялық/ашуды пайдалану қатесі (72 -жол) Ашылмады: Порт: NADA қол жетімді емес. Қол жетімді порттар: COM3. Бұл қате сіздің порт 3 екенін көрсетеді.

-Егер компьютерде 1 -әдіс сәтсіз болса, құрылғы менеджерін ашып, порттар (COM және LPT) тізімін кеңейтіңіз. USB сериялық портындағы нөмірге назар аударыңыз. мысалы 'USB сериялық порты (COM *)' Бұл жерде порт нөмірі *.

-Егер порт көрсетілмесе, MATLAB жабыңыз және компьютерді қайта іске қосыңыз. MATLAB ашыңыз және fopen (serial ('nada')) әрекетін қайталап көріңіз.

-Егер бұл сәтсіз болса, сізге SparkFun драйверлерін CDM_v2.12.00_WHQL_Certified.exe файлынан жүктеу қажет болуы мүмкін, CDM_v2.12.00_WHQL_Certified.exe файлын ашып, іске қосыңыз және Шығаруды таңдаңыз. (Файлды шолғыштан ашу қажет болуы мүмкін, тінтуірдің оң жақ түймешігімен нұқыңыз және «Әкімші ретінде іске қосу»).

-MATLAB командалық терезесінде Arduino объектісін құрыңыз - a = arduino ('comx', 'uno'); % x - бұл сіздің дербес компьютерлер үшін порт нөмірі (нөлдер жоқ!)

Mac жүйесінде

1 -әдіс: MATLAB пәрмен жолынан немесе Mac терминалында: 'ls /dev/tty.*' деп теріңіз, dev/tty.usbmodem*немесе dev/tty.usbserial*үшін көрсетілген порт нөміріне назар аударыңыз. Бұл жерде порт нөмірі *.

-Егер 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.) Иілгіш сенсор

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

Шығу:

1.) «Поезд келе жатыр» деген жазуы бар СКД экраны

2.) жарықдиодты шам

3.) Пьезо дыбысы

Бұл қадамда біз Arduino тақтасының кірістерін талдайтын және MATLAB талдауының нәтижелері бойынша шығуды қамтамасыз ететін кодты құрамыз. Келесі код бірнеше функцияларды орындауға мүмкіндік береді: потенциометр іске қосылғанда, пьезо -дыбыстық сигнал ауыспалы жиіліктерді шығарады және қызыл жарық диоды жыпылықтайды. Пойыз табылмаса, жасыл жарық диоды жанады. Иілгіш сенсор іске қосылған кезде ашкөздік жарық диоды сөнеді, қызыл жарық диоды жанады және СКД «Поезд келе жатыр» деген хабарды көрсетеді.

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) %СКД инициализациялайды

%Циклды бастау

уақыт> 0

%Flex сенсорының кернеуі жарықтың жасыл екенін немесе жарық екенін анықтайды

%қызыл және LCD дисплейі «пойыз келе жатыр»

flex_status = readVoltage (a, 'A0'); %иілгіш сенсордың оқу кернеуі

егер flex_status> 4 %, егер кернеу 4 -тен жоғары болса, триггерлік цикл

writeDigitalPin (a, 'D12', 0) %жасыл түспен өшеді

writeDigitalPin (a, 'D11', 1) %қызыл түске қосылады

printLCD (lcd, 'Train Coming') %СКД -де «келе жатқан пойызды» %көрсетеді

кідірту (5) %5 секунд күтіңіз

clearLCD (lcd) %СКД -ден хабарды өшіру

writeDigitalPin (a, 'D11', 0) %Қызыл жарық диодты өшіріңіз

басқа

Соңы

pe_status = readVoltage (a, 'A2'); %Потенциометрдің кернеуін оқу

егер pe_status> 2 %, егер кернеу 2 -ден үлкен болса, триггерлік цикл

writeDigitalPin (a, 'D13', 1);%қызыл жарықдиодты қосады

playTone (a, 'D9', 400,.25);% Piezo сигналында 400 Гц ойнау,.25 сек

writeDigitalPin (a, 'D13', 0)%қызыл жарықдиодты өшіреді

кідірту (.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 -ден төмен болса, жасыл жарықдиодты қосыңыз

writeDigitalPin (a, 'D13', 0)%қызыл жарықдиодты бұру

Соңы

Соңы

4 -қадам: Flex сенсорының сымын қосу

Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары
Flex сенсорының сымдары

Қажетті материалдар

1.) 1 икемді сенсор

2.) 1 10К Ом резисторы

3.) 8 өтпелі сымдар

*Сәйкесінше суреттерді қараңыз.

Бұл тізбекте біз икемділікті өлшейміз. Иілгіш сенсор пластмасса жолағындағы көміртекті айнымалы резистор ретінде әрекет ету үшін пайдаланады, бірақ қарсылықты тұтқаны бұру арқылы өзгертудің орнына, сіз компонентті иілу арқылы өзгересіз. Қарсылықтың өзгеруін анықтау үшін кернеу бөлгіш. Біздің жағдайда икемді сенсор көмегімен СКД экранына (суретті қараңыз) «Поезд келе жатыр» деген хабарды оқу үшін пойыздың өтіп бара жатқанын анықтайды.

*Flex Sensor сымдарын қосуға арналған нұсқаулық көрсетілген суреттерде тек Flex Sensor сымдарына қатысты сымдарды қараңыз. Серво сымдарын елемеңіз.

Сым түйреуіштері келесідей:

1 -қадам: POWER бөліміндегі Arduino тақтасында 1 сымды 5V кірісіне және 1 сымды GND кірісіне (жерге) қосыңыз. 5В сымының екінші ұшын схемадағы оң (+) кіріске қосыңыз. 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 -ны СК -ге қосыңыз

Arduino -ны СК -ге қосыңыз
Arduino -ны СК -ге қосыңыз
Arduino -ны СК -ге қосыңыз
Arduino -ны СК -ге қосыңыз
Arduino -ны СК -ге қосыңыз
Arduino -ны СК -ге қосыңыз

*Осы сілтемені орындаңыз (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), содан кейін LCD-ді Arduino-ға қосу үшін төменде келтірілген қадамдарды қараңыз:

1 -қадам: zip файлын ашыңыз

2 -қадам: ReadMe файлын ашып, нұсқауларды орындаңыз

Қажетті материалдар

1.) SparkFun осы құрылғыға ұқсас 16x2 СКД -

2.) Өткізгіш сымдар

*Сәйкесінше суреттерді қараңыз.

Бұл қадам СКД қондырмасының кітапханасын қалай құруға болатынын және СКД-де «Поезд келе жатқанын» көрсетуді көрсетеді.

Сым түйреуіштері келесідей:

LCD түйреуіші -> Arduino түйреуі

1 (VSS) -> Жер

2 (VDD) -> 5V

3 (V0) -> Flex сенсорындағы орта түйреуіш

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 жарық диоды

2.) 1 жұмсақ потенциометр

3.) Өтпелі сымдар

4.) 3 330 Ом резисторы

5.) 10К Ом резисторы

*Сәйкесінше суреттерді қараңыз.

Бұл схемада біз айнымалы резистордың басқа түрін қолданамыз - жұмсақ потенциометр. Бұл қысымның қай жерде қолданылатынын анықтай алатын жұқа және икемді жолақ. Жолақтың әр түрлі бөліктерін басу арқылы қарсылықты 100 -ден 10 К Ом -ға дейін өзгертуге болады. Сіз бұл мүмкіндікті потенциометрде немесе түйме ретінде қозғалысты бақылау үшін пайдалана аласыз. Бұл схемада біз RGB жарықдиодты басқару үшін жұмсақ потенциометрді іске қосамыз.

1 -қадам: DIGITAL I / O бөліміндегі Arduino тақтасында 1 істікті 10 кірісіне және 1 істікті 11 кірісіне қосыңыз. Сәйкесінше, осы түйреуіштердің екінші ұшын h6 және h7 кірісіне қосыңыз.

2 -қадам: Электрондық тақтада светодиодты a4, a5, a6 және a7 кірістеріне қосыңыз.

3-қадам: Электрондық тақтаға 3 330 Ом резисторды e4-g4, e6-g6 және e7-g7 кірістеріне қойыңыз.

4 -қадам: Электрондық тақтада 1 істікті e5 кірісіне қосыңыз. Бұл түйреуіштің екінші ұшын теріс (-) кіріске қосыңыз.

5-қадам: Электрондық тақтаға 10К Ом резисторды i19 теріс (-) кірістеріне қойыңыз.

6 -қадам: Электрондық тақтада 1 істікті j18 -ге қосыңыз. Бұл істіктің екінші ұшын оң (+) кіріске қосыңыз.

7 -қадам: Электр тақтасында j20 кірісіне 1 істікшені қосыңыз. Бұл істіктің екінші ұшын теріс (-) кіріске қосыңыз.

7 -қадам: жақсартуларды ақылды рельсті жүйеде тексеріңіз

Ақылды рельсті жүйедегі жақсартуларды тексеріңіз
Ақылды рельсті жүйедегі жақсартуларды тексеріңіз
Ақылды рельсті жүйедегі жақсартуларды тексеріңіз
Ақылды рельсті жүйедегі жақсартуларды тексеріңіз

Бұл кезде сіздің MATLAB кодыңыз функционалды болуы керек және Arduino тақтасы барлық қосылған компоненттермен бірге дәл қосылған болуы керек. Оны сертификатталған Smart Rail жүйесінде қолданып көріңіз және сіздің жақсартуларыңыз жүйені қауіпсіз ететінін тексеріңіз.

Ұсынылған: