Съдържание:

LifeGuard 2.0: 7 стъпки (със снимки)
LifeGuard 2.0: 7 стъпки (със снимки)

Видео: LifeGuard 2.0: 7 стъпки (със снимки)

Видео: LifeGuard 2.0: 7 стъпки (със снимки)
Видео: Smashing a 34,000 Brick Statue 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 в менюто Околна среда изберете Добавки Получаване на пакети за поддръжка на хардуер Изберете „Пакет за поддръжка на MATLAB за хардуер Arduino“. Ще трябва да влезете в профила си в MATHWORKS

-Ако инсталацията ви бъде прекъсната и имате последователни неуспешни опити/грешки при инсталирането на хардуерния пакет - намерете и изтрийте папката, която Arduino изтегляте на вашия твърд диск и започнете отначало.

Необходими материали

1.) Лаптоп или настолен компютър

2.) SparkFun Arduino Board

3.) Гъвкав сензор

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

5.) LCD екран

6.) LED светлина

7.) Комплект от изобретатели на SparkFun (Намерете онлайн)

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

9.) Кабелни проводници

10.) Пиезо зумер

Стъпка 2: Свържете се с вашия Arduino и определете COM порта

(Вашият COM порт може да се промени при всяко включване) Свържете USB кабела на Arduino към компютъра и мини USB към вашата платка Arduino. Може да се наложи да изчакате няколко минути, за да изтеглите драйверите.

За да определите COM порта:

На компютър

Метод 1: В MATLAB използвайте командата - fopen (serial ('nada'))

-за да определите вашия com порт. Може да получите грешка като тази: Грешка при използване на сериен/fopen (ред 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 и изберете Extract. (Може да се наложи да отворите файла от Explorer, щракнете с десния бутон и „Изпълни като администратор“).

-В командния прозорец на MATLAB създайте Arduino обект - a = arduino ('comx', 'uno'); % x е номерът на вашия порт отгоре за компютри (без предходни нули!)

На Mac

Метод 1: От командния ред на MATLAB или в терминал на Mac и въведете: 'ls /dev/tty.*' Забележете номера на порта, посочен за dev/tty.usbmodem*или dev/tty.usbserial*. Номерът на порта е * тук.

-Ако Метод 1 се провали на вашия MAC, може да се наложи

-Излезте от MATLAB

-Затворете софтуера Arduino и изключете USB кабела на Arduino

-инсталирайте Java 6 Runtime

-инсталирайте разширението на ядрото на 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.) LCD екран със съобщение, което гласи "Влак идва"

2.) LED светлина

3.) Пиезо зумер

В тази стъпка ще конструираме кода, който ще анализира входовете от платката Arduino и ще предоставя изходи въз основа на резултатите от анализа на MATLAB. Следният код ще ви позволи да изпълнявате няколко функции: когато потенциометърът се задейства, пиезо зумерът ще излъчва променливи честоти и червеният светодиод ще мига. Когато влак не бъде открит, зеленият светодиод ще светне. Когато се задейства сензорът за гъвкавост, алчният светодиод ще се изключи, червеният светодиод ще светне, а на 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

%Старт цикъл

докато времето> 0

%Напрежението на сензора за гъвкавост определя дали светлината е зелена или светлинна

%е червен и 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) %Изключете червения светодиод

иначе

край

pe_status = readVoltage (a, 'A2'); %Прочетете напрежението на потенциометъра

ако pe_status> 2 %, ако напрежението е по -голямо от 2, задействайте контура

writeDigitalPin (a, 'D13', 1);%включване на червен светодиод

playTone (a, 'D9', 400,.25);% Възпроизвеждане на 400Hz на пиезо зумер, 0,25 сек

writeDigitalPin (a, 'D13', 0)%изключете червения светодиод

пауза (.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, включете зеления светодиод

writeDigitalPin (a, 'D13', 0)%завъртане на червения светодиод

край

край

Стъпка 4: Окабеляване на гъвкавия сензор

Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор
Окабеляване на гъвкавия сензор

Необходими материали

1.) 1 гъвкав сензор

2.) 1 10K Ohm резистор

3.) 8 джъмперни проводници

*Вижте съответно снимки.

В тази схема ще измерваме flex. Гъвкавият сензор използва въглерод върху пластмасова лента, за да действа като променлив резистор, но вместо да променяте съпротивлението чрез завъртане на копчето, вие се променяте чрез огъване на компонента. Делител на напрежение за откриване на промяна в съпротивлението. В нашия случай ще използваме сензора за гъвкавост, за да открием влак, който преминава, за да командва LCD екран (виж снимката), за да прочете съобщение, казващо "Влак идва".

*На снимките, показващи инструкциите за свързване на Flex сензор, вижте само проводниците по отношение на свързването на Flex сензора. Не пренебрегвайте окабеляването за серво.

Жични щифтове, както следва:

Стъпка 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 Pin -> Arduino Pin

1 (VSS) -> Земя

2 (VDD) -> 5V

3 (V0) -> Среден щифт на Flex сензор

4 (RS) -> D7

5 (R/W) -> Земя

6 (E) -> d6

11 (DB4) - D5 (ШИМ)

12 (DB5) -> D4

13 (DB6) -> D3 (ШИМ)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Заземяване

Стъпка 6: Свързване на мек потенциометър

Свързване на мек потенциометър
Свързване на мек потенциометър
Свързване на мек потенциометър
Свързване на мек потенциометър
Свързване на мек потенциометър
Свързване на мек потенциометър

Необходими материали

1.) 1 светодиод

2.) 1 Мек потенциометър

3.) Джъмперни проводници

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

5.) 10K ом резистор

*Вижте съответно снимки.

В тази схема ще използваме друг вид променлив резистор, мек потенциометър. Това е тънка и гъвкава лента, която може да открие къде се прилага натиск. Чрез натискане върху различни части на лентата можете да промените съпротивлението от 100 до 10 K ома. Можете да използвате тази възможност за проследяване на движението на потенциометъра или като бутон. В тази схема ще включим мекия потенциометър за управление на RGB LED.

Стъпка 1: На платката Arduino в раздела DIGITAL I / O включете 1 пин към вход 10 и 1 пин към вход 11. Съответно включете другия край на тези щифтове към вход h6 и h7.

Стъпка 2: Включете светодиода към входовете a4, a5, a6 и a7.

Стъпка 3: Поставете 3 330 ома резистора на входовете e4-g4, e6-g6 и e7-g7.

Стъпка 4: Включете 1 щифт към входа e5. Включете другия край на този щифт в отрицателен (-) вход.

Стъпка 5: На платката поставете 10K омовия резистор във входове i19-отрицателни (-).

Стъпка 6: На платката включете 1 пин в j18. Включете другия край на този щифт в положителен (+) вход.

Стъпка 7: Включете 1 щифт към входа j20. Включете другия край на този щифт в отрицателен (-) вход.

Стъпка 7: Тествайте вашите подобрения на интелигентна железопътна система

Тествайте своите подобрения на интелигентна железопътна система
Тествайте своите подобрения на интелигентна железопътна система
Тествайте своите подобрения на интелигентна железопътна система
Тествайте своите подобрения на интелигентна железопътна система

В този момент вашият MATLAB код трябва да бъде функционален и платката Arduino трябва да бъде точно свързана заедно с всички добавени компоненти. Изпробвайте го на сертифицирана система Smart Rail и вижте дали подобренията ви правят системата по -безопасна.

Препоръчано: