Innehållsförteckning:
- Steg 1: Översikt över designen
- Steg 2: Material som behövs
- Steg 3: Digitalt tillverkade delar
- Steg 4: Montera stegmotorn
- Steg 5: Montera stegarna på bottenpanelen
- Steg 6: Montering av hjulen
- Steg 7: Fram- och bakhjul
- Steg 8: Elektronik
- Steg 9: Vision System
- Steg 10: Montering av topppanel
- Steg 11: Montering av topppanel
- Steg 12: Öppningsmekanism för lock
- Steg 13: Konfigurera molndatabasen
- Steg 14: Skapa mobilappen
- Steg 15: Programmering av Raspberry Pi
- Steg 16: Programmering av Arduino
- Steg 17: Strömförsörjning av systemet
- Steg 18: Använda appen
- Steg 19: Klar att testa
Video: Arduino och Raspberry Pi Powered Pet Monitoring System: 19 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Raspberry Pi används av två primära skäl.
- Den överför en levande videoström från roboten till en webbserver. Denna ström kan ses av användaren med mobilappen.
- 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
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
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
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
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!
Andra pris i Robotics Contest
Rekommenderad:
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Pet Feedermaskin med RasPi och Telegram Bot: 4 steg (med bilder)
Pet Feeder Machine med RasPi och Telegram Bot: Först och främst måste jag förtydliga att detta inte är en original Idea Mine, bara uppdatera och anpassa programmeringsskripten för att fungera med telegram, jag hittade det i en tidigare Instructable så krediterna är verkligen författare till det. Du kunde se spanska
IoT Plant Monitoring System (med IBM IoT -plattform): 11 steg (med bilder)
IoT Plant Monitoring System (Med IBM IoT Platform): Översikt Plant Monitoring System (PMS) är en applikation byggd med individer som är i arbetarklassen med en grön tumme i åtanke. Idag är arbetande individer mer upptagna än någonsin; utveckla sin karriär och hantera sin ekonomi.
Arduino Powered Dust Particles Monitoring Station: 4 steg (med bilder)
Arduino Powered Dust Particles Monitoring Station: Du kan ganska enkelt bygga en DIY Internet of Things -enhet som övervakar dammföroreningar i ditt hem för mindre än $ 50 och få ett meddelande när dammnivån blir för hög så att du kan lufta rummet, eller du kan ställa in det utanför och få ett meddelande om det är
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid