Kazalo:

Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov: 19 korakov (s slikami)
Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov: 19 korakov (s slikami)

Video: Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov: 19 korakov (s slikami)

Video: Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov: 19 korakov (s slikami)
Video: Best Open-Source Network Monitoring Tools 2023 2024, November
Anonim
Image
Image
Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov
Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov
Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov
Arduino in Raspberry Pi sistem za spremljanje hišnih ljubljenčkov

Nedavno smo na počitnicah ugotovili pomanjkanje povezave z našim hišnim ljubljenčkom Beaglom. Po nekaj raziskavah smo našli izdelke, ki so vsebovali statično kamero, ki je omogočala spremljanje in komunikacijo s hišnim ljubljenčkom. Ti sistemi so imeli določene prednosti, vendar niso imeli vsestranskosti. Na primer, vsaka soba je zahtevala enoto za spremljanje vašega hišnega ljubljenčka po hiši.

Zato smo razvili robustnega robota, ki lahko manevrira po hiši in lahko z močjo interneta stvari spremlja hišnega ljubljenčka. Aplikacija za pametni telefon je bila zasnovana za interakcijo z vašim hišnim ljubljenčkom prek video vira v živo. Podvozje robota je digitalno izdelano, saj je bilo več delov izdelanih s 3D tiskanjem in laserskim rezanjem. Nazadnje smo se odločili, da dodamo bonus funkcijo, s katero so razdelili dobrote za nagrado vašega ljubljenčka.

Nadaljujte z ustvarjanjem lastnega sistema za spremljanje hišnih ljubljenčkov in ga morda celo prilagodite svojim zahtevam. Oglejte si zgornji videoposnetek, da vidite, kako se je odzval naš hišni ljubljenček, in bolje razumejte robota. Če vam je bil projekt všeč, oddajte glas na tekmovanju "Robotics".

1. korak: Pregled zasnove

Pregled zasnove
Pregled zasnove
Pregled zasnove
Pregled zasnove

Za zasnovo robota za spremljanje hišnih ljubljenčkov smo ga najprej zasnovali na fusion 360. Tu je nekaj njegovih značilnosti:

Robota je mogoče upravljati prek aplikacije prek interneta. To uporabniku omogoča povezavo z robotom od koder koli

Vgrajena kamera, ki v živo prenaša video vir na pametni telefon, lahko uporabniku pomaga pri manevriranju po hiši in interakciji s hišnim ljubljenčkom

Dodatna posoda za priboljške, ki lahko na daljavo nagradi vašega ljubljenčka

Digitalno izdelani deli, ki omogočajo prilagajanje robota

Raspberry Pi je bil uporabljen za povezavo z internetom, saj ima vgrajen način wifi

Arduino je bil uporabljen skupaj s CNC ščitom za ukaze koračnim motorjem

2. korak: Potrebni materiali

Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali

Tu je seznam vseh komponent, ki so potrebne za izdelavo lastnega robota za spremljanje hišnih ljubljenčkov na Arduino in Raspberry Pi. Vsi deli morajo biti splošno dostopni in jih je enostavno najti.

ELEKTRONIKA:

  • Arduino Uno x 1
  • Raspberry Pi (utripa z najnovejšo malico) x 1
  • CNC ščit x 1
  • A4988 Gonilnik koračnega motorja x 2
  • Picamera x 1
  • Ultrazvočni senzor razdalje x 1
  • 11,1 V Lipo baterija x 1
  • Koračni motor NEMA 17 x 2
  • 5v UBEC x 1

STROJNA OPREMA:

  • Kolesa x 2 (kolesa, ki smo jih uporabili, so imeli premer 7 cm)
  • Kolesca x 2
  • Matice in vijaki M4 in M3

Skupni stroški tega projekta brez Arduina in Raspberry Pi znašajo okoli 50 USD.

Korak: Digitalno izdelani deli

Digitalno izdelani deli
Digitalno izdelani deli
Digitalno izdelani deli
Digitalno izdelani deli

Nekatere dele, ki smo jih uporabili pri tem projektu, smo morali izdelati po meri. Najprej so bili modelirani v Fusion 360, nato pa so bili izdelani s 3D -tiskalnikom in laserskim rezalnikom. 3D natisnjeni deli ne nosijo velike obremenitve, zato standardni PLA z 20% polnilom deluje odlično. Spodaj je seznam vseh 3D tiskanih in lasersko izrezanih delov:

3D natisnjeni deli:

  • Nosilec koraka x 2
  • Nosilec sistema Vision x 1
  • Stojalo za elektroniko x 4
  • Navpični distančnik x 4
  • Ojačitev podvozja x 2
  • Pokrijte skledo s pokrovom x 1
  • Pripravite skledo x 1
  • Zadnji koračni nosilec x 1
  • Navojni disk x 1

Deli za lasersko rezanje:

  • Spodnja plošča x 1
  • Zgornja plošča x 1

Spodaj je priložena mapa z zadrgo, ki vsebuje vse datoteke STL in datoteke za lasersko rezanje.

4. korak: Pritrditev koračnega motorja

Pritrditev koračnega motorja
Pritrditev koračnega motorja
Pritrditev koračnega motorja
Pritrditev koračnega motorja
Pritrditev koračnega motorja
Pritrditev koračnega motorja

Ko so vsi deli 3D natisnjeni, začnite s sestavljanjem tako, da vstavite koračni motor v držalo koraka. Nosilec koračnega motorja, ki smo ga oblikovali, je namenjen modelu NEMA 17 (če uporabljate različne korake, bo potreben drugačen nosilec). Prenesite gred motorja skozi luknjo in motor pritrdite z montažnimi vijaki. Ko sta oba motorja, morata biti varno pritrjena na držala.

5. korak: Namestitev korakov na spodnjo ploščo

Namestitev korakov na spodnjo ploščo
Namestitev korakov na spodnjo ploščo
Namestitev korakov na spodnjo ploščo
Namestitev korakov na spodnjo ploščo
Namestitev korakov na spodnjo ploščo
Namestitev korakov na spodnjo ploščo

Za pritrditev držala na lasersko izrezano spodnjo ploščo smo uporabili vijake M4. Preden jih pritrdite z maticami, dodajte 3D natisnjene ojačitvene trakove ohišja in nato pritrdite matice. Trakovi se uporabljajo za enakomerno porazdelitev obremenitve na akrilno ploščo.

Na koncu napeljite žice skozi ustrezne reže na plošči. Povlecite jih do konca, da se ne zapletejo v kolesa.

6. korak: Namestitev koles

Namestitev koles
Namestitev koles
Namestitev koles
Namestitev koles
Namestitev koles
Namestitev koles

Akrilna plošča ima dva dela, izrezana za namestitev koles. Kolesa, ki smo jih uporabili, so imeli premer 7 cm in so bili opremljeni s pritrdilnimi vijaki, ki so pritrjeni na 5 -milimetrske grede. Prepričajte se, da je kolo pravilno pritrjeno in da ne drsi po gredi.

7. korak: Sprednja in zadnja kolesca

Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca
Sprednja in zadnja kolesca

Da bi se ohišje lahko nemoteno premikalo, smo se odločili, da kolesa postavimo na sprednjo in zadnjo stran robota. Ne samo, da to preprečuje, da bi se robot prevrnil, ampak tudi omogoča, da se ohišje prosto vrti v katero koli smer. Kolesa so na voljo v vseh velikostih, še posebej pri naših z enim vrtljivim vijakom, ki smo ga pritrdili na podlago in uporabili distančnike s 3D tiskanjem, da nastavimo višino, tako da je bil robot popolnoma vodoraven. S tem je osnova podvozja popolna in ima dobro stabilnost.

8. korak: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Ko je osnova ohišja popolnoma sestavljena, je čas, da elektroniko namestite na akrilno ploščo. V akrilni plošči smo naredili luknje, ki se ujemajo z montažnimi luknjami Arduina in Raspberry Pi. Z uporabo 3D tiskanih izpadov smo elektroniko nekoliko dvignili nad akrilne plošče, tako da je mogoče vso odvečno napeljavo lepo spraviti spodaj. Arduino in Raspberry Pi namestite na ustrezna mesta za pritrditev z uporabo matic in vijakov M3. Ko je Arduino pritrjen, pritrdite CNC ščit na Arduino in priključite koračne žice v naslednji konfiguraciji.

  • Levi korak do vrat X-osi za zaščito CNC
  • Desni koračni priključek na vrata CNC-oklopa z zaščito

S priključenimi koračnimi motorji povežite Arduino z Raspberry Pi s kablom USB Arduino. Sčasoma bosta Raspberry Pi in Arduino komunicirala prek tega kabla.

Opomba: Sprednja stran robota je stran z Raspberry Pi

9. korak: Vision System

Sistem vida
Sistem vida
Sistem vida
Sistem vida
Sistem vida
Sistem vida

Primarno okolje za našega robota za spremljanje hišnih ljubljenčkov je vizija. Odločili smo se, da uporabimo Picamero, ki je združljiva z Raspberry Pi, da uporabnikom posreduje prenos v živo prek interneta. Uporabili smo tudi ultrazvočni senzor razdalje, da bi se izognili oviram, ko robot deluje avtonomno. Oba senzorja se pritrdita na držalo s pomočjo vijakov.

Picamera se vstavi v predvidena vrata na Raspberry Pi in ultrazvočni senzor poveže na naslednji način:

  • Ultrazvočni senzor VCC do 5v tirnice na CNC ščitu
  • Ultrazvočni senzor GND do GND na CNC ščitu
  • Ultrazvočni senzor TRIG do X+ končni zatič na CNC ščitu
  • Ultrazvočni senzor ECHO do Y+ končni zatič na CNC ščitu

10. korak: Sestava zgornje plošče

Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče

Na zadnji strani robota je nameščen sistem odpiranja pokrova za posodo za priboljške. Mini koračni motor pritrdite na sestavni del zadnjega nosilca in pritrdite vidni sistem in sistem navijanja z vijaki M3 na zgornjo ploščo. Kot že omenjeno, namestite vidni sistem spredaj in sistem navijanja zadaj s priloženima dvema luknjama.

11. korak: Sestava zgornje plošče

Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče
Sestava zgornje plošče

3D tiskali smo navpične distančnike za podporo zgornje plošče na pravi višini. Začnite tako, da pritrdite štiri distančnike na spodnjo ploščo, da tvorijo "X". Nato zgornjo ploščo postavite s posodo za priboljšek, pri tem pazite, da se bodo njihove luknje poravnale, in jo na koncu pritrdite tudi na distančnike.

Korak: Mehanizem odpiranja pokrova

Mehanizem odpiranja pokrova
Mehanizem odpiranja pokrova
Mehanizem odpiranja pokrova
Mehanizem odpiranja pokrova
Mehanizem odpiranja pokrova
Mehanizem odpiranja pokrova

Za nadzor pokrova na posodici za priboljške smo z manjšim koračnim motorjem navijali najlonsko vrvico, pritrjeno na pokrov, in jo potegnili odprto. Preden pritrdite pokrov, spustite vrvico skozi 2 mm luknjo na pokrovu in na notranji strani naredite vozel. Nato odrežite drugi konec vrvice in ga potisnite skozi luknje na kolutu za navijanje. Potisnite disk na steper in nato povlecite vrvico, da se napne. Ko končate, odrežite presežek in zavežite vozel. Na koncu z vijakom in matico pritrdite pokrov na posodo in se prepričajte, da se zasuka. Ko se koračni stroj vrti, se mora vrvica naviti na disk, pokrov pa se mora postopoma odpreti.

Korak: Nastavitev zbirke podatkov v oblaku

Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku
Nastavitev zbirke podatkov v oblaku

Prvi korak je ustvariti bazo podatkov za sistem, tako da lahko komunicirate z robotom iz mobilne aplikacije od koder koli na svetu. Kliknite naslednjo povezavo (Google firebase), ki vas bo pripeljala na spletno mesto Firebase (prijaviti se boste morali s svojim Google Računom). Kliknite gumb »Začni«, ki vas popelje na konzolo firebase. Nato ustvarite nov projekt s klikom na gumb "Dodaj projekt", izpolnite zahteve (ime, podrobnosti itd.) In zaključite s klikom na gumb "Ustvari projekt".

Potrebujemo samo orodja zbirke podatkov Firebase, zato v meniju na levi strani izberite "baza podatkov". Nato kliknite gumb "Ustvari bazo podatkov", izberite možnost "preskusni način". Nato nastavite bazo podatkov na "bazo podatkov v realnem času" namesto na "cloud firestore" s klikom na spustni meni na vrhu. Izberite zavihek "pravila" in dva "false" spremenite v "true", končno kliknite zavihek "data" in kopirajte URL baze podatkov, to bo potrebno kasneje.

Zadnja stvar, ki jo morate storiti, je, da kliknete ikono zobnika poleg pregleda projekta, nato »Nastavitve projekta«, nato izberite zavihek »Računi storitev«, na koncu kliknite »Skrivnosti zbirke podatkov« in si zapišite varnost kodo vaše baze podatkov. Ko je ta korak dokončan, ste uspešno ustvarili svojo bazo podatkov v oblaku, do katere lahko dostopate s pametnega telefona in z Raspberry Pi. (Če imate kakršne koli dvome, uporabite zgornje slike, ali pa postavite vprašanje v odsek za komentarje)

14. korak: Ustvarjanje mobilne aplikacije

Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije
Ustvarjanje mobilne aplikacije

Naslednji del sistema IoT je aplikacija za pametni telefon. Odločili smo se, da uporabimo aplikacijo MIT App Inventor za izdelavo lastne prilagojene aplikacije. Če želite uporabiti prvotno ustvarjeno aplikacijo, odprite naslednjo povezavo (MIT App Inventor), ki vas bo pripeljala na njihovo spletno stran. Nato kliknite »ustvari aplikacije« na vrhu zaslona, nato se prijavite s svojim Google Računom.

Prenesite datoteko.aia, ki je povezana spodaj. Odprite zavihek "projekti" in kliknite "Uvozi projekt (.aia) iz mojega računalnika", nato izberite datoteko, ki ste jo pravkar prenesli, in kliknite "v redu". V oknu s komponentami se pomaknite do konca, dokler ne vidite »FirebaseDB1«, kliknite nanj in spremenite »FirebaseToken«, »FirebaseURL« na vrednosti, ki ste jih zapisali v prejšnjem koraku. Ko so ti koraki končani, ste pripravljeni na prenos in namestitev aplikacije. Aplikacijo lahko prenesete neposredno v telefon, tako da kliknete zavihek "Build" in kliknete "App (navedite QR kodo za.apk)", nato s pametnim telefonom skenirate kodo QR ali kliknete "App (shrani.apk v računalnik).) "datoteko apk boste prenesli v računalnik, ki jo lahko nato prenesete na svoj pametni telefon.

Korak 15: Programiranje Raspberry Pi

Programiranje Raspberry Pi
Programiranje Raspberry Pi

Raspberry Pi se uporablja iz dveh glavnih razlogov.

  1. Prenaša video tok v živo iz robota na spletni strežnik. Ta tok si lahko uporabnik ogleda z mobilno aplikacijo.
  2. Prebere posodobljene ukaze v bazi podatkov firebase in naroči Arduinu, naj izvede zahtevane naloge.

Za nastavitev Raspberry Pi na prenos v živo že obstaja podrobna vadnica, ki jo najdete tukaj. Navodila se nanašajo na tri preproste ukaze. Vklopite Raspberry Pi in odprite terminal ter vnesite naslednje ukaze.

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

Ko je namestitev končana, znova zaženite Pi in lahko dostopate do toka z iskanjem https:// vašega IP -naslova Pi v katerem koli spletnem brskalniku.

Ko je nastavljeno pretakanje v živo, boste morali prenesti in namestiti določene knjižnice, da boste lahko uporabljali bazo podatkov v oblaku. Odprite terminal na svojem Pi in vnesite naslednje ukaze:

  • zahteve za namestitev sudo pip == 1.1.0
  • sudo pip namestite python-firebase

Na koncu prenesite spodaj priloženo datoteko python in jo shranite v svoj Raspberry Pi. V četrti vrstici kode spremenite vrata COM v vrata, s katerimi je povezan Arduino. Nato spremenite URL v 8. vrstici v URL firebase, ki ste ga zapisali prej. Končno zaženite program skozi terminal. Ta program pridobi ukaze iz baze podatkov v oblaku in jih prek serijske povezave posreduje v Arduino.

Korak 16: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina
Programiranje Arduina
Programiranje Arduina

Arduino se uporablja za razlago ukazov iz Pi -ja in poučuje aktuatorje na robotu, da izvedejo potrebna opravila. Prenesite spodaj priloženo kodo Arduino in jo naložite na Arduino. Ko je Arduino programiran, ga s posebnim kablom USB povežite z enim od vrat USB Pi.

17. korak: Napajanje sistema

Napajanje sistema
Napajanje sistema

Robot se bo napajal iz 3 -celične lipo baterije. Sponke akumulatorja je treba razdeliti na dva, pri čemer eden gre neposredno na CNC ščit za napajanje motorjev, drugi pa se priključi na 5v UBEC, ki je ustvaril stabilen 5 -voltni daljnovod, ki se bo uporabljal za napajanje Raspberry Pi skozi zatiči GPIO. 5v iz UBEC je priključen na 5v pin Raspberry Pi, GND iz UBEC pa na pin GND na Pi.

18. korak: Uporaba aplikacije

Uporaba aplikacije
Uporaba aplikacije
Uporaba aplikacije
Uporaba aplikacije
Uporaba aplikacije
Uporaba aplikacije

Vmesnik aplikacije omogoča nadzor nad robotom za spremljanje in pretočno predvajanje v živo iz vgrajene kamere. Če se želite povezati z robotom, se prepričajte, da imate stabilno internetno povezavo, nato pa preprosto vnesite naslov Raspberry Pi v predvideno besedilno polje in kliknite gumb za posodobitev. Ko končate, se bo na vašem zaslonu prikazal vir v živo in morali bi lahko nadzorovati različne funkcije robota.

Korak 19: Pripravljen na preizkus

Pripravljen za testiranje
Pripravljen za testiranje
Pripravljen za testiranje
Pripravljen za testiranje

Zdaj, ko je vaš robot za spremljanje hišnih ljubljenčkov v celoti sestavljen, lahko posodo napolnite z nekaj dobrotami za pse. Odprite aplikacijo, povežite kamero in se zabavajte! Trenutno se igramo z roverjem in našim Beaglom in ujeli smo precej smešne trenutke.

Ko je pes premagal začetni strah pred tem premikajočim se predmetom, je lovil bot po hiši za priboljške. Vgrajena kamera omogoča dober širokokotni pogled na okolico, kar olajša upravljanje.

Obstaja prostor za izboljšave, da bi bolje deloval v resničnem svetu. Kljub temu smo ustvarili robusten sistem, na katerega se lahko še nadgradi in razširi. Če vam je bil ta projekt všeč, oddajte glas za nas na tekmovanju "Robotics"

Srečno ustvarjanje!

Natečaj robotike
Natečaj robotike
Natečaj robotike
Natečaj robotike

Druga nagrada na tekmovanju robotike

Priporočena: