Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vad kan gå fel med en servitör som ringer på en servo i ett öppet kontorsutrymme?
- Jag vet inte: D
Människor tenderar att hata larm eller till och med avbrott, så det kan vara en bra idé att göra det lite roligt (åtminstone ett tag). Det var det jag ville uppnå. Varna snabbt ingenjörer om kritiska incidenter på ett acceptabelt sätt.
Det är mitt första Arduino -projekt tillverkat av Ethernet -skärm, infraröd kontroll, SG90 9g Micro Servo och återvunnet material.
Släppåtgärden utlöses via WebHook eller fjärrkontroll. Fjärrkontrollen används också för fin till vinkeln på armen.
Steg 1: Hur fungerar det?
Den lyssnar på infraröd mottagare och hämtar en HTTP -adress för ett givet sökord. Infraröd styrenhet kan användas för finjustering av armvinkeln och kan också användas för utlösare. HTTP -svaret kan endast användas för att utlösa klockan. (I det aktuella fallet gjorde jag en liten webbapplikation som fångar webhook från Slack och hanterar en flagga. - Ingår inte i denna instruerbara)
I grund och botten använde jag infraröd styrenhet endast för felsökning. Första gången jag gjorde ett misstag genom att låta styrenheten stanna bredvid smällmaskin, men folk var nyfikna nog att utlösa smäll många gånger så jag hittar enheten frånkopplad:)
I verkliga livet är det bara att regelbundet kontrollera en hårdkodad webbadress som har liknande svar som:
Om anyslap -sökordet följt av ett heltal än det gör lika många armrörelser.
Steg 2: Komponent krävs
Elektroniska komponenter:
- Arduino Uno R3
- UNO Shield Ethernet Shield W5100 R3
- Infraröd IR trådlös fjärrkontrollmodul
- Servo (SG90)
- Universal kretskort 4x6cm
- 5 x LED
- 5 x 220 Ohm motstånd
- 30AWG silikontråd
Återvunna material:
- Schampon flacon
- Kartonglådor
- Leksakshand (kom med en köp två croissanter få en hand gratis:)
Steg 3: Kombinera Arduino -självstudierna
För det mesta följde jag bara Arduino Inbyggda exempel, biblioteksexempel och kombinerade till ett projekt.
Rekommenderade lektioner
- Blink utan fördröjning - Används för LED -indikatorer; millis () -funktion för att kontrollera HTTP regelbundet och stänga av servo om den inte används.
- ASCIITable serial output -funktioner - Används för felsökning.
- Kontrollstrukturer, som: Loop Iteration, Switch Case, If Statement, While Loop
- Ethernet Web Client med DHCP Lease - Används för att ta emot triggers från HTTP -slutpunkt.
- Servolektion - används för armrörelsen (rotation).
- Infraröd mottagare - används för ytterligare kontroll och finjustering av armens vinkel.
Steg 4: Sök efter ett nyckelord i HTTP -svar och andra EthernetClient -problem
Monteringen av servitören Please Bot var ganska enkel framåt utom Ethernet -sakerna.
Svårigheter
- Alla EthernetClient -samtal, särskilt DHCP Lease, är en process. Det fungerar som en fördröjning med rand vad som pausar programmet.
- Glöm JSON i API och WebHook Arduino Strings är onda ändå.
1. - Enstaka process
Jag ger upp för att få programmet att göra flera processer. Jag googlar få möjliga lösningar men ingen av dem var enkla. Jag ville behålla koden så liten och lättläst som möjligt.
2. - Analysera HTTP -svar.
Stabiliteten och förmågan att arbeta utan underhåll är viktiga krav. Så jag undviker att använda något String -objekt på grund av eventuellt minnesläckage.
EthernetClient är beroende av Stream -basklassen och dess sökfunktion gör det möjligt att söka efter nyckelord. Det är lite komplicerat och upptar många rader kod, men det fungerar.
Steg 5: Skiss och källa
Förråd:
Steg 6: Bygg hårdvaran
Armen
- Det finns fyra hörnskydd i den levererade lådan med Macbook. Jag använde den som stativ.
- Klipp ut en liten form som passar servon.
- Limma ihop stativet och servon med smältpistol.
- Tog ett rör från en begagnad schampoflacon och skruvade fast på servon.
- Dra leksaks handen på röret.
Kontrollen
- Gjorde en prototyp på brödbräda.
- Kopiera brödbrädans prototyp till det universella kretskortet.
- Jag använde break away headers för all trådkretsanslutning.
- Klipp ut papperslådan.
- Limma ihop lådans framsida och kretskortet.
- Lägg Arduino -kortet, Ethernet -skölden och lite svamp i lådan.
Gjort.