Inhoudsopgave:
- Stap 1: Overzicht van het ontwerp
- Stap 2: Benodigde materialen
- Stap 3: Digitaal vervaardigde onderdelen
- Stap 4: De stappenmotor bevestigen
- Stap 5: De steppers op het onderste paneel monteren
- Stap 6: De wielen monteren
- Stap 7: Zwenkwielen voor en achter
- Stap 8: Elektronica
- Stap 9: Visiesysteem
- Stap 10: Montage van het bovenpaneel
- Stap 11: Montage van het bovenpaneel
- Stap 12: Deksel openingsmechanisme
- Stap 13: De clouddatabase instellen
- Stap 14: De mobiele app maken
- Stap 15: Programmeren van de Raspberry Pi
- Stap 16: De Arduino programmeren
- Stap 17: Het systeem aanzetten
- Stap 18: De app gebruiken
- Stap 19: Klaar om te testen
Video: Arduino en Raspberry Pi aangedreven huisdierbewakingssysteem - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Onlangs, terwijl we op vakantie waren, realiseerden we ons het gebrek aan verbinding met ons huisdier Beagle. Na wat onderzoek vonden we producten met een statische camera waarmee je je huisdier kon volgen en ermee kon communiceren. Deze systemen hadden bepaalde voordelen, maar misten veelzijdigheid. Elke kamer had bijvoorbeeld een eenheid nodig om uw huisdier in het hele huis bij te houden.
Daarom hebben we een robuuste robot ontwikkeld die door het huis kan manoeuvreren en zijn huisdier kan volgen met behulp van de kracht van het internet der dingen. Een smartphone-app is ontworpen om met uw huisdier te communiceren via een live videofeed. Het chassis van de robot is digitaal gefabriceerd omdat verschillende onderdelen zijn gemaakt met behulp van 3D-printen en lasersnijden. Ten slotte hebben we besloten om een bonusfunctie toe te voegen die traktaties uitdeelt om je huisdier te belonen.
Ga verder om uw eigen huisdierbewakingssysteem te maken en misschien zelfs aan te passen aan uw vereisten. Bekijk de video die hierboven is gelinkt om te zien hoe ons huisdier reageerde en om de robot beter te begrijpen. Laat een stem achter in de "Roboticawedstrijd" als je het project leuk vond.
Stap 1: Overzicht van het ontwerp
Om de robot voor het bewaken van huisdieren te conceptualiseren, hebben we deze eerst ontworpen op fusion 360. Hier zijn enkele van zijn functies:
Via internet is de robot te besturen via een app. Hierdoor kan de gebruiker overal verbinding maken met de robot
Een ingebouwde camera die live een videofeed naar de smartphone streamt, kan de gebruiker helpen om door het huis te manoeuvreren en met het huisdier om te gaan
Een extra traktatiekom die uw huisdier op afstand kan belonen
Digitaal gefabriceerde onderdelen waarmee men hun robot kan aanpassen
Een Raspberry Pi werd gebruikt om verbinding te maken met internet omdat deze een wifi-modus aan boord heeft
Een Arduino werd samen met een CNC-schild gebruikt om opdrachten aan de stappenmotoren te geven
Stap 2: Benodigde materialen
Hier is de lijst met alle componenten die nodig zijn om uw eigen Arduino- en Raspberry Pi-aangedreven huisdierbewakingsrobot te maken. Alle onderdelen moeten algemeen verkrijgbaar en gemakkelijk te vinden zijn.
ELEKTRONICA:
- Arduino Uno x 1
- Raspberry Pi (geflitst met nieuwste raspbian) x 1
- CNC-schild x 1"
- A4988 Stappenmotor Driver x 2"
- Camera x 1
- Ultrasone afstandssensor x 1
- 11.1v Lipo-batterij x 1
- NEMA 17 Stappenmotor x 2"
- 5v UBEC x 1
HARDWARE:
- Wielen x 2 (de wielen die we gebruikten hadden een diameter van 7 cm)
- Zwenkwielen x 2"
- M4 en M3 moeren en bouten
De totale kosten van dit project, exclusief de Arduino en Raspberry Pi, bedragen ongeveer $ 50.
Stap 3: Digitaal vervaardigde onderdelen
Sommige onderdelen die we in dit project gebruikten, moesten op maat worden gemaakt. Deze zijn eerst gemodelleerd in Fusion 360 en daarna gemaakt met een 3D-printer en een lasercutter. De 3D-geprinte onderdelen zijn niet zwaar belast, dus standaard PLA met 20% vulling werkt prima. Hieronder vindt u een lijst van alle 3D-geprinte en lasergesneden onderdelen:
3D-geprinte onderdelen:
- Stappenhouder x 2"
- Vision-systeemmontage x 1"
- Elektronica Afstandhouder x 4"
- Verticale afstandhouder x 4"
- Chassisversterking x 2
- Behandelkom deksel x 1
- Trakteerschaal x 1
- Achterste Stepper Mount x 1"
- Opwindschijf x 1
Lasergesneden onderdelen:
- Bodempaneel x 1
- Bovenpaneel x 1"
Een gezipte map met alle STL's en lasersnijbestanden is hieronder bijgevoegd.
Stap 4: De stappenmotor bevestigen
Zodra alle onderdelen 3D-geprint zijn, begint u met de montage door de stappenmotor in de stappenhouder te monteren. De stappenmotorhouder die we hebben ontworpen, is bedoeld voor het NEMA 17-model (als men verschillende steppers gebruikt, heeft dit een andere montage nodig). Steek de as van de motor door het gat en zet de motor op zijn plaats met de montageschroeven. Als u klaar bent, moeten beide motoren stevig aan de houders worden vastgehouden.
Stap 5: De steppers op het onderste paneel monteren
Om de houders op het lasergesneden onderpaneel te monteren, hebben we M4-bouten gebruikt. Voordat u ze met de moeren vastzet, voegt u de 3D-geprinte chassisversterkingsstrips toe en draait u de moeren vast. De strips worden gebruikt om de belasting gelijkmatig over het acrylpaneel te verdelen.
Steek ten slotte de draden door de respectievelijke sleuven op het paneel. Zorg ervoor dat u ze helemaal doortrekt om te voorkomen dat ze verstrikt raken in de wielen.
Stap 6: De wielen monteren
Het acrylpaneel heeft twee delen die zijn uitgesneden om op de wielen te passen. De wielen die we gebruikten hadden een diameter van 7 cm en werden geleverd met stelschroeven die op de stappenassen van 5 mm waren bevestigd. Zorg ervoor dat het wiel goed vastzit en niet op de as glijdt.
Stap 7: Zwenkwielen voor en achter
Om het chassis soepel te laten bewegen, hebben we ervoor gekozen om zwenkwielen aan de voor- en achterkant van de robot te plaatsen. Dit voorkomt niet alleen dat de robot omvalt, maar laat het chassis ook vrij in elke richting draaien. Zwenkwielen zijn er in alle maten, de onze werd in het bijzonder geleverd met een enkele draaiende schroef die we op de basis monteerden en 3D-geprinte afstandhouders gebruikten om de hoogte aan te passen zodat de robot perfect horizontaal was. Hiermee is de basis van het chassis compleet en heeft een goede stabiliteit.
Stap 8: Elektronica
Zodra de basis van het chassis volledig is gemonteerd, is het tijd om de elektronica op het acrylpaneel te monteren. We hebben gaten in het acrylpaneel gemaakt die aansluiten op de montagegaten van de Arduino en de Raspberry Pi. Met behulp van 3D-geprinte afstandhouders hebben we de elektronica iets boven de acrylpanelen verhoogd, zodat alle overtollige bedrading er netjes onder kan worden weggestopt. Monteer de Arduino en de Raspberry Pi op hun corresponderende montagelocaties met behulp van M3-moeren en -bouten. Zodra de Arduino is bevestigd, bevestigt u het CNC-schild aan de Arduino en sluit u de stappendraden aan in de volgende configuratie.
- Linker stepper naar CNC schild X-as poort
- Rechter stepper naar CNC schild Y-as poort
Sluit, met de stappenmotoren aangesloten, de Arduino aan op de Raspberry Pi met behulp van de Arduino's USB-kabel. Uiteindelijk gaan de Raspberry Pi en Arduino via deze kabel communiceren.
Let op: De voorkant van de robot is de kant met de Raspberry Pi
Stap 9: Visiesysteem
De primaire omgevingsinput voor onze huisdierbewakingsrobot is visie. We besloten om de Picamera die compatibel is met de Raspberry Pi te gebruiken om een livestream naar de gebruiker via internet te sturen. We gebruikten ook een ultrasone afstandssensor om obstakels te vermijden wanneer de robot autonoom functioneert. Beide sensoren worden met behulp van schroeven op een houder bevestigd.
De Picamera past in de daarvoor bestemde poort op de Raspberry Pi en sluit de ultrasone sensor op de volgende manier aan:
- Ultrasone sensor VCC naar 5v-rail op CNC-schild
- Ultrasone sensor GND naar GND-rail op CNC-schild
- Ultrasone sensor TRIG naar X+ eindstoppen op CNC-afscherming
- Ultrasone sensor ECHO naar Y+ eindstoppen op CNC-schild
Stap 10: Montage van het bovenpaneel
Aan de achterzijde van de robot is het dekselopeningssysteem voor de traktatieschaal gemonteerd. Bevestig de mini-stappenmotor aan het achterste houderonderdeel en monteer zowel het zichtsysteem als het opwindsysteem met M3-bouten op het bovenpaneel. Zoals vermeld, zorg ervoor dat u het zichtsysteem aan de voorkant en het oprolsysteem aan de achterkant monteert met de twee meegeleverde gaten.
Stap 11: Montage van het bovenpaneel
We hebben verticale afstandhouders 3d geprint om het bovenpaneel op de juiste hoogte te ondersteunen. Begin met het bevestigen van de vier afstandhouders aan het onderpaneel om een "X" te vormen. Plaats vervolgens het bovenpaneel met de traktatiekom en zorg ervoor dat hun gaten op één lijn liggen en bevestig het tenslotte ook aan de afstandhouders.
Stap 12: Deksel openingsmechanisme
Om het deksel op de traktatiekom te bedienen, gebruikten we een kleinere stappenmotor om een nylon touwtje aan het deksel op te winden en het open te trekken. Voordat u het deksel bevestigt, steekt u het touwtje door het 2 mm gat op het deksel en maakt u een knoop aan de binnenkant. Knip vervolgens het andere uiteinde van het koord door en steek het door de daarvoor bestemde gaten op de opwindschijf. Duw de schijf op de stepper en trek dan aan het touwtje totdat het strak staat. Als je klaar bent, knip je het overtollige materiaal af en knoop je een knoop. Gebruik tenslotte een bout en moer om het deksel op de kom te bevestigen en zorg ervoor dat deze draait. Nu de stepper draait, moet het touw op de schijf worden gewikkeld en moet het deksel geleidelijk openen.
Stap 13: De clouddatabase instellen
De eerste stap is om een database voor het systeem aan te maken, zodat u overal ter wereld vanuit uw mobiele app met de robot kunt communiceren. Klik op de volgende link (Google firebase), die u naar de Firebase-website leidt (u moet inloggen met uw Google-account). Klik op de knop "Aan de slag" die u naar de Firebase-console brengt. Maak vervolgens een nieuw project aan door op de knop "Project toevoegen" te klikken, vul de vereisten in (naam, details, enz.) en voltooi door op de knop "Project aanmaken" te klikken.
We hebben alleen de databasetools van Firebase nodig, dus selecteer "database" in het menu aan de linkerkant. Klik vervolgens op de knop "Database maken", selecteer de optie "testmodus". Stel vervolgens de database in op een "realtime database" in plaats van de "cloud firestore" door op het vervolgkeuzemenu bovenaan te klikken. Selecteer het tabblad "regels" en verander de twee "false" in "true", klik ten slotte op het tabblad "data" en kopieer de database-URL, dit is later vereist.
Het laatste dat u hoeft te doen, is op het tandwielpictogram naast het projectoverzicht klikken, vervolgens op "projectinstellingen", vervolgens het tabblad "serviceaccounts" selecteren, ten slotte op "Databasegeheimen" klikken en de beveiliging noteren code van uw database. Met deze stap voltooid, hebt u met succes uw clouddatabase gemaakt die toegankelijk is vanaf uw smartphone en vanaf de Raspberry Pi. (Gebruik de foto's die hierboven zijn bijgevoegd in geval van twijfel, of stel gewoon een vraag in het commentaargedeelte)
Stap 14: De mobiele app maken
Het volgende onderdeel van het IoT-systeem is de smartphone-applicatie. We besloten om MIT App Inventor te gebruiken om onze eigen app op maat te maken. Om de app te gebruiken die we hebben gemaakt, opent u eerst de volgende link (MIT App Inventor), die u naar hun webpagina leidt. Klik vervolgens op "apps maken" bovenaan het scherm en log vervolgens in met uw Google-account.
Download het.aia-bestand dat hieronder is gelinkt. Open het tabblad "projecten" en klik op "Importeer project (.aia) van mijn computer" selecteer vervolgens het bestand dat u zojuist hebt gedownload en klik op "ok". Blader in het componentenvenster helemaal naar beneden totdat u "FirebaseDB1" ziet, klik erop en wijzig de "FirebaseToken", "FirebaseURL" in de waarden die u in de vorige stap had genoteerd. Zodra deze stappen zijn voltooid, bent u klaar om de app te downloaden en te installeren. U kunt de app rechtstreeks naar uw telefoon downloaden door op het tabblad "Build" te klikken en op "App (Qr-code voor.apk) te klikken" en vervolgens de QR-code te scannen met uw smartphone of door op "App (save.apk to my computer) te klikken)" downloadt u het apk-bestand op uw computer, dat u vervolgens naar uw smartphone kunt verplaatsen.
Stap 15: Programmeren van de Raspberry Pi
De Raspberry Pi wordt om twee hoofdredenen gebruikt.
- Het verzendt een live videostream van de robot naar een webserver. Deze stream kan door de gebruiker worden bekeken met behulp van de mobiele app.
- Het leest de bijgewerkte opdrachten in de firebase-database en instrueert de Arduino om de vereiste taken uit te voeren.
Voor het instellen van de Raspberry Pi om live te streamen, bestaat er al een gedetailleerde tutorial en deze is hier te vinden. De instructies komen neer op drie eenvoudige commando's. Schakel de Raspberry Pi in en open de terminal en voer de volgende commando's in.
- git kloon
- cd RPi_Cam_Web_Interface
- ./install.sh
Zodra de installatie is voltooid, start u de Pi opnieuw op en moet u toegang hebben tot de stream door in een webbrowser op https://uw Pi's IP-adres te zoeken.
Met de live streaming ingesteld, moet u bepaalde bibliotheken downloaden en installeren om de clouddatabase te kunnen gebruiken. Open een terminal op je Pi en voer de volgende opdrachten in:
- sudo pip installatieverzoeken==1.1.0
- sudo pip install python-firebase
Download ten slotte het onderstaande python-bestand en sla het op uw Raspberry Pi op. Verander op de vierde regel van de code de COM-poort in de poort waarop de Arduino is aangesloten. Wijzig vervolgens de URL op regel 8 in de firebase-URL die u eerder had genoteerd. Voer ten slotte het programma uit via de terminal. Dit programma haalt de commando's op uit de clouddatabase en geeft deze via de seriële verbinding door aan de Arduino.
Stap 16: De Arduino programmeren
De Arduino wordt gebruikt om de opdrachten van de Pi te interpreteren en instrueert de actuatoren op de robot om de benodigde taken uit te voeren. Download de onderstaande Arduino-code en upload deze naar de Arduino. Zodra de Arduino is geprogrammeerd, sluit u deze aan op een van de USB-poorten van de Pi met behulp van de speciale USB-kabel.
Stap 17: Het systeem aanzetten
De robot wordt aangedreven door een 3-cellige lipo-batterij. De batterijpolen moeten in tweeën worden gesplitst, waarbij de ene rechtstreeks naar het CNC-schild gaat om de motoren van stroom te voorzien, terwijl de andere wordt aangesloten op de 5v UBEC, die een stabiele 5v-voedingslijn heeft gecreëerd die zal worden gebruikt om de Raspberry Pi van stroom te voorzien. de GPIO-pinnen. De 5v van de UBEC is verbonden met de 5v-pin van de Raspberry Pi en de GND van de UBEC is verbonden met de GND-pin van de Pi.
Stap 18: De app gebruiken
Met de interface van de app kan men de bewakingsrobot besturen en een live feed streamen vanaf de camera aan boord. Om verbinding te maken met uw robot, moet u ervoor zorgen dat u een stabiele internetverbinding heeft en typt u vervolgens het IP-adres van de Raspberry Pi in het daarvoor bestemde tekstvak en klikt u op de update-knop. Als je klaar bent, verschijnt de live feed op je scherm en zou je de verschillende functies van de robot moeten kunnen bedienen.
Stap 19: Klaar om te testen
Nu uw huisdierbewakingsrobot volledig is gemonteerd, kunt u de kom vullen met wat hondensnoepjes. Open de app, sluit de camera aan en veel plezier! We zijn momenteel aan het spelen met de rover en onze Beagle en hebben behoorlijk hilarische momenten vastgelegd.
Toen de hond de aanvankelijke angst voor dit bewegende object overwon, achtervolgde hij de bot door het huis op zoek naar lekkernijen. De camera aan boord biedt een goed groothoekbeeld van de omgeving, waardoor het vrij gemakkelijk te manoeuvreren is.
Er is ruimte voor verbetering om het beter te laten functioneren in de echte wereld. Dat gezegd hebbende, hebben we een robuust systeem gecreëerd, waarop verder kan worden voortgebouwd en uitgebreid. Als je dit project leuk vond, stem dan op ons in de "Robotics Contest"
Veel plezier met maken!
Tweede prijs in de robotica-wedstrijd
Aanbevolen:
Arduino-aangedreven verkeerslichten maken: 4 stappen
Hoe Arduino-aangedreven verkeerslichten te maken: In dit bericht gaan we het hebben over een Arduino-project, d.w.z. Arduino Traffic Pestrians Lights-systeem. Dit project is echt interessant om te proberen en met behulp van wat kunst en handwerk kun je een hele scène van verkeerslichten en peddels creëren
Hou op! LED-game (aangedreven door Arduino): 6 stappen
Hou op! LED-game (aangedreven door Arduino): dit project is geïnspireerd op deze video van YouTube en de Pendulum Challenge Kit (gebroken link. Probeer deze eens.) van Makershed.com. Het is een eenvoudig spel bestaande uit vijf LED-lampjes en één drukknop. De LED's knipperen in volgorde en het afspelen
Automatisch pneumatisch kanon. Draagbaar en Arduino-aangedreven: 13 stappen
Automatisch pneumatisch kanon. Draagbaar en Arduino-aangedreven.: Hallo allemaal! Dit is de instructie om een draagbaar pneumatisch kanon te monteren. Het idee was om een kanon te maken dat verschillende dingen kan schieten. Ik heb een paar hoofddoelen gesteld. Dus, wat mijn kanon zou moeten zijn: automatisch. Om de lucht niet handmatig te comprimeren met
Arduino-aangedreven ketting: 5 stappen
Arduino-aangedreven ketting: ik was op zoek naar een goed Arduino-project voor mijn eindejaarsvakanties. Maar wat te doen? Mijn dochtertje was zeer verrast toen ik haar deze "elektronische" ketting, en ook erg blij. Ik hoop dat de persoon aan wie u iets aanbiedt
ESP8266/ESP-12 Arduino aangedreven SmartThings DS18B20 Temp. Sensor: 4 stappen (met afbeeldingen)
ESP8266/ESP-12 Arduino aangedreven SmartThings DS18B20 Temp. Sensor: We willen allemaal graag weten wat de huidige kamertemperatuur is, en soms wat de temperatuur in een andere kamer is, of misschien zelfs in uw vakantiehuis aan de andere kant van de wereld. Misschien wil je de temperatuur in het huis van je huisdier Lizard in de gaten houden