Съдържание:

Сервитьор Моля, бот: 6 стъпки (със снимки)
Сервитьор Моля, бот: 6 стъпки (със снимки)

Видео: Сервитьор Моля, бот: 6 стъпки (със снимки)

Видео: Сервитьор Моля, бот: 6 стъпки (със снимки)
Видео: ЗАМОРОЗЬТЕ КОСТИ И ВАРИТЕ 6 ЧАСОВ! Рецепт который изменит вашу жизнь! 2024, Юли
Anonim
Image
Image

Какво може да се обърка, когато сервитьорът повика звънец със серво в отворено офисно пространство?

- Не знам: D

Хората са склонни да мразят алармата или дори прекъсванията, така че може би е добра идея да я направите малко смешна (поне за известно време). Това имах за цел да постигна. Бързо предупреждавайте инженерите за критични инциденти по приемлив начин.

Това е първият ми проект на Arduino, направен от Ethernet щит, инфрачервен контрол, SG90 9g Micro Servo и рециклирани материали.

Действието на шамара, задействано чрез WebHook или дистанционно управление. Дистанционното управление се използва и за фино до ъгъла на ръката.

Стъпка 1: Как работи?

Как работи?
Как работи?

Той слуша на инфрачервен приемник и извлича HTTP адрес за дадена ключова дума. Инфрачервеният контролер може да се използва за фина настройка на ъгъла на рамото и може да се използва и за задействане. HTTP отговорът може да се използва само за задействане на звънеца. (В настоящия случай направих малко уеб приложение, което улавя webhook от Slack и управлява флаг. - Не е включено в тази инструкция)

По принцип използвах инфрачервен контролер само за отстраняване на грешки. За първи път направих грешка, като оставих контролера да остане до машината за шамари, но хората бяха достатъчно любопитни да задействат шамар много пъти, така че откривам, че устройството е изключено:)

В реалния живот той просто периодично проверява твърдо кодиран уеб адрес какъв е подобен отговор като:

Ако ключовата дума anyslap, последвана от цяло число, прави толкова движение на ръката.

Стъпка 2: Изисква се компонент

Изисква се компонент
Изисква се компонент
Изисква се компонент
Изисква се компонент
Изисква се компонент
Изисква се компонент

Електронни компоненти:

  • Arduino Uno R3
  • UNO Shield Ethernet щит W5100 R3
  • Инфрачервен IR модул за безжично дистанционно управление
  • Серво (SG90)
  • Универсална печатна платка 4х6см
  • 5 x LED
  • 5 x 220 ома резистор
  • 30AWG силиконова жица

Рециклирани материали:

  • Флакон за шампоан
  • Картонени кутии
  • Ръка играчка (елате с два кроасана, вземете една ръка безплатно:)

Стъпка 3: Комбинирайте уроците на Arduino

Предимно просто следвах Arduino вградени примери, библиотечни примери и комбинирах в един проект.

Препоръчителни уроци

  • Мига без закъснение - Използва се за LED индикатори; millis () функция за периодична проверка на HTTP и изключване на серво, ако не се използва.
  • ASCIITable функции за сериен изход - Използва се за отстраняване на грешки.
  • Контролни структури, като: Итерация на цикъл, Превключвателна кутия, Ако изявление, Докато цикъл
  • Ethernet уеб клиент с DHCP лизинг - Използва се за получаване на тригери от HTTP крайна точка.
  • Сервоурок - използва се за движение на ръката (въртене).
  • Инфрачервен приемник - използва се за допълнителен контрол и фина настройка на ъгъла на ръката.

Стъпка 4: Потърсете ключова дума в HTTP отговор и други проблеми с EthernetClient

Сглобяването на Wait Please Bot беше доста напред, с изключение на Ethernet нещата.

Трудности

  1. Всяко повикване на EthernetClient, особено DHCP Lease, е един процес. Работи като забавяне с rand, което спира програмата.
  2. Забравете за JSON в API и WebHook Arduino низовете така или иначе са зли.

1. - Единичен процес

Отказвам се, за да накарам програмата да изпълнява множество процеси. Търся в Google няколко възможни решения, но нито едно от тях не беше просто. Исках да запазя кода възможно най -малък и лесен за четене.

2. - Анализирайте HTTP отговора.

Стабилността и способността да работят без поддръжка са ключови изисквания. Така че избягвам да използвам всеки String обект поради евентуално изтичане на памет.

EthernetClient разчита на базовия клас Stream и неговата функция find дава възможност за търсене по ключова дума. Това е малко сложно и заема много редове код, но работи.

Стъпка 5: Скица и източник

Скица и източник
Скица и източник

Хранилище:

Стъпка 6: Изградете хардуера

Изградете хардуера
Изградете хардуера
Изградете хардуера
Изградете хардуера
Изградете хардуера
Изградете хардуера

Ръката

  1. В кутията на Macbook има четири ъглови предпазители. Използвах го като стойка.
  2. Изрежете малка форма, подходяща за серво.
  3. Залепете заедно стойката и серво с пистолет за лепило за топене.
  4. Взех тръба от използван флакон за шампоан и я завинтвах към серво.
  5. Издърпайте ръката на играчката за тръбата.

Контролерът

  1. Направен прототип на макет.
  2. Копирайте прототипа на макета на универсалната печатна платка.
  3. Използвах откъсващи се заглавия за всички връзки на проводници.
  4. Изрежете хартиената кутия.
  5. Залепете заедно предната част на кутията и печатната платка.
  6. Поставете дъската Arduino, Ethernet щита и малко гъба в кутията.

Свършен.

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