Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Что может пойти не так, если звонок официанта пробьет сервопривод в открытом офисе?
- Не знаю: D
Люди, как правило, ненавидят тревогу или даже прерывание, поэтому, возможно, будет неплохо сделать это немного забавным (по крайней мере, на время). Это то, к чему я стремился. Быстро предупреждайте инженеров о критических инцидентах приемлемым способом.
Это мой первый проект Arduino, сделанный из экрана Ethernet, инфракрасного управления, SG90 9g Micro Servo и переработанных материалов.
Действие пощечины запускается через WebHook или удаленное управление. Пульт дистанционного управления также используется для точного угла наклона руки.
Шаг 1. Как это работает?
Он прослушивает инфракрасный приемник и извлекает HTTP-адрес для заданного ключевого слова. Инфракрасный контроллер можно использовать для точной настройки угла руки, а также для триггера. HTTP-ответ можно использовать только для срабатывания звонка. (В данном случае я сделал небольшое веб-приложение, которое ловит веб-перехватчик от Slack и управляет флагом. - Не включено в это руководство)
В основном я использовал инфракрасный контроллер только для отладки. В первый раз я сделал ошибку, позволив контроллеру оставаться рядом с машиной для ударов, но люди были достаточно любопытны, чтобы запускать пощечину много раз, поэтому я обнаружил, что устройство отключено:)
В реальной жизни он просто периодически проверяет жестко запрограммированный веб-адрес, который имеет аналогичный ответ, например:
Если за ключевым словом anyslap следует целое число, оно совершает столько же движений руки.
Шаг 2: Требуемый компонент
Электронные компоненты:
- Arduino Uno R3
- UNO Shield Ethernet Shield W5100 R3
- Комплект инфракрасного ИК-модуля беспроводного дистанционного управления
- Сервопривод (SG90)
- Универсальная печатная плата 4x6см
- 5 светодиодов
- Резистор 5 x 220 Ом
- Силиконовый провод 30AWG
Переработанные материалы:
- Флакон шампуня
- Картонные коробки
- Игрушечная рука (купите два круассана, получите одну руку бесплатно:)
Шаг 3: объедините учебные пособия по Arduino
В основном я просто следил за встроенными примерами Arduino, примерами библиотек и объединял их в один проект.
Рекомендуемые уроки
- Мигает без задержки - используется для светодиодных индикаторов; Функция millis () для периодической проверки HTTP и отключения сервопривода, если он не используется.
- Функции последовательного вывода ASCIITable - используются для отладки.
- Структуры управления, такие как: итерация цикла, случай переключения, оператор If, цикл while
- Веб-клиент Ethernet с арендой DHCP - используется для получения триггеров от конечной точки
- Servo Lesson - используется для движения руки (вращения).
- Инфракрасный приемник - используется для дополнительного контроля и точной настройки угла руки.
Шаг 4. Поиск ключевого слова в ответе HTTP и других проблемах EthernetClient
Сборка Waiter Please Bot была довольно простой, за исключением вещей, связанных с Ethernet.
Трудности
- Любой вызов EthernetClient, особенно аренда DHCP, - это единый процесс. Это работает как задержка с рандом, который приостанавливает программу.
- Забудьте о JSON в API и WebHook. Строки Arduino в любом случае - зло.
1. - Единый процесс
Я отказываюсь от того, чтобы программа выполняла несколько процессов. Я гуглил несколько возможных решений, но все они не были простыми. Я хотел, чтобы код был как можно меньше и легко читался.
2. - Разобрать
Ключевыми требованиями являются стабильность и способность работать без обслуживания. Поэтому я избегаю использования каких-либо объектов String из-за возможной утечки памяти.
EthernetClient полагается на базовый класс Stream, а его функция поиска позволяет выполнять поиск по ключевым словам. Это немного сложно и занимает много строк кода, но работает.
Шаг 5: набросок и исходный код
Репозиторий:
Шаг 6: Соберите оборудование
Рука
- В поставляемой коробке Macbook есть четыре угловых ограничителя. Я использовал его как подставку.
- Вырежьте небольшую фигуру, подходящую для сервопривода.
- Склейте подставку и сервопривод с помощью пистолета-расплава.
- Взял трубку от флакона использованного шампуня и прикрутил к серво.
- Потяните игрушку рукой за трубку.
Контроллер
- Изготовлен прототип на макете.
- Скопируйте макет платы на универсальную печатную плату.
- Я использовал разъединяющие заголовки для подключения всех проводов.
- Вырежьте бумажную коробку.
- Склейте переднюю часть коробки и печатную плату.
- Положите в коробку плату Arduino, экран Ethernet и немного губки.
Выполнено.