Innehållsförteckning:

Arduino och Raspberry Pi Powered Pet Monitoring System: 19 steg (med bilder)
Arduino och Raspberry Pi Powered Pet Monitoring System: 19 steg (med bilder)

Video: Arduino och Raspberry Pi Powered Pet Monitoring System: 19 steg (med bilder)

Video: Arduino och Raspberry Pi Powered Pet Monitoring System: 19 steg (med bilder)
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, November
Anonim
Image
Image
Arduino och Raspberry Pi Powered Pet Monitoring System
Arduino och Raspberry Pi Powered Pet Monitoring System
Arduino och Raspberry Pi Powered Pet Monitoring System
Arduino och Raspberry Pi Powered Pet Monitoring System

Nyligen under semestern insåg vi bristen på kontakt med vårt husdjur Beagle. Efter en del undersökningar hittade vi produkter med en statisk kamera som gjorde det möjligt för en att övervaka och kommunicera med sitt husdjur. Dessa system hade vissa fördelar men saknade mångsidighet. Till exempel krävde varje rum en enhet för att hålla koll på ditt husdjur tvärs över huset.

Därför utvecklade vi en robust robot som kan manövrera runt huset och kan övervaka sitt husdjur med hjälp av tingenas internet. En smartphone -app har utformats för att interagera med ditt husdjur via ett levande videoflöde. Robotens chassi är digitalt tillverkat eftersom flera delar skapades med 3D -utskrift och laserskärning. Slutligen bestämde vi oss för att lägga till en bonusfunktion som delas ut för att belöna ditt husdjur.

Följ vidare för att skapa ditt eget övervakningssystem för husdjur och kanske till och med anpassa det efter dina krav. Kolla in videon som är länkad ovan för att se hur vårt husdjur reagerade och för att få en bättre förståelse av roboten. Släpp en röst i "Robotics Contest" om du gillade projektet.

Steg 1: Översikt över designen

Översikt över designen
Översikt över designen
Översikt över designen
Översikt över designen

För att konceptualisera sällskapsdjurövervakningsroboten designade vi den först på fusion 360. Här är några av dess funktioner:

Roboten kan styras via en app via internet. Detta gör att användaren kan ansluta till roboten var som helst

En inbyggd kamera som live streamar ett videoflöde till smarttelefonen kan hjälpa användaren att manövrera runt i huset och interagera med husdjuret

En tilläggsskål som kan belöna ditt husdjur på distans

Digitalt tillverkade delar som gör att man kan anpassa sin robot

En Raspberry Pi användes för att ansluta till internet eftersom den har ett inbyggt wifi -läge

En Arduino användes tillsammans med en CNC -sköld för att ge kommandon till stegmotorerna

Steg 2: Material som behövs

Material behövs
Material behövs
Material behövs
Material behövs

Här är listan över alla komponenter som behövs för att göra din alldeles egna Arduino och Raspberry Pi-drivna robotövervakningsrobot. Alla delar ska vara allmänt tillgängliga och lätta att hitta.

ELEKTRONIK:

  • Arduino Uno x 1
  • Raspberry Pi (blinkade med senaste raspbian) x 1
  • CNC -skärm x 1
  • Stegmotordrivrutin för A4988 x 2
  • Picamera x 1
  • Ultraljudsavståndssensor x 1
  • 11.1v Lipo -batteri x 1
  • NEMA 17 Stegmotor x 2
  • 5v UBEC x 1

HÅRDVARA:

  • Hjul x 2 (hjulen som vi använde var 7 cm i diameter)
  • Hjul x 2
  • M4 och M3 muttrar och bultar

Den totala kostnaden för detta projekt exklusive Arduino och Raspberry Pi är cirka 50 $.

Steg 3: Digitalt tillverkade delar

Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar

Några av delarna som vi använde i detta projekt måste skräddarsys. Dessa modellerades först i Fusion 360 och tillverkades sedan med en 3D -skrivare och en laserskärare. De 3D -tryckta delarna bär inte mycket belastning så standard PLA med 20% fyllning fungerar utmärkt. Nedan är en lista över alla 3D-tryckta och laserskurna delar:

3D -tryckta delar:

  • Steghållare x 2
  • Vision Systemfäste x 1
  • Elektronikavstängning x 4
  • Vertikal distans x 4
  • Chassiförstärkning x 2
  • Treat Bowl Lock x 1
  • Behandla skål x 1
  • Bakre stegmontering x 1
  • Lindningsskiva x 1

Lasercut delar:

  • Bottenpanel x 1
  • Övre panel x 1

En zippad mapp som innehåller alla STL och laserskärningsfiler finns bifogad nedan.

Steg 4: Montera stegmotorn

Montera stegmotorn
Montera stegmotorn
Montera stegmotorn
Montera stegmotorn
Montera stegmotorn
Montera stegmotorn

När alla delar är 3D -tryckta, börja monteringen genom att montera stegmotorn i steghållaren. Stegmotorhållaren som vi konstruerade är avsedd för NEMA 17 -modellen (om man använder olika stegmaskiner kommer det att kräva ett annat fäste). För motorns axel genom hålet och säkra motorn på plats med fästskruvarna. När de är klara ska båda motorerna hållas säkert i hållarna.

Steg 5: Montera stegarna på bottenpanelen

Montering av steget på bottenpanelen
Montering av steget på bottenpanelen
Montering av steget på bottenpanelen
Montering av steget på bottenpanelen
Montering av steget på bottenpanelen
Montering av steget på bottenpanelen

För att montera hållarna på den laserskurna bottenpanelen använde vi M4-bultar. Innan du sätter fast dem med muttrarna, lägg till de 3D -tryckta chassiförstärkningsremsorna och fäst sedan muttrarna. Remsorna används för att fördela lasten jämnt på akrylpanelen.

För slutligen ledningarna genom respektive spår på panelen. Se till att dra dem hela vägen för att undvika att de fastnar i hjulen.

Steg 6: Montering av hjulen

Montering av hjulen
Montering av hjulen
Montering av hjulen
Montering av hjulen
Montering av hjulen
Montering av hjulen

Akrylpanelen har två sektioner utskurna för att passa hjulen. Hjulen som vi använde var 7 cm i diameter och kom med ställskruvar som fästes på 5 mm stegaxlar. Se till att hjulet sitter ordentligt och inte glider på axeln.

Steg 7: Fram- och bakhjul

Hjul fram och bak
Hjul fram och bak
Hjul fram och bak
Hjul fram och bak
Hjul fram och bak
Hjul fram och bak
Hjul fram och bak
Hjul fram och bak

För att chassit ska kunna röra sig smidigt bestämde vi oss för att placera hjul på framsidan och baksidan av roboten. Detta förhindrar inte bara att roboten välter utan det låter också chassit svänga fritt åt alla håll. Caster -hjul finns i alla storlekar, särskilt vår med en enda svängbar skruv som vi monterade på basen och använde 3D -tryckta distanser för att justera höjden så att roboten var helt horisontell. Med detta är chassiets bas komplett och har en bra stabilitet.

Steg 8: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik

När basen på chassit är helt monterad är det dags att montera elektroniken på akrylpanelen. Vi har gjort hål i akrylpanelen som ligger i linje med monteringshålen på Arduino och Raspberry Pi. Med hjälp av 3D -tryckta distanser höjde vi elektroniken något över akrylpanelerna så att allt överskott av ledningar kan stoppas snyggt under. Montera Arduino och Raspberry Pi till motsvarande monteringsplatser med M3 -muttrar och bultar. När Arduino är fixerad fäst CNC -skärmen till Arduino och anslut stegledarna i följande konfiguration.

  • Vänster steg till CNC-skärm X-axelport
  • Höger steg till CNC-skärm Y-axelport

Med stegmotorerna anslutna ansluter du Arduino till Raspberry Pi med Arduinos USB -kabel. Så småningom kommer Raspberry Pi och Arduino att kommunicera via denna kabel.

Obs: Robotens framsida är sidan med Raspberry Pi

Steg 9: Vision System

Vision System
Vision System
Vision System
Vision System
Vision System
Vision System

Den primära miljöinputen för vår djurövervakningsrobot är vision. Vi bestämde oss för att använda Picamera som är kompatibel med Raspberry Pi för att mata en livestream till användaren via internet. Vi använde också en ultraljudsavståndssensor för att undvika hinder när roboten fungerar autonomt. Båda sensorerna fästs på en hållare med hjälp av skruvar.

Picamera sitter i den angivna porten på Raspberry Pi och ansluter ultraljudssensorn på följande sätt:

  • Ultraljudssensor VCC till 5v skena på CNC -skärm
  • Ultraljudssensor GND till GND -skena på CNC -skärm
  • Ultraljudssensor TRIG till X+ ändstopp på CNC -skärm
  • Ultraljudssensor ECHO till Y+ ändstopp på CNC -skärm

Steg 10: Montering av topppanel

Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering

På robotens baksida är locköppningssystemet för behandlingsskålen monterat. Fäst ministegmotorn på den bakre hållarkomponenten och montera både synsystemet och lindningssystemet med M3 -bultar på toppanelen. Som nämnts, se till att montera synsystemet framför och lindningssystemet på baksidan med de två medföljande hålen.

Steg 11: Montering av topppanel

Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering
Övre panelmontering

Vi 3D -tryckta vertikala distanser för att stödja toppanelen i rätt höjd. Börja med att fästa de fyra distanserna på bottenpanelen för att bilda ett "X". Placera sedan den övre panelen med godisskålen och se till att deras hål är i linje och slutligen säkra den till distanserna också.

Steg 12: Öppningsmekanism för lock

Locköppningsmekanism
Locköppningsmekanism
Locköppningsmekanism
Locköppningsmekanism
Locköppningsmekanism
Locköppningsmekanism

För att styra locket på godisskålen använde vi en mindre stegmotor för att linda upp en nylonsträng som fästs på locket och dra upp den. Innan locket fästs, föra strängen genom 2 mm hålet på locket och gör en knut på insidan. Skär sedan den andra änden av strängen och skjut den genom hålen på lindningsskivan. Tryck på skivan på steget och dra sedan i snöret tills den är spänd. När du är klar, klipp av överskottet och knyt en knut. Slutligen, med hjälp av en bult och mutter, fäst locket på skålen och se till att det svänger. När steget roterar ska strängen linda på skivan och locket ska gradvis öppnas.

Steg 13: Konfigurera molndatabasen

Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen
Konfigurera molndatabasen

Det första steget är att skapa en databas för systemet så att du kan kommunicera med roboten från din mobilapp var som helst i världen. Klicka på följande länk (Google firebase), som leder dig till Firebase -webbplatsen (du måste logga in med ditt Google -konto). Klicka på "Kom igång" -knappen som tar dig till eldbaskonsolen. Skapa sedan ett nytt projekt genom att klicka på knappen "Lägg till projekt", fyll i kraven (namn, detaljer etc.) och slutför genom att klicka på "Skapa projekt" -knappen.

Vi behöver bara Firebases databasverktyg, så välj "databas" från menyn till vänster. Klicka sedan på knappen "Skapa databas", välj alternativet "testläge". Ställ sedan in databasen till en "realtidsdatabas" istället för "molnfirestore" genom att klicka på rullgardinsmenyn högst upp. Välj fliken "regler" och ändra de två "falska" till "sanna", klicka slutligen på "data" -fliken och kopiera databasens URL, detta kommer att krävas senare.

Det sista du behöver göra är att klicka på kugghjulsikonen bredvid projektöversikten, sedan på "projektinställningar", välj sedan "tjänstkonton" -fliken, klicka till sist på "Databashemligheter" och notera säkerheten kod för din databas. När detta steg är klart har du framgångsrikt skapat din molndatabas som kan nås från din smartphone och från Raspberry Pi. (Använd bilderna som bifogas ovan vid tvivel, eller ställ bara en fråga i kommentarsfältet)

Steg 14: Skapa mobilappen

Skapa mobilappen
Skapa mobilappen
Skapa mobilappen
Skapa mobilappen
Skapa mobilappen
Skapa mobilappen
Skapa mobilappen
Skapa mobilappen

Nästa del av IoT -systemet är smartphone -applikationen. Vi bestämde oss för att använda MIT App Inventor för att göra vår egen anpassade app. För att använda appen som vi skapade öppnar du först följande länk (MIT App Inventor), som leder dig till deras webbsida. Klicka sedan på "skapa appar" högst upp på skärmen och logga sedan in med ditt Google -konto.

Ladda ner.aia -filen som är länkad nedan. Öppna fliken "projekt" och klicka på "Importera projekt (.aia) från min dator". Välj sedan filen som du just laddade ner och klicka på "ok". I komponentfönstret bläddrar du hela vägen ner tills du ser "FirebaseDB1", klickar på det och ändrar "FirebaseToken", "FirebaseURL" till de värden som du hade noterat i föregående steg. När dessa steg är klara är du redo att ladda ner och installera appen. Du kan ladda ner appen direkt till din telefon genom att klicka på "Bygg" -fliken och klicka på "App (ange QR -kod för.apk)" och sedan skanna QR -koden med din smartphone eller klicka på "App (spara.apk till min dator) "kommer du att ladda ner apk -filen till din dator som du sedan kan flytta till din smartphone.

Steg 15: Programmering av Raspberry Pi

Programmering av Raspberry Pi
Programmering av Raspberry Pi

Raspberry Pi används av två primära skäl.

  1. Den överför en levande videoström från roboten till en webbserver. Denna ström kan ses av användaren med mobilappen.
  2. Den läser de uppdaterade kommandona i brandbasdatabasen och instruerar Arduino att utföra de nödvändiga uppgifterna.

För att ställa in Raspberry Pi för livestream, finns det redan en detaljerad handledning som finns här. Instruktionerna går ner till tre enkla kommandon. Slå på Raspberry Pi och öppna terminalen och ange följande kommandon.

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

När installationen är klar startar du om Pi och du bör kunna komma åt strömmen genom att söka https:// din Pi: s IP -adress i valfri webbläsare.

När livestreamingen är inställd måste du ladda ner och installera vissa bibliotek för att kunna använda molndatabasen. Öppna en terminal på din Pi och ange följande kommandon:

  • sudo pip installationsförfrågningar == 1.1.0
  • sudo pip installera python-firebase

Slutligen ladda ner pythonfilen som bifogas nedan och spara den på din Raspberry Pi. På den fjärde raden i koden ändrar du COM -porten till porten som Arduino är ansluten till. Ändra sedan webbadressen på rad 8 till den eldbasbas -URL som du hade sparat tidigare. Slutligen kör programmet via terminalen. Detta program hämtar kommandona från molndatabasen och vidarebefordrar det till Arduino via den seriella anslutningen.

Steg 16: Programmering av Arduino

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

Arduino används för att tolka kommandona från Pi och instruerar ställdonen på roboten att utföra de nödvändiga uppgifterna. Ladda ner Arduino -koden nedan och ladda upp den på Arduino. När Arduino är programmerad ansluter du den till en av Pi: s USB -portar med den dedikerade USB -kabeln.

Steg 17: Strömförsörjning av systemet

Driva systemet
Driva systemet

Roboten kommer att stängas av ett 3 -cellers lipobatteri. Batteripolerna måste delas upp i två, där den ena går direkt till CNC -skärmen för att driva motorerna, medan den andra får anslutning till 5v UBEC, vilket skapade en stadig 5v kraftledning som kommer att användas för att driva Raspberry Pi genom GPIO -stiften. 5v från UBEC är ansluten till 5v pin på Raspberry Pi och GND från UBEC är ansluten till GND pin på Pi.

Steg 18: Använda appen

Använda appen
Använda appen
Använda appen
Använda appen
Använda appen
Använda appen

Appens gränssnitt tillåter en att styra övervakningsroboten samt streama ett levande flöde från den inbyggda kameran. För att ansluta till din robot, se till att du har en stabil internetanslutning och skriv sedan in Raspberry Pi: s IP -adress i den medföljande textrutan och klicka på uppdateringsknappen. När det är klart visas live -flödet på din skärm och du bör kunna styra robotens olika funktioner.

Steg 19: Klar att testa

Redo att testa
Redo att testa
Redo att testa
Redo att testa

Nu när din djurövervakningsrobot är färdigmonterad kan du fylla skålen med några hundgodisar. Öppna appen, anslut kameran och ha kul! Vi har för närvarande lekt med rovern och vår Beagle och har fångat ganska roliga stunder.

När hunden väl övervann den ursprungliga rädslan för detta rörliga föremål, jagade den boten runt huset för godis. Den inbyggda kameran ger en bra vidvinkelvy av omgivningen vilket gör den ganska lätt att manövrera.

Det finns utrymme för förbättringar för att få det att fungera bättre i den verkliga världen. Som sagt, vi har skapat ett robust system, som man kan bygga vidare på och expandera på. Om du gillade det här projektet, lägg en röst på oss i "Robotics Contest"

Happy Making!

Robotics Contest
Robotics Contest
Robotics Contest
Robotics Contest

Andra pris i Robotics Contest

Rekommenderad: