Innholdsfortegnelse:
- Trinn 1: Lage et design
- Trinn 2: Lag Fusion 360 -modellen
- Trinn 3: Sette opp Pi
- Trinn 4: Installere programvare
- Trinn 5: Sette opp en webserver
- Trinn 6: Kontrollere IO
Video: IoT Treat Dispenser for Pets: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Jeg har to katter, og å måtte gi dem godbiter omtrent 3 ganger om dagen ble ganske plagsomt. De ville se opp på meg med sine søte ansikter og intense blikk, for deretter å løpe til en boks full av kattegrønne, mjae og tigge etter dem. Jeg hadde bestemt meg for at nok var nok. Ikke mer stå opp bare for å gi en katt et par godbiter. Nå var tiden inne for en godbitutleveringsmaskin, for som det heter: "Programmerere eksisterer for å lage kompliserte ting for å gjøre enkle ting mindre."
DFRobot sponset dette prosjektet.
Deleliste:
- DFRobot Raspberry Pi 3
- DFRobot Raspberry Pi kameramodul
- DFRobot trinnmotor med planetgir
- I2C LCD 16x2
- Barrel Jack til Terminal
- DRV8825 trinnmotor driver
- Kondensator 100 µF
- Arduino UNO & Genuino UNO
- Stikkledere (generisk)
Trinn 1: Lage et design
Først var valget av hvordan jeg skulle styre min nytenkte maskin. Bluetooth ville ha hatt for kort rekkevidde, bare 30 fot uten hindringer. Med denne informasjonen valgte jeg å bruke WiFi. Men nå, hvordan bruker jeg WiFi til å kontrollere maskinen? En Raspberry Pi 3 har innebygde WiFi -muligheter, slik at jeg kan bruke Flask til å være vert for en webside. Neste var temaet for kabinettet og hvordan du skal dele ut godbiter. Jeg bestemte meg for et roterende hjuldesign, der godbiter skulle falle i små seksjoner, roteres rundt, og deretter ville godbitene falle ned på en rampe og reise til forsiden av maskinen.
Trinn 2: Lag Fusion 360 -modellen
Jeg begynte med å lage en basismodell for godbitbeholderen. Godbiter faller ned i en minihopper hvor de deretter tas inn i et roterende hjul.
Deretter la jeg Raspberry Pi 3 til Fusion -designen, sammen med den andre elektronikken, inkludert en LCD- og Raspberry Pi -kameramodul. Jeg lagde også en beholder som kunne lagre flere godbiter.
Veggene til godbidispenseren skal kuttes ut av 1/4 tommers kryssfiner på en CNC -ruter. Det er 7 stykker i det, 4 vegger, et gulv og et topp- og lokkstykke som kan åpnes og lukkes for å avsløre godbitene.
Til slutt skapte jeg et "fancy" håndtak for å åpne lokket.
Trinn 3: Sette opp Pi
DFRobot nådde ut til meg og sendte deres Raspberry Pi 3 og Raspberry Pi kameramodul. Så etter at jeg åpnet boksene, fikk jeg rett til å jobbe ved å sette opp SD -kortet. Først gikk jeg til Raspberry Pi Downloads -siden og lastet ned den nyeste versjonen av Raspbian. Jeg hentet deretter ut filen og la den i en praktisk katalog. Du kan ikke bare kopiere/lime inn en.img -fil til et SD -kort, du må "brenne den" på kortet. Du kan laste ned et brennende verktøy som Etcher.io for enkelt å overføre OS -bildet. Etter at.img -filen var på SD -kortet mitt, satte jeg den inn i Raspberry Pi og ga den strøm. Etter omtrent 50 sekunder koblet jeg ut ledningen og fjernet SD -kortet. Deretter satte jeg SD -kortet tilbake i PC -en og gikk til "boot" -katalogen. Jeg åpnet Notisblokk og lagret den som en tom fil som heter "ssh" uten utvidelse. Det var også en fil jeg la til som heter "wpa_supplicant.conf" og la denne teksten inn i den: network = {ssid = psk =} Så lagret og kastet jeg ut kortet og satte det tilbake i Raspberry Pi 3. Dette skulle nå tillate bruk av SSH og tilkobling til WiFi.
Trinn 4: Installere programvare
Det er flere forskjellige programvarer som kan streame video, for eksempel VLC og motion, men jeg bestemte meg for å bruke mjpeg-streameren på grunn av den lave ventetiden og enkel installasjon. I henhold til instruksjonene på nettstedet, gjør du: git clone https://github.com/jacksonliam/mjpg-streamer.git I en mappe, skriver du inn: sudo apt-get install cmake libjpeg8-dev For å installere de nødvendige bibliotekene. Endre katalogen til mappen du lastet ned, og skriv deretter: make Etterfulgt av: sudo make install For å kompilere programvaren. Til slutt skriver du inn: eksport LD_LIBRARY_PATH =. Og for å kjøre den skriver du:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Du får tilgang til strømmen ved å gå til: https:// Pi's lokale ip: 8080/stream. html For å se strømmen.
Trinn 5: Sette opp en webserver
For å få maskinen til å bli eksternt styrt av WiFi trengte jeg en webserver. En webserver serverer i utgangspunktet nettsider når det blir forespurt, vanligvis av en nettleser. Jeg ønsket noe raskt og enkelt å sette opp og bruke, og tok Apache fra bordet. Jeg ønsket også å koble webserveren til Python, slik at jeg kunne kontrollere Arduino Uno med PySerial. Denne søken førte meg til slutt til Flask, et fint Python -bibliotek som lar brukerne raskt lage en webserver. Hele koden er vedlagt denne prosjektsiden. Python -skriptet setter i utgangspunktet opp to websider, en som er plassert i rotkatalogen '/', og en annen som er hostet på '/dispense'. Indekssiden har et HTML -skjema som, når den sendes, sender en forespørsel om utlegg til utleveringssiden. Utleveringssiden sjekker deretter om innleggsverdien er korrekt, og om det er meldingen 'D / n' blir sendt via serienummer til Arduino Uno.
Trinn 6: Kontrollere IO
Jeg bestemte meg for å bruke DRV8825 til å drive steppermotoren min, hovedsakelig på grunn av at den bare trengte 2 IO -pinner sammen med å ha justerbar strømbegrensning. Jeg prøvde å bruke en L293D, men den klarte ikke å håndtere belastningen på trinnmotoren. DRV8825 styres ved å pulsere STEP -pinnen via PWM, og retningen styres ved å trekke DIR -pinnen høyt eller lavt. Stepper motoren jeg bruker har en 1,2 amp trekk, så jeg justerte VREF spenningen til.6V. Neste var LCD -skjermen. Jeg ønsket å bruke I2C for å redusere mengden IO som trengs og for å forenkle koden. For å installere biblioteket, bare søk etter "LiquidCrystal_I2C" og installer det. Til slutt ser Arduino Uno etter ny informasjon i seriebufferen og om den samsvarer med 'D'. Hvis den gjør det, får Uno trinnmotoren til å bevege seg 180 grader og deretter -72 grader for å forhindre at godbiter blir liggende.
Anbefalt:
Pumpkin Pi Trick-or-Treat Tracker: 5 trinn
Pumpkin Pi Trick-or-Treat Tracker: Leter du etter et raskt Halloween-prosjekt som er nyttig på flere måter enn en? Vil du bruke den Pi Zero WH til god bruk? Har du lyst til å bruke data for å finne ut hvor mye godteri du trenger neste år? Gjør deg klar til å bygge Pumpkin Pi Trick-or-Treat Tracker
Paper Pocket Pets: 5 trinn (med bilder)
Paper Pocket Pets: Paper Pocket Pets (PPP) er et sett designet for å lage interaktive modulære og bærbare leker. Det oppmuntrer barns bevegelse og sosialitet takket være kjæledyrets reaksjoner og lar barn bygge sitt eget representative kjæledyr og også forandre
Arduino Powered Dog Food Dispenser: 10 trinn (med bilder)
Arduino Powered Dog Food Dispenser: Hvis huset ditt ligner på meg, kan noen oppgaver bli glemt når det er travelt. Ikke la det være kjæledyret ditt som blir glemt! Denne automatiserte hundefôrdispenseren bruker en Arduino for å levere riktig mengde småkaker til rett tid. Alle på
Arduino Based Medicine Dispenser: 5 trinn (med bilder)
Arduino Based Medicine Dispenser: Dette er superenkelt å lage og super nyttig
Robotic Filament Dispenser for Arduino: 8 trinn (med bilder)
Robotic Filament Dispenser for Arduino: Hvorfor et motorisert verktøy for 3D -skrivere filament - vanligvis nesten robust - trekkes av ekstruderen mens rullen plasseres i nærheten av skriveren, og kan roteres fritt. Jeg har observert betydelige forskjeller i den materielle oppførselen avhengig av bruksmåten