Оглавление:
- Шаг 1: Необходимые детали
- Шаг 2: создание коробки
- Шаг 3: Настройка Arduino
- Шаг 4: Программное обеспечение - XCTU
- Шаг 5: Программное обеспечение - Arduino Sketch
- Шаг 6. Программное обеспечение - настольное приложение
- Шаг 7: Первый запуск
- Шаг 8: Заключение
- Шаг 9: Приложение
Видео: Наблюдатель за сборкой машин: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Отправной точкой этого проекта была работа над конкретным проектом, чтобы узнать кое-что о платах микроконтроллеров.
Первоначальная идея заключалась в создании физического объекта, который мог бы отслеживать систему непрерывной интеграции (VSTS | Azure DevOps) и сообщать об ошибках сборки программного обеспечения. Из соображений безопасности ИТ-отдела мне отказали в подключении «нестандартного» устройства напрямую к корпоративной сети.
В итоге я получил архитектуру, показанную на картинке выше. Рабочий процесс выполнения можно резюмировать следующим образом:
Настольное приложение Windows сканирует (извлекает) определения сборки VSTS. Он анализирует результаты сборки, а затем отправляет команду на физическое устройство, которое выполняет небольшую анимированную последовательность перед отображением красного или зеленого флажка.
Шаг 1: Необходимые детали
В следующем списке перечислены все необходимые элементы:
- 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
- 1 Expension Shield (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
- 2 модуля XBee S1 (https://www.adafruit.com/product/128).
- 1 ключ XBee explorer (https://www.sparkfun.com/products/11697).
- 2 серводвигателя постоянного тока 5 В постоянного тока с крепежными принадлежностями (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
- 1 источник питания 9 В постоянного тока.
- 3 светодиода.
- 3 резистора 220 Ом.
- термо-выдвижной рукав.
- 1 кнопка.
- Подтягивающий резистор 10 кОм для подтягивания.
- Конденсатор 100 нФ.
- электрические провода.
- стрип-борд (для крепления кнопки)
- Дерево 5мм (50х50см).
- деревянная палка квадратного сечения 5х5 мм (1м).
- картон.
- 10 X винт диаметром 2 мм.
- 4 винта диаметром 5 мм.
- сильный магнит.
- токарный модуль. Я повторно использовал внутреннюю подвижную часть проблескового маячка. можешь ставить все, что хочешь. Вам просто нужно позаботиться о том, чтобы 2 подвижные части могли свободно перемещаться, не соприкасаясь друг с другом.
Шаг 2: создание коробки
На самом деле вы можете получить коробку любой формы, какой захотите. Главное, о чем следует подумать перед запуском, - это где будут движущиеся части и убедиться, что они могут свободно перемещаться, не соприкасаясь друг с другом. Другой момент, куда вы собираетесь поставить девайс? В итоге у меня получился магнит (сильный), чтобы приклеить его к любой металлической опоре. если вы хотите построить такой же ящик, вы можете следовать инструкциям в файле box_drawings.pdf.
В этом случае вам просто нужно вырезать все разные части, проделать отверстия для серводвигателей, светодиодов, кнопки и винтов и, наконец, склеить все части вместе. Как только он высохнет, немного отшлифуйте и немного покрасьте.
Два флага сделаны из красного и зеленого картона. Чтобы закрепить флагшток на серводвигателях, вы можете использовать монтажные детали, входящие в комплект поставки.
Шаг 3: Настройка Arduino
К плате расширения Arduino подключены следующие элементы:
- D2 PIN: кнопка.
- D4 PIN: светодиод, указывающий на то, что система включена.
- D5 PIN: светодиод, показывающий, что мы выполняем цикл.
- D6 PIN: светодиод, показывающий, что устройство получило новое сообщение.
- D9 PIN: импульсный сигнал PWM для серводвигателя, управляющего гироскопом.
- D10 PIN: импульсный сигнал PWM для серводвигателя, обрабатывающего флаг.
- XBee Socket: один модуль ZigBee.
На схеме выше показано, как все элементы подключены к плате.
Для светодиодов резистор и провода привариваются непосредственно к нему (соблюдайте полярность). Затем все упаковывается в какой-то термо-убирающийся рукав.
Все части кнопки (кнопка, резистор и конденсатор) приварены непосредственно к небольшой плате-спутнику. Затем планка фиксируется двумя винтами (2 мм).
Серводвигатели работают от напряжения 5 В, поэтому их можно подключать напрямую к Arduino. Если вы используете устройства с более высоким напряжением (12 В), вам придется добавить еще один слой для блока питания.
Что касается модулей XBee, когда они настроены для совместной работы (см. Следующий раздел), их можно подключать к сокетам напрямую.
Примечания: светодиоды и кнопка могли быть напрямую подключены к контактам Arduino, поскольку это может обеспечить внутреннюю реализацию необходимых ценных бумаг. Я просто поступил по-старому, так как этот аспект был для меня не очень понятен.
Шаг 4: Программное обеспечение - XCTU
Как упоминалось выше, два устройства XBee должны быть настроены для совместной работы. Для этого вам нужно использовать специальное программное обеспечение X-CTU от DIGI. Вам нужно сделать этот шаг настройки только один раз. следуйте процедуре, описанной в файле xbee_configuration.pdf.
После завершения настройки вы можете подключить каждый модуль к своему разъему. Один на преобразователе USB / Serial и один на плате расширения Arduino.
Конвертер USB / Serial должен автоматически распознаваться Windows 10. Если это не так, возможно, вам придется установить драйвер вручную.
Примечание:
Использование модулей XBee для базовой последовательной связи - это немного излишне. В то время, когда я начал проект, мне не удалось найти простые устройства последовательной связи, которые можно было бы легко использовать в Windows 10 (проблемы с драйверами). Это также была возможность узнать кое-что о
Шаг 5: Программное обеспечение - Arduino Sketch
Для программирования Arduino мы используем IDE, доступную на официальном веб-сайте.
Логика программы довольно проста: она просто прослушивает последовательный порт платы по умолчанию на предмет отдельных букв («a», «b»,…). Если полученный символ соответствует известной команде, то подфункция воспроизводит соответствующую последовательность.
Две основные полезные команды - это анимация успеха («a») и анимация ошибки («b»).
Чтобы иметь возможность немного поиграть (или отладить) с коробкой, есть несколько дополнительных команд, которые могут быть выполнены. Они есть:
- ‘O’: принудительное включение светодиода ON
- ‘P’: принудительно выключить светодиод ON.
- ‘Q’: принудительно включить индикатор нового сообщения
- ‘R’: принудительное выключение светодиода нового сообщения.
- ‘S’: включить светодиод цикла.
- ‘T’: принудительно выключить светодиод цикла.
- ‘U’: активировать серводвигатель гироскопа
- ‘V’: активировать серводвигатель флажка.
В дополнение к последовательной команде существует подпрограмма (handlePushButton), которая активируется при нажатии кнопки на устройстве. В этом случае автоматически воспроизводится анимация ошибки или успеха. Эта функция позволяет проверить правильность подключения физического устройства.
Код скетча Arduino находится в единственном файле bsldevice.ino. Вы можете загрузить его напрямую с помощью IDE.
Шаг 6. Программное обеспечение - настольное приложение
Назначение настольного приложения - отслеживать веб-сайт Microsoft Azure DevOps (ранее VSTS) и определять, является ли определение сборки успешным или ошибочным. Каждый раз, когда сборка завершается, настольное приложение определяет статус сборки и отправляет соответствующую команду («a» или «b») на последовательный порт (COMx).
После запуска приложения первым делом необходимо выбрать правильный com-порт, к которому подключен модуль ZigBee. Чтобы определить порт, вы можете использовать Диспетчер устройств Windows (в разделе Порты (раздел COM и LPT)). Подключение к Azure DevOps выполняется автоматически при запуске с использованием учетных данных текущего пользователя. Вы также можете отправить любую предопределенную команду вручную, используя поле со списком справа.
Все исходники были созданы с помощью профессиональной версии Visual Studio 2017. Для этого требуется. NET Framework 4.6.1. Эта версия Framework предпочтительнее для облегчения подключения / аутентификации к веб-сайту VSTS.
использовать:
- скачать архив bslwatcher_sources.zip.
- Распакуйте его на свой диск.
- Прочтите файл how_to_build.txt для получения подробной информации о сборке.
Шаг 7: Первый запуск
При запуске коробки следует помнить о двух основных вещах:
1- Система не может сама узнать, где находятся флаги. Система предполагает, что при запуске зеленый флажок установлен.
2- При включении платы Arduino ничего не должно двигаться. Поскольку мы использовали непрерывные сервоприводы, нулевая позиция по умолчанию установлена на 90 в файле эскиза. Если серводвигатель начинает вращаться или издает какой-то шум. возможно, вам придется заново определить его нулевую позицию. Для этого вам просто нужно настроить потенциометр в маленьком отверстии сбоку серводвигателя.
www.arduino.cc/en/Reference/ServoWrite
cmra.rec.ri.cmu.edu/content/electronics/boe…
Шаг 8: Заключение
Это маленькое устройство будет физически сообщать о состоянии вашей системы непрерывной интеграции.
Поскольку «интеллект» находится в настольном приложении, вы можете использовать его для мониторинга любого другого программного обеспечения или процесса (почта, датчик температуры…). Вам просто нужно иметь доступ к другому API и решать, что «хорошо», а что «плохо». Если вы не используете красный и зеленый условные цвета, вы даже можете изменить значение «сообщения».
Улучшения можно было внести и в сам бокс:
- Используйте аккумулятор.
- Используйте другой протокол связи.
- Добавьте датчики, чтобы знать, какой флаг находится вверху.
Надеюсь, вам понравился этот проект.
Спасибо, что дочитали до этого места.
Шаг 9: Приложение
Некоторые ссылки, использованные для создания этого проекта:
Веб-сайт Arduino:
Веб-сайт DIGI:
Программное обеспечение XCTU:
Некоторая информация использовалась от других:
arduino.stackexchange.com/questions/1321/se…
stackoverflow.com/questions/10399400/best-w…
www.mon-club-elec.fr/pmwiki_reference_ardui… (на французском языке)
jeromeabel.net/
Веб-сайт MSDN в целом:
docs.microsoft.com/en-us/dotnet/framework/…
Рекомендуемые:
Ubidots + ESP32- Прогностический мониторинг машин: 10 шагов
Ubidots + ESP32- Predictive Machine Monitoring: Прогнозный анализ вибрации и температуры машины путем создания почтовых событий и записи вибрации в листе Google с помощью Ubidots. Профилактическое обслуживание и мониторинг состояния машины Рост новых технологий, то есть Интернета вещей, тяжелой промышленности
Топ-5 машин-роботов Arduino, которые поразят вас: 11 шагов
Топ-5 автомобилей-роботов Arduino, которые поразят вас: Здравствуйте, друзья, в этом уроке мы увидим 5 лучших интеллектуальных автомобилей-роботов 2020 года с полными шагами, кодом и принципиальной схемой. На верхнем видео вы можете увидеть работу всех этих роботов. В этих проектах вы будете взаимодействовать с: " Избегать края стола
Наблюдатель за влажностью и температурой с использованием Raspberry Pi с SHT25 на Python: 6 шагов
Наблюдатель влажности и температуры с использованием Raspberry Pi с SHT25 на Python: будучи энтузиастами Raspberry Pi, мы придумали еще несколько впечатляющих экспериментов с ним. В этой кампании мы будем создавать наблюдатель влажности и температуры, который измеряет относительную влажность и температуру с помощью Raspberry Pi. и SHT25, Humidi
Электронный шкафчик для машин: 6 шагов
Электронный шкафчик для машин: это устройство позволяет включать электрические машины на определенное время. Это помогает отслеживать активность запланированных машин. Если пользователь введет правильный пароль, он / она сможет использовать машину, подключенную к этому устройству, в течение двух часов (время
Профилактическое обслуживание вращающихся машин с помощью вибрации и словосочетания: 8 шагов
Прогнозируемое обслуживание вращающихся машин с использованием вибрации и вещей: вращающиеся машины, такие как ветряные турбины, гидротурбины, асинхронные двигатели и т. Д., Сталкиваются с различными видами износа и разрывов. Большинство этих неисправностей и износа вызваны аномальной вибрацией в устройстве. Эти машины часто эксплуатируются в тяжелых условиях