Innholdsfortegnelse:

Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr: 19 trinn (med bilder)
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr: 19 trinn (med bilder)

Video: Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr: 19 trinn (med bilder)

Video: Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr: 19 trinn (med bilder)
Video: Превратите свой Raspberry Pi Pico в ПЛК Mitsubishi FX1N 2024, Desember
Anonim
Image
Image
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr

Nylig, mens vi var på ferie, innså vi mangelen på forbindelse med kjæledyret vårt Beagle. Etter litt undersøkelser fant vi produkter som inneholdt et statisk kamera som tillot en å overvåke og kommunisere med kjæledyret. Disse systemene hadde visse fordeler, men manglet allsidighet. For eksempel krevde hvert rom en enhet for å holde oversikt over kjæledyret ditt over hele huset.

Derfor utviklet vi en robust robot som kan manøvrere rundt i huset og kan overvåke kjæledyret ved hjelp av tingenes internett. En smarttelefon -app ble designet for å samhandle med kjæledyret ditt via en live videofeed. Chassiset til roboten er digitalt produsert ettersom flere deler ble laget ved hjelp av 3D -utskrift og laserskjæring. Til slutt bestemte vi oss for å legge til en bonusfunksjon som gir godbiter for å belønne kjæledyret ditt.

Følg med for å lage ditt eget kjæledyrovervåkingssystem og kanskje til og med tilpasse det til dine krav. Sjekk videoen som er lenket ovenfor for å se hvordan kjæledyret vårt reagerte og for å få en bedre forståelse av roboten. Ikke stem i "Robotics Contest" hvis du likte prosjektet.

Trinn 1: Oversikt over designet

Oversikt over designet
Oversikt over designet
Oversikt over designet
Oversikt over designet

For å konseptualisere kjæledyrovervåkingsroboten, designet vi den først på fusion 360. Her er noen av funksjonene:

Roboten kan styres via en app via internett. Dette lar brukeren koble seg til roboten hvor som helst

Et innebygd kamera som sender en videofeed til smarttelefonen, kan hjelpe brukeren å manøvrere rundt i huset og samhandle med kjæledyret

En tilleggsskål som kan belønne kjæledyret ditt eksternt

Digitalt produserte deler som lar en tilpasse roboten

En Raspberry Pi ble brukt til å koble til internett, da den har en innebygd wifi -modus

En Arduino ble brukt sammen med et CNC -skjold for å gi kommandoer til trinnmotorene

Trinn 2: Materialer som trengs

Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs

Her er listen over alle komponentene som trengs for å lage din helt egen Arduino og Raspberry Pi-drevne overvåkingsrobot for kjæledyr. Alle deler skal være allment tilgjengelige og lette å finne.

ELEKTRONIKK:

  • Arduino Uno x 1
  • Raspberry Pi (blinket med siste raspbian) x 1
  • CNC -skjold x 1
  • A4988 trinnmotor driver x 2
  • Picamera x 1
  • Ultralydavstandssensor x 1
  • 11.1v Lipo -batteri x 1
  • NEMA 17 trinnmotor x 2
  • 5v UBEC x 1

MASKIN:

  • Felger x 2 (hjulene vi brukte var 7 cm i diameter)
  • Hjul x 2
  • M4 og M3 muttere og bolter

Den totale kostnaden for dette prosjektet eksklusive Arduino og Raspberry Pi er rundt 50 $.

Trinn 3: Digitalt produserte deler

Digitalt produserte deler
Digitalt produserte deler
Digitalt produserte deler
Digitalt produserte deler

Noen av delene som vi brukte i dette prosjektet måtte skreddersys. Disse ble først modellert i Fusion 360 og ble deretter laget med en 3D -skriver og en laserskjærer. De 3D -trykte delene bærer ikke mye belastning, så standard PLA med 20% utfylling fungerer utmerket. Nedenfor er en liste over alle 3D-trykte og laserskårne deler:

3D -trykte deler:

  • Stepper Holder x 2
  • Vision System Mount x 1
  • Elektronikkavstand x 4
  • Vertikal avstandsstykke x 4
  • Chassisforsterkning x 2
  • Treat Bowl Lid x 1
  • Treat Bowl x 1
  • Bakre trinnmontering x 1
  • Svingeskive x 1

Lasercut -deler:

  • Bunnpanel x 1
  • Toppanel x 1

En mappe med glidelås som inneholder alle STL -er og laserskjæringsfiler finner du vedlagt nedenfor.

Trinn 4: Fest trinnmotoren

Fest trinnmotoren
Fest trinnmotoren
Fest trinnmotoren
Fest trinnmotoren
Fest trinnmotoren
Fest trinnmotoren

Når alle delene er 3D -trykte, begynner du monteringen ved å montere trinnmotoren i trinnholder. Steppermotorholderen som vi designet er beregnet på NEMA 17 -modellen (hvis man bruker forskjellige steppere vil det kreve et annet feste). Før motorakselen gjennom hullet og fest motoren på plass med festeskruene. Når de er gjort, skal begge motorene holdes godt fast i holderne.

Trinn 5: Montering av trinnene på bunnpanelet

Montering av trinnene på bunnpanelet
Montering av trinnene på bunnpanelet
Montering av trinnene på bunnpanelet
Montering av trinnene på bunnpanelet
Montering av trinnene på bunnpanelet
Montering av trinnene på bunnpanelet

For å montere holderne på det laserskårne bunnpanelet brukte vi M4-bolter. Før du fester dem med muttere, legg til de 3D -trykte chassisforsterkningsstrimlene og fest mutrene. Strimlene brukes til å fordele lasten jevnt på akrylpanelet.

Før til slutt ledningene gjennom de respektive sporene på panelet. Sørg for å trekke dem hele veien for å unngå at de blir viklet inn i hjulene.

Trinn 6: Montering av hjulene

Montering av hjulene
Montering av hjulene
Montering av hjulene
Montering av hjulene
Montering av hjulene
Montering av hjulene

Akrylpanelet har to seksjoner som er skåret ut for å passe til hjulene. Hjulene vi brukte var 7 cm i diameter og kom med settskruer som festet på 5 mm trinnakselen. Sørg for at hjulet er ordentlig festet og ikke sklir på akselen.

Trinn 7: Forhjul og bakhjul

Hjul foran og bak
Hjul foran og bak
Hjul foran og bak
Hjul foran og bak
Hjul foran og bak
Hjul foran og bak
Hjul foran og bak
Hjul foran og bak

For å la chassiset bevege seg jevnt, bestemte vi oss for å plassere hjulene foran og bak på roboten. Dette forhindrer ikke bare at roboten kan velte, men den lar også chassiset svinge fritt i alle retninger. Caster hjul kommer i alle størrelser, spesielt vår kom med en enkelt svingbar skrue som vi monterte på basen og brukte 3d -trykte avstandsstykker for å justere høyden slik at roboten var helt horisontal. Med dette er chassisets base komplett og har god stabilitet.

Trinn 8: Elektronikk

Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk

Når bunnen av kabinettet er ferdig montert, er det på tide å montere elektronikken på akrylpanelet. Vi har laget hull i akrylpanelet som er på linje med monteringshullene på Arduino og Raspberry Pi. Ved å bruke 3D -trykte standoff hevet vi elektronikken litt over akrylpanelene, slik at alle overflødige ledninger kan gjemmes pent under. Monter Arduino og Raspberry Pi til de tilsvarende monteringsstedene ved hjelp av M3 muttere og bolter. Når Arduino er festet, fest CNC -skjoldet til Arduino og koble trinntrådene i følgende konfigurasjon.

  • Venstre stepper til CNC-skjerm X-akseport
  • Høyre stepper til CNC-skjerm Y-akseport

Når trinnmotorene er tilkoblet, kobler du Arduino til Raspberry Pi ved hjelp av Arduinos USB -kabel. Etter hvert kommer Raspberry Pi og Arduino til å kommunisere gjennom denne kabelen.

Merk: Fronten på roboten er siden med Raspberry Pi

Trinn 9: Visjonssystem

Visjon System
Visjon System
Visjon System
Visjon System
Visjon System
Visjon System

Den primære miljøinngangen til vår robot for overvåkning av kjæledyr er syn. Vi bestemte oss for å bruke Picamera som er kompatibel med Raspberry Pi for å mate en direktesending til brukeren via internett. Vi brukte også en ultralydavstandssensor for å unngå hindringer når roboten fungerer autonomt. Begge sensorene festes til en holder ved hjelp av skruer.

Picamera plasseres i den angitte porten på Raspberry Pi og kobler ultralydssensoren på følgende måte:

  • Ultralydsensor VCC til 5v skinne på CNC -skjerm
  • Ultralydsensor GND til GND -skinne på CNC -skjerm
  • Ultralydssensor TRIG til X+ endepinne på CNC -skjerm
  • Ultralydsensor ECHO til Y+ endepinne på CNC -skjerm

Trinn 10: Montering av topplate

Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate

På baksiden av roboten er det montert lokkåpningssystemet for godbitskålen. Fest mini -steppermotoren til den bakre komponenten og monter både synssystemet og viklingssystemet med M3 -bolter på toppanelet. Som nevnt, sørg for å montere synssystemet foran og viklingssystemet på baksiden med de to hullene som følger med.

Trinn 11: Montering av topplate

Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate
Montering av topplate

Vi 3d -trykte vertikale avstandsstykker for å støtte toppanelet i riktig høyde. Start med å feste de fire avstandsstykkene til bunnpanelet for å danne et "X". Plasser deretter toppanelet med godbitskålen, og sørg for at hullene er på linje og fest det til slutt også til avstandsstykkene.

Trinn 12: Lukkeåpningsmekanisme

Lokkåpningsmekanisme
Lokkåpningsmekanisme
Lokkåpningsmekanisme
Lokkåpningsmekanisme
Lokkåpningsmekanisme
Lokkåpningsmekanisme

For å kontrollere lokket på godbitskålen brukte vi en mindre trinnmotor til å sno en nylonsnor festet til lokket og trekke den opp. Før du fester lokket, før snoren gjennom det 2 mm hullet på lokket og lag en knute på innsiden. Klipp deretter den andre enden av strengen og før den gjennom hullene på viklingsskiven. Skyv platen på stepper, og trekk deretter i snoren til den er stram. Når du er ferdig, kutter du overskuddet og knytter en knute. Fest til slutt lokket til bollen med en bolt og mutter, og sørg for at det svinger. Nå som stepperen roterer, skal strengen snor seg på platen og lokket skal gradvis åpnes.

Trinn 13: Sette opp skydatabasen

Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen
Sette opp skydatabasen

Det første trinnet er å lage en database for systemet slik at du kan kommunisere med roboten fra mobilappen din fra hvor som helst i verden. Klikk på følgende lenke (Google firebase), som leder deg til Firebase -nettstedet (du må logge deg på med Google -kontoen din). Klikk på "Kom i gang" -knappen som tar deg til brannbase -konsollen. Lag deretter et nytt prosjekt ved å klikke på "Legg til prosjekt" -knappen, fyll ut kravene (navn, detaljer osv.) Og fullfør ved å klikke på "Opprett prosjekt" -knappen.

Vi trenger bare Firebases databaseverktøy, så velg "database" fra menyen til venstre. Klikk deretter på "Opprett database" -knappen, velg alternativet "testmodus". Sett deretter databasen til en "sanntidsdatabase" i stedet for "skyfirestore" ved å klikke på rullegardinmenyen øverst. Velg kategorien "regler" og endre de to "usanne" til "sanne", klikk til slutt på "data" -fanen og kopier databasens URL. Dette vil bli påkrevd senere.

Det siste du må gjøre er å klikke på tannhjulikonet ved siden av prosjektoversikten, deretter på "prosjektinnstillinger", deretter velge "tjenestekontoer" -fanen, til slutt klikke på "Database Secrets" og notere sikkerheten koden til databasen din. Når dette trinnet er fullført, har du opprettet din skydatabase som du kan få tilgang til fra smarttelefonen og fra Raspberry Pi. (Bruk bildene vedlagt ovenfor hvis du er i tvil, eller bare legg et spørsmål i kommentarfeltet)

Trinn 14: Opprette mobilappen

Opprette mobilappen
Opprette mobilappen
Opprette mobilappen
Opprette mobilappen
Opprette mobilappen
Opprette mobilappen
Opprette mobilappen
Opprette mobilappen

Den neste delen av IoT -systemet er smarttelefonprogrammet. Vi bestemte oss for å bruke MIT App Inventor til å lage vår egen tilpassede app. For å bruke appen vi opprettet, åpner du først følgende lenke (MIT App Inventor), som leder deg til nettsiden deres. Klikk deretter på "opprett apper" øverst på skjermen, og logg inn med Google -kontoen din.

Last ned.aia -filen som er koblet nedenfor. Åpne kategorien "prosjekter" og klikk på "Importer prosjekt (.aia) fra datamaskinen min". Velg deretter filen du nettopp lastet ned, og klikk "ok". I komponentvinduet blar du helt ned til du ser "FirebaseDB1", klikker på det og endrer "FirebaseToken", "FirebaseURL" til verdiene du hadde notert i forrige trinn. Når disse trinnene er fullført, er du klar til å laste ned og installere appen. Du kan laste ned appen direkte til telefonen din ved å klikke på "Bygg" -fanen og klikke på "App (oppgi QR -kode for.apk)" og deretter skanne QR -koden med smarttelefonen eller klikke på "App (lagre. Apk til min datamaskin) "vil du laste ned apk -filen til datamaskinen din, som du deretter kan flytte til smarttelefonen din.

Trinn 15: Programmering av Raspberry Pi

Programmering av Raspberry Pi
Programmering av Raspberry Pi

Raspberry Pi brukes av to hovedårsaker.

  1. Den sender en live videostrøm fra roboten til en webserver. Denne strømmen kan vises av brukeren ved hjelp av mobilappen.
  2. Den leser de oppdaterte kommandoene på brannbase -databasen og instruerer Arduino om å utføre de nødvendige oppgavene.

For å sette opp Raspberry Pi til live-stream, eksisterer det allerede en detaljert opplæring som du finner her. Instruksjonene koker ned til tre enkle kommandoer. Slå på Raspberry Pi og åpne terminalen og skriv inn følgende kommandoer.

  • git -klon
  • cd RPi_Cam_Web_Interface
  • ./install.sh

Når installasjonen er fullført, start Pi på nytt, og du bør ha tilgang til strømmen ved å søke på https:// Pi -IP -adressen din i en hvilken som helst nettleser.

Med live streaming satt opp, må du laste ned og installere visse biblioteker for å kunne bruke skydatabasen. Åpne en terminal på din Pi og skriv inn følgende kommandoer:

  • sudo pip installasjonsforespørsler == 1.1.0
  • sudo pip installer python-firebase

Til slutt, last ned python -filen vedlagt nedenfor og lagre den på Raspberry Pi. På den fjerde linjen i koden endrer du COM -porten til porten Arduino er koblet til. Deretter endrer du nettadressen på linje 8 til brannbase -URL -en du tidligere hadde notert. Til slutt, kjør programmet gjennom terminalen. Dette programmet henter kommandoene fra skydatabasen og videresender det til Arduino gjennom den serielle tilkoblingen.

Trinn 16: Programmering av Arduino

Programmering av Arduino
Programmering av Arduino
Programmering av Arduino
Programmering av Arduino

Arduino brukes til å tolke kommandoene fra Pi og instruerer aktuatorene på roboten til å utføre de nødvendige oppgavene. Last ned Arduino -koden som er vedlagt nedenfor, og last den opp til Arduino. Når Arduino er programmert, kobler du den til en av Pi's USB -porter ved hjelp av den dedikerte USB -kabelen.

Trinn 17: Slå på systemet

Strømforsyning av systemet
Strømforsyning av systemet

Roboten slås av et 3 -cellers lipo -batteri. Batteripolene må deles i to, hvor den ene går direkte til CNC -skjoldet for å drive motorene, mens den andre blir koblet til 5v UBEC, som skapte en jevn 5v kraftledning som skal brukes til å drive Raspberry Pi gjennom GPIO -pinnene. 5v fra UBEC er koblet til 5v pin på Raspberry Pi og GND fra UBEC er koblet til GND pin på Pi.

Trinn 18: Bruke appen

Bruke appen
Bruke appen
Bruke appen
Bruke appen
Bruke appen
Bruke appen

Grensesnittet til appen lar en styre overvåkingsroboten samt streame en live feed fra det innebygde kameraet. For å koble til roboten din må du sørge for at du har en stabil internettforbindelse og deretter bare skrive inn Raspberry Pi's IP -adresse i den medfølgende tekstboksen og klikke på oppdateringsknappen. Når det er gjort, vil live feed vises på skjermen, og du bør kunne kontrollere de forskjellige funksjonene til roboten.

Trinn 19: Klar til test

Klar til å teste
Klar til å teste
Klar til å teste
Klar til å teste

Nå som din overvåkingsrobot for kjæledyr er ferdig montert, kan du fylle bollen med noen godbiter fra hunden. Åpne appen, koble til kameraet og ha det gøy! Vi har for tiden lekt med roveren og Beagleen vår og har fanget ganske morsomme øyeblikk.

Når hunden overvant den første frykten for dette objektet i bevegelse, jaget den boten rundt i huset etter godbiter. Det innebygde kameraet gir et godt vidvinkelsyn av omgivelsene, noe som gjør det ganske enkelt å manøvrere.

Det er rom for forbedring for å få det til å fungere bedre i den virkelige verden. Når det er sagt, har vi skapt et robust system, som man kan bygge videre på og utvide videre til. Hvis du likte dette prosjektet, må du stemme på oss i "Robotikkonkurransen"

Happy Making!

Robotikkonkurranse
Robotikkonkurranse
Robotikkonkurranse
Robotikkonkurranse

Andre pris i Robotikkonkurransen

Anbefalt: