Spisu treści:

Kelner Proszę Bot: 6 kroków (ze zdjęciami)
Kelner Proszę Bot: 6 kroków (ze zdjęciami)

Wideo: Kelner Proszę Bot: 6 kroków (ze zdjęciami)

Wideo: Kelner Proszę Bot: 6 kroków (ze zdjęciami)
Wideo: MAESTRO & ENDRIU - W KLAPKACH (DJ MAZIO BOOTLEG) 2023 2024, Listopad
Anonim
Image
Image

Co może się nie udać, gdy dzwonek kelnera uderza serwomechanizmem w otwartej przestrzeni biurowej?

- Nie wiem:D

Ludzie mają tendencję do nienawidzenia alarmów, a nawet przerw, więc niech będzie trochę śmiesznie (przynajmniej na chwilę). To właśnie chciałem osiągnąć. Szybko powiadamiaj inżynierów o krytycznych incydentach w akceptowalny sposób.

Jest to mój pierwszy projekt Arduino wykonany z nakładki Ethernet, sterowania na podczerwień, SG90 9g Micro Servo i materiałów pochodzących z recyklingu.

Akcja slapping wyzwalana przez WebHook lub zdalne sterowanie. Pilot służy również do precyzyjnego ustawienia kąta ramienia.

Krok 1: Jak to działa?

Jak to działa?
Jak to działa?

Nasłuchuje na odbiorniku podczerwieni i pobiera adres HTTP dla danego słowa kluczowego. Kontroler podczerwieni może służyć do precyzyjnego dostrajania kąta ramienia, a także do wyzwalania. Odpowiedź HTTP może być używana tylko do wyzwalania dzwonka. (W obecnym przypadku zrobiłem małą aplikację internetową, która łapie webhook ze Slacka i zarządza flagą. - Nie zawarte w tej instrukcji)

Zasadniczo używałem kontrolera podczerwieni tylko do celów debugowania. Za pierwszym razem popełniłem błąd, pozwalając kontrolerowi pozostać obok maszyny slap, ale ludzie byli na tyle ciekawi, że wielokrotnie uruchamiałem slapa, więc stwierdziłem, że urządzenie jest odłączone:)

W prawdziwym życiu po prostu okresowo sprawdza zakodowany adres internetowy, który ma podobną odpowiedź, jak:

Jeśli słowo kluczowe anyslap, po którym następuje liczba całkowita, powoduje tyle ruchów ramion.

Krok 2: Wymagany składnik

Wymagany składnik
Wymagany składnik
Wymagany składnik
Wymagany składnik
Wymagany składnik
Wymagany składnik

Części elektroniczne:

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • Zestaw bezprzewodowego modułu zdalnego sterowania na podczerwień
  • Serwo (SG90)
  • Uniwersalna płytka drukowana 4x6cm
  • 5 x LED
  • Rezystor 5x220 Ohm
  • Przewód silikonowy 30AWG

Materiały z recyklingu:

  • Flakon szampon
  • Pudełka kartonowe
  • Zabawkowa rączka (przyjdź przy kupnie dwóch rogalików jedną rączkę gratis:)

Krok 3: Połącz samouczki Arduino

W większości po prostu podążałem za Arduino Built-In Example, Library Example i połączyłem go w jeden projekt.

Polecane lekcje

  • Migaj bez opóźnienia - używany do wskaźników LED; funkcja millis() do okresowego sprawdzania HTTP i wyłączania serwomechanizmu, jeśli nie jest używane.
  • Funkcje wyjścia szeregowego ASCIITable - używane do debugowania.
  • Struktury kontrolne, takie jak: Iteracja pętli, przypadek przełącznika, instrukcja if, while Loop
  • Klient sieci Ethernet z dzierżawą DHCP - używany do odbierania wyzwalaczy z punktu końcowego
  • Lekcja serwo - służy do ruchu ramion (obrót).
  • Odbiornik podczerwieni - służy do dodatkowej kontroli i dostrajania kąta ramienia.

Krok 4: Wyszukaj słowo kluczowe w odpowiedzi HTTP i innych problemach z klientem Ethernet

Montaż Waiter Please Bot był dość prosty, z wyjątkiem rzeczy związanych z Ethernetem.

Trudności

  1. Każde wywołanie EthernetClient, zwłaszcza dzierżawa DHCP, jest pojedynczym procesem. Działa to jak opóźnienie z rand, co wstrzymuje program.
  2. Zapomnij o JSON w API, a WebHook Arduino Strings i tak są złe.

1. - Pojedynczy proces

Poddaję się, aby program robił wiele procesów. Wyszukiwałem w Google kilka możliwych rozwiązań, ale żadne z nich nie było proste. Chciałem, aby kod był jak najmniejszy i jak najłatwiejszy do odczytania.

2. - Przeanalizuj odpowiedź

Stabilność i możliwość pracy bez konserwacji to kluczowe wymagania. Dlatego unikam używania dowolnego obiektu String z powodu możliwego wycieku pamięci.

EthernetClient opiera się na klasie bazowej Stream, a jego funkcja find umożliwia wyszukiwanie słów kluczowych. Jest to trochę skomplikowane i zajmuje wiele linijek kodu, ale działa.

Krok 5: Szkic i źródło

Szkic i źródło
Szkic i źródło

Repozytorium:

Krok 6: Zbuduj sprzęt

Zbuduj sprzęt
Zbuduj sprzęt
Zbuduj sprzęt
Zbuduj sprzęt
Zbuduj sprzęt
Zbuduj sprzęt

Ramię

  1. W dostarczonym pudełku Macbooka znajdują się cztery osłony narożne. Użyłem go jako stojaka.
  2. Wytnij mały kształt pasujący do serwa.
  3. Sklej stojak i serwo pistoletem do klejenia na gorąco.
  4. Wyjąłem fajkę ze zużytego szamponu i przykręciłem do serwa.
  5. Pociągnij zabawkową dłoń na rurze.

Kontroler

  1. Zrobiłem prototyp na płytce prototypowej.
  2. Skopiuj prototyp płytki prototypowej na uniwersalną płytkę drukowaną.
  3. Użyłem oderwanych nagłówków do wszystkich połączeń obwodów przewodowych.
  4. Wytnij papierowe pudełko.
  5. Sklej przód pudełka i płytkę drukowaną.
  6. Włóż do pudełka płytkę Arduino, nakładkę Ethernet i gąbkę.

Gotowe.

Zalecana: