Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Hva kan gå galt med en servitør som ringer på en servo i et åpent kontor?
- Jeg vet ikke: D
Folk har en tendens til å hate alarmer eller til og med avbrudd, så det kan være lurt å gjøre det litt morsomt (i hvert fall en stund). Det var det jeg hadde som mål å oppnå. Varsle ingeniører raskt om kritiske hendelser på en akseptabel måte.
Det er mitt første Arduino -prosjekt laget av Ethernet -skjold, infrarød kontroll, SG90 9g Micro Servo og resirkulerte materialer.
Slåhandlingen utløses via WebHook eller fjernkontroll. Fjernkontrollen ble også brukt for fin til vinkelen på armen.
Trinn 1: Hvordan fungerer det?
Den lytter på infrarød mottaker og henter en HTTP -adresse for et gitt søkeord. Infrarød kontroller kan brukes til finjustering av armvinkelen og kan også brukes til trigger. HTTP -responsen kan bare brukes til å utløse klokken. (I nåværende tilfelle laget jeg en liten webapplikasjon som fanger webhook fra Slack og administrerer et flagg. - Ikke inkludert i denne instruksjonsboken)
I utgangspunktet brukte jeg infrarød kontroller bare for feilsøkingsformål. Første gang jeg gjorde en feil ved å la kontrolleren bli ved siden av smellemaskinen, men folk var nysgjerrige nok til å utløse smell mange ganger, så jeg finner enheten frakoblet:)
I virkeligheten sjekker du bare med jevne mellomrom en hardkodet webadresse som har lignende svar som:
Hvis anyslap -søkeordet etterfulgt av et heltall enn det gjør så mange armbevegelser.
Trinn 2: Komponent påkrevd
Elektroniske komponenter:
- Arduino Uno R3
- UNO Shield Ethernet Shield W5100 R3
- Infrarød IR Trådløs fjernkontrollmodul
- Servo (SG90)
- Universal kretskort 4x6cm
- 5 x LED
- 5 x 220 Ohm motstand
- 30AWG silikontråd
Resirkulerte materialer:
- Sjampo flacon
- Kartonger
- Leketøy hånd (kom med en kjøpe to croissanter få en hånd gratis:)
Trinn 3: Kombiner Arduino -opplæringen
Stort sett fulgte jeg bare Arduino innebygde eksempler, bibliotekeksempler og kombinerte til ett prosjekt.
Anbefalte leksjoner
- Blink uten forsinkelse - Brukes til LED -indikatorer; millis () -funksjon for å sjekke HTTP med jevne mellomrom og slå av servoen hvis den ikke brukes.
- ASCIITable serial output -funksjoner - Brukes til feilsøking.
- Kontrollstrukturer, som: Loop Iteration, Switch Case, If Statement, While Loop
- Ethernet Web Client med DHCP Lease - Brukes til å motta utløsere fra HTTP -endepunkt.
- Servoleksjon - brukes til armbevegelse (rotasjon).
- Infrarød mottaker - brukes for ekstra kontroll og finjustering av vinkelen på armen.
Trinn 4: Søk etter et nøkkelord i HTTP -respons og andre problemer med EthernetClient
Monteringen av The Waiter Please Bot var ganske rett frem bortsett fra Ethernet -tingene.
Vanskeligheter
- Ethvert EthernetClient -anrop, spesielt DHCP Lease, er én prosess. Det fungerer som en forsinkelse med rand det som stopper programmet.
- Glem JSON i API og WebHook Arduino Strings er onde uansett.
1. - Enkel prosess
Jeg gir opp for å få programmet til å gjøre flere prosesser. Jeg googler noen få mulige løsninger, men ingen av dem var enkle. Jeg ønsket å beholde koden så liten og lett å lese som mulig.
2. - Parse HTTP -respons.
Stabilitet og arbeidsevne uten vedlikehold er viktige krav. Så jeg unngår å bruke noe String -objekt på grunn av mulig minne som lekker.
EthernetClient er avhengig av Stream -baseklassen, og dens søkefunksjon gjør det mulig å søke etter søkeord. Det er litt komplisert og har mange kodelinjer, men det fungerer.
Trinn 5: Skisse og kilde
Depot:
Trinn 6: Bygg maskinvaren
Armen
- Det er fire hjørnebeskyttere i esken som leveres med Macbook. Jeg brukte den som stativ.
- Klipp ut en liten form som passer til servoen.
- Lim sammen stativet og servoen med smeltepistol.
- Tok et rør fra en brukt sjamponflacon og skrudde til servoen.
- Trekk lekehånden på røret.
Kontrolleren
- Lagde en prototype på brødbrett.
- Kopier breadboard -prototypen til det universelle kretskortet.
- Jeg brukte break away headers for all wire circuit connection.
- Klipp ut papirboksen.
- Lim sammen forsiden av esken og kretskortet.
- Legg Arduino -kortet, Ethernet -skjoldet og litt svamp i esken.
Ferdig.