Sadržaj:

Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca: 19 koraka (sa slikama)
Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca: 19 koraka (sa slikama)

Video: Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca: 19 koraka (sa slikama)

Video: Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca: 19 koraka (sa slikama)
Video: CS50 2013 - Week 9 2024, Novembar
Anonim
Image
Image
Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca
Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca
Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca
Arduino i Raspberry Pi sistem za nadzor kućnih ljubimaca

Nedavno smo, dok smo bili na odmoru, shvatili nedostatak veze s našim ljubimcem Beagleom. Nakon nekog istraživanja, pronašli smo proizvode sa statičkom kamerom koja je omogućila nadzor i komunikaciju s kućnim ljubimcem. Ovi sistemi su imali određene prednosti, ali im je nedostajala svestranost. Na primjer, svaka soba je trebala jedinicu za praćenje vašeg ljubimca po cijeloj kući.

Stoga smo razvili robusnog robota koji može manevrirati po kući i nadzirati kućnog ljubimca koristeći moć interneta stvari. Aplikacija za pametni telefon dizajnirana je za interakciju s vašim ljubimcem putem video sažetka uživo. Šasija robota je digitalno izrađena jer je nekoliko dijelova nastalo pomoću 3D štampe i laserskog rezanja. Konačno, odlučili smo dodati bonus funkciju koja dijeli poslastice za nagrađivanje vašeg ljubimca.

Nastavite s kreiranjem vlastitog sistema za praćenje kućnih ljubimaca, a možda ga čak i prilagodite svojim zahtjevima. Pogledajte gornji video zapis da vidite kako je naš ljubimac reagirao i da bolje razumijete robota. Bacite glas na "Robotics Contest" ako vam se svidio projekt.

Korak 1: Pregled dizajna

Pregled dizajna
Pregled dizajna
Pregled dizajna
Pregled dizajna

Da bismo osmislili robota za nadzor kućnih ljubimaca, prvo smo ga dizajnirali na fusion 360. Evo nekih njegovih značajki:

Robotom se može upravljati putem aplikacije putem interneta. To omogućava korisniku da se poveže s robotom s bilo kojeg mjesta

Ugrađena kamera koja uživo prenosi video feed na pametni telefon može pomoći korisniku da se kreće po kući i komunicira s kućnim ljubimcem

Dodatna zdjela za poslastice koja može nagraditi vašeg ljubimca na daljinu

Digitalno izrađeni dijelovi koji omogućuju prilagođavanje robota

Raspberry Pi je korišten za povezivanje s internetom jer ima ugrađeni wifi način rada

Arduino je korišten zajedno sa CNC štitom za davanje naredbi koračnim motorima

Korak 2: Potrebni materijali

Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali

Ovdje je popis svih komponenti potrebnih za izradu vlastitog robota za praćenje kućnih ljubimaca koji pokreće Arduino i Raspberry Pi. Svi dijelovi trebaju biti općenito dostupni i lako se pronaći.

ELEKTRONIKA:

  • Arduino Uno x 1
  • Raspberry Pi (sa najnovijim raspbian -om) x 1
  • CNC štit x 1
  • A4988 Upravljački program koračnog motora x 2
  • Picamera x 1
  • Ultrazvučni senzor udaljenosti x 1
  • Lipo baterija 11,1v x 1
  • NEMA 17 koračni motor x 2
  • 5v UBEC x 1

HARDVER:

  • Točkovi x 2 (točkovi koje smo koristili bili su promjera 7 cm)
  • Kotačići x 2
  • Matice i vijci M4 i M3

Ukupni troškovi ovog projekta isključujući Arduino i Raspberry Pi su oko 50 USD.

Korak 3: Digitalno proizvedeni dijelovi

Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi

Neki dijelovi koje smo koristili u ovom projektu morali su biti izrađeni po mjeri. Prvo su modelirani u Fusion 360, a zatim su napravljeni pomoću 3D štampača i laserskog rezača. 3D štampani dijelovi ne podnose veliko opterećenje, pa standardni PLA s ispunom od 20% odlično funkcionira. Ispod je popis svih 3D ispisanih i laserski izrezanih dijelova:

3D štampani dijelovi:

  • Steper držač x 2
  • Nosač sistema Vision x 1
  • Zaustavljanje elektronike x 4
  • Okomiti razmaknica x 4
  • Ojačanje šasije x 2
  • Poklopac zdjele tretirajte x 1
  • Poklonite zdjelu x 1
  • Stepeni nosač straga x 1
  • Disk za namotavanje x 1

Lasercut dijelovi:

  • Donja ploča x 1
  • Gornja ploča x 1

Mapa sa patentnim zatvaračem koja sadrži sve STL -ove i datoteke za lasersko rezanje nalazi se u prilogu ispod.

Korak 4: Priključivanje koračnog motora

Postavljanje koračnog motora
Postavljanje koračnog motora
Postavljanje koračnog motora
Postavljanje koračnog motora
Postavljanje koračnog motora
Postavljanje koračnog motora

Nakon što su svi dijelovi 3D ispisani, započnite montažu postavljanjem koračnog motora u držač koraka. Nosač koračnog motora koji smo dizajnirali namijenjen je modelu NEMA 17 (ako se koriste različiti steperi, trebat će drugačiji nosač). Provucite vratilo motora kroz rupu i pričvrstite motor pričvrsnim vijcima. Nakon oba oba motora, treba ih sigurno držati za držače.

Korak 5: Montiranje stepenica na donju ploču

Montiranje stepenica na donju ploču
Montiranje stepenica na donju ploču
Montiranje stepenica na donju ploču
Montiranje stepenica na donju ploču
Montiranje stepenica na donju ploču
Montiranje stepenica na donju ploču

Za montiranje držača na laserski izrezanu donju ploču koristili smo vijke M4. Prije nego ih učvrstite maticama, dodajte 3D štampane trake za ojačanje šasije, a zatim pričvrstite matice. Trake se koriste za ravnomjernu raspodjelu opterećenja na akrilnoj ploči.

Na kraju, provucite žice kroz odgovarajuće utore na ploči. Povucite ih do kraja kako se ne bi zapetljali u kotače.

Korak 6: Montiranje točkova

Montiranje točkova
Montiranje točkova
Montiranje točkova
Montiranje točkova
Montiranje točkova
Montiranje točkova

Akrilna ploča ima dva dijela izrezana kako bi odgovarala kotačima. Točkovi koje smo koristili bili su promjera 7 cm i dolazili su sa postavljenim vijcima koji su pričvršćeni na osovine koraka od 5 mm. Uverite se da je točak pravilno pričvršćen i da ne klizi po osovini.

Korak 7: Prednji i stražnji kotači

Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači
Prednji i stražnji kotači

Kako bismo omogućili nesmetano kretanje šasije, odlučili smo postaviti kotače s prednje i stražnje strane robota. Ovo ne samo da sprječava prevrtanje robota, već omogućuje i slobodno okretanje šasije u bilo kojem smjeru. Kotači se isporučuju u svim veličinama, a naši su posebno dolazili s jednim zakretnim vijkom koji smo montirali na podnožje i koristili 3D tiskane odstojnike za podešavanje visine tako da je robot savršeno vodoravan. Time je osnova šasije potpuna i ima dobru stabilnost.

Korak 8: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Nakon što je osnova šasije potpuno sastavljena, vrijeme je za postavljanje elektronike na akrilnu ploču. Napravili smo rupe u akrilnoj ploči koje se poklapaju s otvorima za montažu Arduina i Raspberry Pi. Korištenjem 3D ispisanih stajališta podigli smo elektroniku malo iznad akrilnih ploča tako da se sav višak ožičenja može uredno ugurati ispod. Montirajte Arduino i Raspberry Pi na odgovarajuća mjesta ugradnje pomoću M3 matica i vijaka. Nakon što je Arduino fiksiran, pričvrstite CNC štit na Arduino i spojite koračne žice u sljedećoj konfiguraciji.

  • Lijevi steper do porta osi X CNC štita
  • Desni stepenik do priključka Y-osi s CNC oklopom

S priključenim koračnim motorima, spojite Arduino na Raspberry Pi pomoću Arduinovog USB kabela. Na kraju će Raspberry Pi i Arduino komunicirati putem ovog kabela.

Napomena: Prednja strana robota je strana sa Raspberry Pi

Korak 9: Sistem vida

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

Primarni input okruženja za našeg robota za praćenje kućnih ljubimaca je vid. Odlučili smo upotrijebiti Picameru koja je kompatibilna s Raspberry Pi za prijenos uživo korisnika putem interneta. Koristili smo i ultrazvučni senzor udaljenosti kako bismo izbjegli prepreke kada robot autonomno funkcionira. Oba senzora pričvršćuju se na držač pomoću vijaka.

Picamera se ubacuje u odgovarajući port na Raspberry Pi i povezuje ultrazvučni senzor na sljedeći način:

  • Ultrazvučni senzor VCC na 5v šinu na CNC štitu
  • Ultrazvučni senzor GND prema GND na CNC štitniku
  • Ultrazvučni osjetnik TRIG do X+ krajnji granični zatik na CNC štitu
  • Ultrazvučni senzor ECHO do Y+ graničnik na CNC štitu

Korak 10: Montaža gornje ploče

Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče

Na stražnjoj strani robota montiran je sistem otvaranja poklopca za zdjelu za poslastice. Pričvrstite mini koračni motor na komponentu stražnjeg držača i montirajte sistem vidljivosti i sistem namotavanja s vijcima M3 na gornju ploču. Kao što je spomenuto, obavezno montirajte sistem za gledanje sprijeda i sistem za navijanje sa stražnje strane s dvije predviđene rupe.

Korak 11: Montaža gornje ploče

Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče
Sastav gornje ploče

3D štampali smo vertikalne odstojnike koji podržavaju gornju ploču na desnoj visini. Počnite pričvršćivanjem četiri odstojnika na donju ploču kako biste oblikovali "X". Zatim postavite gornju ploču sa zdjelom za poslastice pazeći da im se rupe poravnaju i na kraju je pričvrstite i na odstojnike.

Korak 12: Mehanizam za otvaranje poklopca

Mehanizam otvaranja poklopca
Mehanizam otvaranja poklopca
Mehanizam otvaranja poklopca
Mehanizam otvaranja poklopca
Mehanizam otvaranja poklopca
Mehanizam otvaranja poklopca

Za kontrolu poklopca na zdjeli za poslastice upotrijebili smo manji koračni motor za namotavanje najlonske žice pričvršćene na poklopac, povlačeći je. Prije pričvršćivanja poklopca provucite strunu kroz otvor od 2 mm na poklopcu i napravite čvor na unutrašnjoj strani. Zatim odrežite drugi kraj žice i provucite ga kroz otvore predviđene na disku za namatanje. Gurnite disk na steper, a zatim povucite konicu dok se ne zategne. Kad završite, odrežite višak i zavežite čvor. Na kraju pomoću vijka i matice pričvrstite poklopac na zdjelu i pobrinite se da se okreće. Kako se steper okreće, žica bi se trebala namotati na disk, a poklopac bi se trebao postupno otvarati.

Korak 13: Postavljanje baze podataka u oblaku

Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku
Postavljanje baze podataka u oblaku

Prvi korak je stvaranje baze podataka za sistem kako biste mogli komunicirati s robotom iz mobilne aplikacije s bilo kojeg mjesta u svijetu. Kliknite na sljedeću vezu (Google firebase) koja će vas odvesti na web stranicu Firebase (morat ćete se prijaviti sa svojim Google računom). Kliknite na gumb "Započni" koji će vas odvesti na firebase konzolu. Zatim kreirajte novi projekat klikom na dugme "Dodaj projekat", popunite uslove (naziv, detalji itd.) I dovršite klikom na dugme "Kreiraj projekat".

Potrebni su nam samo Firebase alati za baze podataka, pa odaberite "baza podataka" iz izbornika s lijeve strane. Sljedeći klik na gumb "Kreiraj bazu podataka", odaberite opciju "testni način". Zatim postavite bazu podataka na "bazu podataka u stvarnom vremenu" umjesto na "cloud firestore" klikom na padajući izbornik pri vrhu. Odaberite karticu "pravila" i promijenite dvije "lažne" u "istinito", na kraju kliknite karticu "podaci" i kopirajte URL baze podataka, to će biti potrebno kasnije.

Posljednje što trebate učiniti je kliknuti na ikonu zupčanika pored pregleda projekta, zatim na "postavke projekta", zatim odabrati karticu "računi usluga", na kraju kliknite na "Tajne baze podataka" i zabilježiti sigurnost kod vaše baze podataka. Ovim korakom uspješno ste stvorili svoju bazu podataka u oblaku kojoj možete pristupiti sa vašeg pametnog telefona i sa Raspberry Pi. (U slučaju bilo kakvih nedoumica koristite gornje slike u prilogu ili samo postavite pitanje u odjeljak za komentare)

Korak 14: Kreiranje mobilne aplikacije

Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije
Kreiranje mobilne aplikacije

Sljedeći dio IoT sistema je aplikacija za pametne telefone. Odlučili smo upotrijebiti MIT App Inventor za izradu vlastite prilagođene aplikacije. Da biste koristili aplikaciju koju smo prvo stvorili, otvorite sljedeću vezu (MIT App Inventor) koja će vas odvesti na njihovu web stranicu. Zatim kliknite na "kreiraj aplikacije" pri vrhu ekrana, a zatim se prijavite sa svojim Google računom.

Preuzmite.aia datoteku koja je dolje navedena. Otvorite karticu "projekti" i kliknite na "Uvezi projekt (.aia) s mog računala", zatim odaberite datoteku koju ste upravo preuzeli i kliknite "u redu". U prozoru sa komponentama pomaknite se dolje sve dok ne vidite "FirebaseDB1", kliknite na njega i izmijenite "FirebaseToken", "FirebaseURL" na vrijednosti koje ste zapamtili u prethodnom koraku. Kada dovršite ove korake, spremni ste za preuzimanje i instaliranje aplikacije. Aplikaciju možete preuzeti izravno na telefon klikom na karticu "Build" i klikom na "App (navedite QR kôd za.apk)", zatim skenirajte QR kôd svojim pametnim telefonom ili kliknite "App (spremite.apk na moje računalo")) "Prenijet ćete apk datoteku na računalo koju možete prebaciti na svoj pametni telefon.

Korak 15: Programiranje Raspberry Pi

Programiranje Raspberry Pi
Programiranje Raspberry Pi

Raspberry Pi se koristi iz dva primarna razloga.

  1. On prenosi video stream uživo sa robota na web server. Ovaj stream korisnik može vidjeti pomoću mobilne aplikacije.
  2. On čita ažurirane naredbe u bazi podataka firebase i upućuje Arduino da izvrši potrebne zadatke.

Za postavljanje Raspberry Pi-a na prijenos uživo, detaljno uputstvo već postoji i možete ga pronaći ovdje. Upute se svode na tri jednostavne naredbe. Uključite Raspberry Pi i otvorite terminal te unesite sljedeće naredbe.

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

Nakon što se instalacija dovrši, ponovo pokrenite Pi i trebali biste moći pristupiti streamu pretraživanjem https:// vaše IP adrese na bilo kojem web pregledniku.

S postavljenim streamingom uživo, morat ćete preuzeti i instalirati određene biblioteke da biste mogli koristiti bazu podataka u oblaku. Otvorite terminal na svom Pi i unesite sljedeće naredbe:

  • sudo pip zahtevi za instaliranje == 1.1.0
  • sudo pip install python-firebase

Na kraju, preuzmite dolje priloženu python datoteku i spremite je na svoj Raspberry Pi. U četvrtom retku koda promijenite COM port na port na koji je Arduino povezan. Zatim promijenite URL u retku 8 u firebase URL koji ste ranije zabilježili. Na kraju, pokrenite program kroz terminal. Ovaj program preuzima naredbe iz baze podataka u oblaku i prenosi ih na Arduino putem serijske veze.

Korak 16: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina
Programiranje Arduina
Programiranje Arduina

Arduino se koristi za tumačenje naredbi iz Pi -a i upućuje pokretače na robotu da izvrše potrebne zadatke. Preuzmite Arduino kôd u nastavku i postavite ga na Arduino. Nakon što je Arduino programiran, spojite ga na jedan od Pi -jevih USB portova pomoću namjenskog USB kabela.

Korak 17: Napajanje sistema

Napajanje sistema
Napajanje sistema

Robot će se napajati iz 3 ćelijske lipo baterije. Terminali baterije moraju biti podijeljeni na dva, gdje jedan ide izravno na CNC štit za napajanje motora, dok se drugi povezuje na 5v UBEC, koji je stvorio stalni 5 -voltni dalekovod koji će se koristiti za napajanje Raspberry Pi kroz GPIO pinove. 5v iz UBEC -a je spojen na 5v pin Raspberry Pi -a, a GND iz UBEC -a je spojen na GND pin na Pi -u.

Korak 18: Korištenje aplikacije

Korištenje aplikacije
Korištenje aplikacije
Korištenje aplikacije
Korištenje aplikacije
Korištenje aplikacije
Korištenje aplikacije

Sučelje aplikacije omogućuje upravljanje robotom za praćenje, kao i prijenos uživo s ugrađene kamere. Da biste se povezali sa svojim robotom, provjerite imate li stabilnu internetsku vezu, a zatim jednostavno upišite IP adresu Raspberry Pi -a u predviđeno tekstualno polje i kliknite gumb za ažuriranje. Kada završite, uživo će se pojaviti na vašem ekranu i trebali biste moći kontrolirati različite funkcije robota.

Korak 19: Spremni za testiranje

Spreman za testiranje
Spreman za testiranje
Spreman za testiranje
Spreman za testiranje

Sada kada je vaš robot za praćenje kućnih ljubimaca potpuno sastavljen, zdjelu možete napuniti nekim poslasticama za pse. Otvorite aplikaciju, povežite kameru i zabavite se! Trenutno smo se igrali sa roverom i našim Beagleom i zabilježili smo prilično smiješne trenutke.

Nakon što je pas nadvladao početni strah od ovog pokretnog objekta, jurio je bota po kući radi poslastica. Ugrađena kamera pruža dobar širokougaoni pogled na okolinu što olakšava upravljanje.

Postoji prostor za poboljšanja kako bi bolje funkcionirao u stvarnom svijetu. S tim u vezi, stvorili smo robustan sistem na koji se može dalje graditi i proširivati. Ako vam se svidio ovaj projekat, ostavite glas za nas na takmičenju "Robotics"

Happy Making!

Robotics Contest
Robotics Contest
Robotics Contest
Robotics Contest

Druga nagrada na takmičenju iz robotike

Preporučuje se: