Оглавление:
- Шаг 1. Программное обеспечение и материалы
- Шаг 2: подключитесь к вашему Arduino и определите COM-порт
- Шаг 3: код Matlab
- Шаг 4: Подключение гибкого датчика
- Шаг 5: Подключите Arduino к ЖК-дисплею
- Шаг 6: Подключение мягкого потенциометра
- Шаг 7. Проверьте свои усовершенствования в системе Smart Rail
Видео: LifeGuard 2.0: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
Вы когда-нибудь хотели выполнять математические операции, снимать показания датчиков, контролировать аналоговые и цифровые входы и управлять аналоговыми и цифровыми выходами без предварительного опыта работы с электроникой? Если да, то этот проект именно для вас! Мы будем использовать микроконтроллер и MATLAB для создания устройства, которое можно будет использовать для мониторинга и улучшения системы EF Express SMART RAIL. С микроконтроллером возможности для входов и выходов (сигнал / информация, поступающий на плату, и сигнал, выходящий из платы) безграничны. В качестве входов мы будем использовать датчик изгиба и потенциометр. Их выходными сигналами будут сообщения на ЖК-экране и светодиодные индикаторы вместе с зуммером соответственно. Усовершенствования, которые мы надеемся внедрить в систему SMART RAIL, связаны с повышением безопасности системы. Возьмите свой ноутбук и микроконтроллер, и приступим!
Шаг 1. Программное обеспечение и материалы
Требуется программное обеспечение
1.) MATLAB
- Вам нужно будет загрузить локальную версию MATLAB на свой компьютер. Перейдите на mathworks.com и настройте учетную запись MATHWORKS, загрузите файлы и активируйте свою лицензию.
-Вы должны загрузить и установить ВСЕ доступные наборы инструментов для последней версии (R2016a или R2016b).
-Пользователи Mac: у вас должна быть OSX 10.9.5 или новее для запуска R2015b, можно запускать более раннюю версию MATLAB.
2.) Пакет поддержки оборудования Arduino:
-Установите пакет поддержки оборудования Arduino. Откройте MATLAB. На вкладке MATLAB Home в меню Environment выберите Add-Ons Get Hardware Support Packages Выберите «MATLAB Support Package for Arduino Hardware». Вам нужно будет войти в свою учетную запись MATHWORKS.
-Если ваша установка прерывается и у вас есть несколько неудачных попыток / ошибок при установке аппаратного пакета - найдите и удалите папку Arduino download на вашем жестком диске и начните с начала.
Необходимые материалы
1.) Ноутбук или настольный компьютер
2.) Плата SparkFun Arduino
3.) Гибкий датчик
4.) Потенциометр
5.) ЖК-экран
6.) Светодиодный свет
7.) SparkFun Inventor's Kit (найти в Интернете)
8.) USB-кабель и мини-USB
9.) Перемычки.
10.) Пьезозуммер
Шаг 2: подключитесь к вашему Arduino и определите COM-порт
(Ваш COM-порт может изменяться при каждом подключении). Подключите кабель USB Arduino к компьютеру, а мини-USB - к плате Arduino. Возможно, вам придется подождать несколько минут, пока загрузятся драйверы.
Чтобы определить COM-порт:
На ПК
Метод 1: в MATLAB используйте команду - fopen (serial ('nada'))
-определить свой ком порт. Вы можете получить такую ошибку: Ошибка при использовании последовательного порта / 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 и выбрать «Извлечь». (Возможно, вам потребуется открыть файл из проводника, щелкнуть правой кнопкой мыши и «Запуск от имени администратора»).
-В командном окне 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
-Перезагрузите компьютер
-Подключите USB-кабель Arduino.
-Запуск из командной строки 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
Входы:
1.) Гибкий датчик
2.) Потенциометр
Выходы:
1.) ЖК-экран с сообщением "Поезд идет".
2.) Светодиодный индикатор
3.) Пьезо-зуммер
На этом этапе мы создадим код, который будет анализировать входные данные с платы Arduino и предоставлять выходные данные на основе результатов анализа MATLAB. Следующий код позволит вам выполнять несколько функций: при срабатывании потенциометра пьезозуммер будет излучать переменные частоты, а красный светодиод будет мигать. Если поезд не обнаружен, загорится зеленый светодиод. При срабатывании гибкого датчика жадный светодиод гаснет, красный светодиод загорается, а на ЖК-дисплее отображается сообщение «Поезд идет».
Код MATLAB:
% Remery1, Шорнсб1, Вмуррин
% Назначение: предупреждение по поезду
% IInput: потенциометр, датчик гибкости
% мощности: жк, звук, свет
% Если плата не инициализирована или возникают проблемы с подключением, выполните команду
% ниже команд в комментариях. Их не нужно выполнять каждый раз
%очистить все
%закрыть все
% clc
% a = arduino ('/ dev / tty.usbserial-DN01DXOM', 'uno');
% lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
% Сконфигурируйте плату после ее подключения
configurePin (a, 'D8', 'pullup');% configure D8
configurePin (a, 'D9', 'PWM');% configure D9
время = 50; % установить время на 50
clearLCD (lcd)% инициализация ЖК-дисплея
% Start Loop
пока время> 0
% Напряжение датчика Flex определяет, горит ли индикатор зеленым или нет.
% красный, а на ЖК-дисплее отображается "поезд идет".
flex_status = readVoltage (а, '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);% Воспроизведение 400 Гц на пьезозуммере, 0,25 сек.
writeDigitalPin (a, 'D13', 0)% выключить красный светодиод
пауза (0,25)% ожидание 0,25 секунды
writeDigitalPin (a, 'D13', 1)% Повторить выше, с зуммером на 200 Гц
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1);% Повторить выше
playTone (a, 'D9', 400, 0,25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1)% Повторить выше
playTone (a, 'D9', 400, 0,25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1)% Повторить выше
playTone (a, 'D9', 400, 0,25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
пауза (0,25)
еще
writeDigitalPin (a, 'D12', 1)%, если напряжение меньше 2, включить зеленый светодиод
writeDigitalPin (a, 'D13', 0)% поворота красного светодиода
конец
конец
Шаг 4: Подключение гибкого датчика
Необходимые материалы
1.) 1 гибкий датчик
2.) 1 резистор 10 кОм
3.) 8 перемычек
* См. Изображения соответственно.
В этой схеме мы будем измерять гибкость. Датчик изгиба использует углерод на пластиковую полоску, чтобы действовать как переменный резистор, но вместо того, чтобы изменять сопротивление поворотом ручки, вы изменяете его, сгибая компонент. Делитель напряжения для определения изменения сопротивления. В нашем случае мы будем использовать датчик изгиба для обнаружения проезжающего поезда, чтобы дать команду ЖК-экрану (см. Рисунок) прочитать сообщение «Поезд идет».
* На рисунках, показывающих инструкции по подключению гибкого датчика, обращайтесь только к проводам, относящимся к проводке гибкого датчика. Не обращайте внимания на проводку сервопривода.
Проведите шпильки следующим образом:
Шаг 1. На плате Arduino в секции POWER подключите 1 провод к входу 5 В и 1 провод к входу GND (земля). Подключите другой конец провода 5 В к положительному (+) входу на печатной плате. Подключите другой конец провода GND к отрицательному (-) входу на печатной плате.
Шаг 2: На плате Arduino в разделе АНАЛОГОВЫЙ ВХОД вставьте 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 к ЖК-дисплею
* Перейдите по этой ссылке (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), а затем обратитесь к шагам, которые я предоставил ниже, для подключения ЖК-дисплея к Arduino:
Шаг 1. Откройте zip-файл
Шаг 2: откройте файл ReadMe и следуйте инструкциям
Необходимые материалы
1.) LCD 16x2, аналогичный этому устройству от SparkFun -
2.) Перемычки.
* См. Изображения соответственно.
На этом шаге будет показано, как создать дополнительную библиотеку для ЖК-дисплея и отобразить на ЖК-дисплее сообщение «Поезд идет».
Проведите шпильки следующим образом:
Вывод ЖК-дисплея -> Вывод Arduino
1 (VSS) -> Земля
2 (VDD) -> 5 В
3 (V0) -> Средний штифт на гибком датчике
4 (RS) -> D7
5 (R / W) -> Земля
6 (E) -> d6
11 (DB4) - D5 (ШИМ)
12 (DB5) -> D4
13 (DB6) -> D3 (ШИМ)
14 (DB7) -> D2
15 (светодиод +) -> 5 В
16 (LED-) -> Земля
Шаг 6: Подключение мягкого потенциометра
Необходимые материалы
1.) 1 светодиод
2.) 1 мягкий потенциометр
3.) Провода перемычки
4.) 3 резистора 330 Ом
5.) Резистор 10 кОм
* См. Изображения соответственно.
В этой схеме мы собираемся использовать другой вид переменного резистора, мягкий потенциометр. Это тонкая и гибкая полоска, которая может определять место приложения давления. Нажимая на различные части полосы, вы можете изменять сопротивление от 100 до 10 кОм. Вы можете использовать эту возможность для отслеживания движения с помощью потенциометра или кнопки. В этой схеме мы запустим мягкий потенциометр для управления светодиодом RGB.
Шаг 1. На плате Arduino в секции DIGITAL I / O вставьте 1 контакт во вход 10 и 1 контакт во вход 11. Соответственно, подключите другой конец этих контактов к входам h6 и h7.
Шаг 2. На печатной плате подключите светодиод к входам a4, a5, a6 и a7.
Шаг 3. На печатной плате поместите резисторы 3330 Ом на входы e4-g4, e6-g6 и e7-g7.
Шаг 4: На печатной плате вставьте 1 контакт во вход e5. Подключите другой конец этого контакта к отрицательному (-) входу.
Шаг 5: На печатной плате вставьте резистор 10 кОм во входы i19-отрицательный (-).
Шаг 6. На печатной плате вставьте 1 контакт в разъем j18. Подключите другой конец этого контакта к положительному (+) входу.
Шаг 7. На печатной плате вставьте 1 контакт во вход j20. Подключите другой конец этого контакта к отрицательному (-) входу.
Шаг 7. Проверьте свои усовершенствования в системе Smart Rail
На этом этапе ваш код MATLAB должен работать, а плата Arduino должна быть точно подключена вместе со всеми добавленными компонентами. Попробуйте использовать сертифицированную систему Smart Rail и посмотрите, сделают ли ваши усовершенствования систему более безопасной.
Рекомендуемые:
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: 7 шагов (с изображениями)
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: я планирую использовать этот Rapsberry PI в кучу забавных проектов еще в моем блоге. Не стесняйтесь проверить это. Я хотел вернуться к использованию своего Raspberry PI, но у меня не было клавиатуры или мыши в моем новом месте. Прошло много времени с тех пор, как я установил Raspberry
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Bolt - Ночные часы с беспроводной зарядкой своими руками (6 шагов): 6 шагов (с изображениями)
Bolt - Ночные часы с беспроводной зарядкой своими руками (6 шагов): Индуктивная зарядка (также известная как беспроводная зарядка или беспроводная зарядка) - это тип беспроводной передачи энергии. Он использует электромагнитную индукцию для обеспечения электропитания портативных устройств. Самым распространенным применением является беспроводная зарядка Qi st
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
Проектирование печатной платы с помощью простых и легких шагов: 30 шагов (с изображениями)
Проектирование печатных плат с помощью простых и легких шагов: ПРИВЕТ, ДРУЗЬЯ Это очень полезное и легкое руководство для тех, кто хочет изучить дизайн печатных плат. Давайте начнем