Sadržaj:

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

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

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

Nedavno smo, dok smo bili na odmoru, uvidjeli 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. Ti su sustavi 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 nečijeg ljubimca koristeći moć interneta stvari. Aplikacija za pametni telefon dizajnirana je za interakciju s vašim ljubimcem putem video feeda uživo. Šasija robota je digitalno izrađena jer je nekoliko dijelova nastalo pomoću 3D ispisa i laserskog rezanja. Konačno, odlučili smo dodati bonus značajku koja dijeli poslastice za nagrađivanje vašeg ljubimca.

Nastavite s izradom vlastitog sustava za praćenje kućnih ljubimaca, a možda ga čak i prilagodite svojim zahtjevima. Pogledajte gornji video zapis kako biste vidjeli kako je naš ljubimac reagirao i bolje razumjeli robota. Ispustite glasovanje na "Robotics Contest" ako vam se svidio projekt.

Korak 1: Pregled dizajna

Pregled dizajna
Pregled dizajna
Pregled dizajna
Pregled dizajna

Kako 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ćuje 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 u manevriranju po kući i interakciji s kućnim ljubimcem

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

Digitalno izrađeni dijelovi koji omogućuju prilagodbu robota

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

Arduino je korišten zajedno s 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 nadzor kućnih ljubimaca koji pokreće Arduino i Raspberry Pi. Svi dijelovi trebali bi biti općenito dostupni i lako se pronaći.

ELEKTRONIKA:

  • Arduino Uno x 1
  • Raspberry Pi (bljeskalo s najnovijim malcem) x 1
  • CNC štit x 1
  • A4988 Pogonitelj koračnog motora x 2
  • Picamera x 1
  • Ultrazvučni senzor udaljenosti x 1
  • Lipo baterija 11,1 V x 1
  • NEMA 17 koračni motor x 2
  • 5v UBEC x 1

HARDVER:

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

Ukupni trošak ovog projekta bez Arduina i Raspberry Pi je oko 50 USD.

Korak 3: Digitalno izrađeni dijelovi

Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni 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 pisača i laserskog rezača. 3D ispisani 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 ispisani dijelovi:

  • Steper držač x 2
  • Nosač sustava Vision x 1
  • Stajanje elektronike x 4
  • Okomiti razmaknik x 4
  • Ojačanje šasije x 2
  • Poklopac zdjele tretirajte x 1
  • Poklonite zdjelu x 1
  • Stražnji stepenički nosač x 1
  • Disk za namatanje x 1

Lasercut dijelovi:

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

Mapa s patentnim zatvaračem koja sadrži sve STL -ove i datoteke za lasersko rezanje nalazi se u nastavku u privitku.

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 stepeni, trebat će drugačiji nosač). Provucite vratilo motora kroz rupu i pričvrstite motor pričvrsnim vijcima. Nakon oba oba motora potrebno je čvrsto držati 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 ispisane trake za pojač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 zapleli u kotače.

Korak 6: Montiranje kotača

Montiranje kotača
Montiranje kotača
Montiranje kotača
Montiranje kotača
Montiranje kotača
Montiranje kotača

Akrilna ploča ima dva dijela izrezana kako bi odgovarala kotačima. Kotači 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. Uvjerite se da je kotač 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 glatko kretanje šasije, odlučili smo postaviti kotače s prednje i stražnje strane robota. Ne samo da sprječava prevrtanje robota, već omogućuje i slobodno okretanje šasije u bilo kojem smjeru. Kotači za kotače dolaze u svim veličinama, naši su posebno dolazili s jednim zakretnim vijkom koji smo montirali na podnožje i pomoću 3D tiskanih odstojnika podesili visinu tako da je robot bio 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 su usklađene s otvorima za montažu Arduina i Raspberry Pi. Korištenjem 3D tiskanih zastoja 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 pričvršćen, pričvrstite CNC štit na Arduino i spojite koračne žice u sljedećoj konfiguraciji.

  • Lijevi steper do priključka X osi za CNC štit
  • Desni stepenik do priključka Y-osi CNC oklopa

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 s Raspberry Pi

Korak 9: Sustav vida

Sustav vida
Sustav vida
Sustav vida
Sustav vida
Sustav vida
Sustav vida

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. Također smo koristili ultrazvučni senzor udaljenosti kako bismo izbjegli prepreke kada robot autonomno radi. 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 do 5v tračnice na CNC štitu
  • Ultrazvučni senzor GND do GND tračnica na CNC štitu
  • Ultrazvučni osjetnik TRIG do X+ krajnji zaporni klin na CNC štitu
  • Ultrazvučni osjetnik ECHO do Y+ krajnji graničnik na CNC štitu

Korak 10: Montaža gornje ploče

Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče

Na stražnjoj strani robota postavljen je sustav otvaranja poklopca za zdjelu s poslasticama. Priključite mini koračni motor na komponentu stražnjeg držača i montirajte i vidni sustav i sustav namota s vijcima M3 na gornju ploču. Kao što je spomenuto, obavezno montirajte sustav za gledanje sprijeda i sustav za navijanje straga s dvije predviđene rupe.

Korak 11: Montaža gornje ploče

Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče
Sklop gornje ploče

3D smo ispisali okomite razmake za podršku gornje ploče na desnoj visini. Počnite pričvršćivanjem četiri razmaka 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 namatanje najlonske žice pričvršćene na poklopac, povlačeći je. Prije pričvršćivanja poklopca provucite uzicu kroz otvor od 2 mm na poklopcu i napravite čvor s unutarnje strane. Zatim odrežite drugi kraj žice i provucite ga kroz otvore predviđene na disku za namatanje. Gurnite disk na steper, a zatim povucite žicu dok se ne zategne. Kad to učinite, 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 sustav kako biste mogli komunicirati s robotom iz svoje mobilne aplikacije s bilo kojeg mjesta u svijetu. Kliknite sljedeću vezu (Google firebase) koja će vas odvesti na web stranicu Firebase (morat ćete se prijaviti sa svojim Google računom). Kliknite gumb "Započni" koji će vas odvesti na firebase konzolu. Zatim stvorite novi projekt klikom na gumb "Dodaj projekt", ispunite uvjete (naziv, pojedinosti itd.) I dovršite klikom na gumb "Izradi projekt".

Potrebni su nam samo Firebase alati za baze podataka, pa odaberite "baza podataka" s izbornika s lijeve strane. Zatim kliknite gumb "Stvori 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 "točno", 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 kliknuti 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 se može pristupiti sa vašeg pametnog telefona i s Raspberry Pi. (U slučaju bilo kakvih nedoumica upotrijebite gornje slike ili samo postavite pitanje u odjeljak za komentare)

Korak 14: Izrada mobilne aplikacije

Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije
Izrada mobilne aplikacije

Sljedeći dio IoT sustava je aplikacija za pametni telefon. 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 "izradi aplikacije" pri vrhu zaslona, a zatim se prijavite sa svojim Google računom.

Preuzmite.aia datoteku koja je dolje navedena. Otvorite karticu "projekti" i kliknite "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 zabilježili 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 s robota na web poslužitelj. Ovaj stream korisnik može vidjeti pomoću mobilne aplikacije.
  2. On čita ažurirane naredbe iz baze podataka firebase i upućuje Arduino da izvrši potrebne zadatke.

Za postavljanje Raspberry Pi na prijenos uživo, već postoji detaljan vodič koji se može 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 dovršetka instalacije ponovno pokrenite Pi i trebali biste moći pristupiti streamu pretraživanjem https:// svoje IP adrese na bilo kojem web pregledniku.

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

  • sudo pip zahtjevi za instalaciju == 1.1.0
  • sudo pip instalirajte python-firebase

Na kraju, preuzmite dolje priloženu datoteku python i spremite je na svoj Raspberry Pi. U četvrtom retku koda promijenite COM port u port na koji je Arduino spojen. Zatim promijenite URL u retku 8 u firebase URL koji ste ranije zabilježili. Na kraju, pokrenite program kroz terminal. Ovaj program dohvaća 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 sustava

Napajanje sustava
Napajanje sustava

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

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 s robotom, provjerite imate li stabilnu internetsku vezu, a zatim jednostavno upišite IP adresu Raspberry Pi u predviđeni okvir za tekst i kliknite gumb za ažuriranje. Kad završite, na vašem će se ekranu prikazati feed uživo i trebali biste moći kontrolirati različite funkcije robota.

Korak 19: Spremni za testiranje

Spremno za testiranje
Spremno za testiranje
Spremno za testiranje
Spremno za testiranje

Sada kada je vaš robot za praćenje ljubimaca potpuno sastavljen, zdjelu možete napuniti nekim poslasticama za pse. Otvorite aplikaciju, povežite kameru i zabavite se! Trenutno se igramo s 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 širokokutni pogled na okolinu što olakšava manevriranje.

Ima prostora za poboljšanja kako bi bolje funkcionirala u stvarnom svijetu. S tim u vezi, stvorili smo robustan sustav na koji se može dalje nadograđivati i proširivati. Ako vam se svidio ovaj projekt, ostavite glas za nas na "Robotics Contest"

Sretno stvaranje!

Natjecanje iz robotike
Natjecanje iz robotike
Natjecanje iz robotike
Natjecanje iz robotike

Druga nagrada na natjecanju iz robotike

Preporučeni: