Turinys:

„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema: 19 žingsnių (su nuotraukomis)
„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema: 19 žingsnių (su nuotraukomis)

Video: „Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema: 19 žingsnių (su nuotraukomis)

Video: „Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema: 19 žingsnių (su nuotraukomis)
Video: MKS Robin Nano v2.0 - A4988 or DRV8825 Install Guide 2024, Lapkritis
Anonim
Image
Image
„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema
„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema
„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema
„Arduino“ir „Raspberry Pi“varoma naminių gyvūnėlių stebėjimo sistema

Neseniai atostogaudami supratome, kad trūksta ryšio su mūsų augintiniu Bigliu. Atlikę keletą tyrimų, radome produktus, kuriuose buvo statinė kamera, leidžianti stebėti ir bendrauti su savo augintiniu. Šios sistemos turėjo tam tikrų privalumų, tačiau neturėjo universalumo. Pavyzdžiui, kiekviename kambaryje reikėjo įrenginio, kuris galėtų sekti jūsų augintinį visame name.

Todėl sukūrėme tvirtą robotą, kuris gali manevruoti po namus ir gali stebėti savo augintinį naudodamas daiktų interneto galią. Išmaniųjų telefonų programa buvo sukurta bendrauti su jūsų augintiniu per tiesioginį vaizdo įrašą. Roboto važiuoklė pagaminta skaitmeniniu būdu, nes kelios dalys buvo sukurtos naudojant 3D spausdinimą ir pjovimą lazeriu. Galiausiai nusprendėme pridėti papildomą funkciją, kuri išdalins skanėstus, kad apdovanotų jūsų augintinį.

Toliau sukurkite savo augintinių stebėjimo sistemą ir galbūt net pritaikykite ją pagal savo poreikius. Peržiūrėkite aukščiau pateiktą vaizdo įrašą, kad pamatytumėte, kaip reagavo mūsų augintinis, ir geriau suprasite robotą. Jei jums patiko projektas, atsisakykite balsavimo „Robotikos konkurse“.

1 žingsnis: dizaino apžvalga

Dizaino apžvalga
Dizaino apžvalga
Dizaino apžvalga
Dizaino apžvalga

Norėdami suprasti naminių gyvūnėlių stebėjimo roboto koncepciją, pirmiausia sukūrėme jį „Fusion 360“. Štai keletas jo funkcijų:

Robotą galima valdyti per internetinę programą. Tai leidžia vartotojui prisijungti prie roboto iš bet kurios vietos

Borto kamera, tiesiogiai transliuojanti vaizdo įrašą į išmanųjį telefoną, gali padėti vartotojui manevruoti namuose ir bendrauti su augintiniu

Papildomas patiekalų dubenėlis, kuriuo galite apdovanoti savo augintinį nuotoliniu būdu

Skaitmeniniu būdu pagamintos dalys, leidžiančios pritaikyti savo robotą

„Raspberry Pi“buvo naudojamas prisijungti prie interneto, nes jame yra įmontuotas „Wi -Fi“režimas

„Arduino“buvo naudojamas kartu su CNC skydu, kad būtų galima duoti komandas žingsniniams varikliams

2 žingsnis: reikalingos medžiagos

Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos

Čia yra visų komponentų, reikalingų norint sukurti savo „Arduino“ir „Raspberry Pi“varomą naminių gyvūnėlių stebėjimo robotą, sąrašas. Visos dalys turėtų būti lengvai prieinamos ir lengvai prieinamos.

ELEKTRONIKA:

  • „Arduino Uno“x 1
  • „Raspberry Pi“(su naujausiu „raspbian“) x 1
  • CNC skydas x 1
  • A4988 žingsninio variklio tvarkyklė x 2
  • „Picamera“x 1
  • Ultragarsinis atstumo jutiklis x 1
  • 11,1 V „Lipo“baterija x 1
  • NEMA 17 žingsninis variklis x 2
  • 5 V UBEC x 1

Aparatūra:

  • Ratai x 2 (mūsų naudojami ratai buvo 7 cm skersmens)
  • Ratukai x 2
  • M4 ir M3 veržlės ir varžtai

Bendra šio projekto kaina, neįskaitant „Arduino“ir „Raspberry Pi“, yra apie 50 USD.

3 žingsnis: Skaitmeniniu būdu pagamintos dalys

Skaitmeniniu būdu pagamintos dalys
Skaitmeniniu būdu pagamintos dalys
Skaitmeniniu būdu pagamintos dalys
Skaitmeniniu būdu pagamintos dalys

Kai kurios dalys, kurias naudojome šiame projekte, turėjo būti pagamintos pagal užsakymą. Pirmiausia jie buvo modeliuojami naudojant „Fusion 360“, o paskui buvo pagaminti naudojant 3D spausdintuvą ir lazerinį pjaustytuvą. 3D spausdintos dalys nepatiria didelės apkrovos, todėl standartinė PLA su 20% užpildu veikia puikiai. Žemiau pateikiamas visų 3D spausdintų ir lazeriu pjaustytų dalių sąrašas:

3D spausdintos dalys:

  • Žingsninio laikiklis x 2
  • Regėjimo sistemos tvirtinimas x 1
  • Elektronikos atskirtis x 4
  • Vertikalus tarpiklis x 4
  • Važiuoklės sutvirtinimas x 2
  • Gydykite dubenėlio dangtį x 1
  • Gydykite dubenį x 1
  • Galinio laiptelio laikiklis x 1
  • Apvijos diskas x 1

„Lasercut“dalys:

  • Apatinis skydelis x 1
  • Viršutinis skydelis x 1

Žemiau pridėtas aplankas su užtrauktuku, kuriame yra visi STL ir pjovimo lazeriu failai.

4 žingsnis: žingsninio variklio pritvirtinimas

Žingsninio variklio tvirtinimas
Žingsninio variklio tvirtinimas
Žingsninio variklio tvirtinimas
Žingsninio variklio tvirtinimas
Žingsninio variklio tvirtinimas
Žingsninio variklio tvirtinimas

Kai visos dalys bus atspausdintos 3D, pradėkite surinkimą montuodami žingsninį variklį į žingsninio laikiklį. Mūsų sukurtas žingsninio variklio laikiklis skirtas NEMA 17 modeliui (jei naudojate skirtingus žingsnius, reikės kitokio tvirtinimo). Variklio veleną praleiskite per skylę ir pritvirtinkite variklį savo vietoje tvirtinimo varžtais. Baigę abu varikliai turi būti tvirtai laikomi prie laikiklių.

5 žingsnis: žingsnių montavimas prie apatinio skydo

Žingsnių montavimas prie apatinio skydo
Žingsnių montavimas prie apatinio skydo
Žingsnių montavimas prie apatinio skydo
Žingsnių montavimas prie apatinio skydo
Žingsnių montavimas prie apatinio skydo
Žingsnių montavimas prie apatinio skydo

Norėdami pritvirtinti laikiklius prie lazeriu supjaustyto apatinio skydo, naudojome M4 varžtus. Prieš tvirtindami veržlėmis, pridėkite 3D spausdintas važiuoklės sutvirtinimo juosteles ir tada pritvirtinkite veržles. Juostelės naudojamos tolygiai paskirstyti apkrovą ant akrilo plokštės.

Galiausiai laidus perveskite per atitinkamas skydelyje esančias angas. Būtinai traukite juos iki galo, kad neįsipainiotų į ratus.

6 žingsnis: ratų montavimas

Ratų montavimas
Ratų montavimas
Ratų montavimas
Ratų montavimas
Ratų montavimas
Ratų montavimas

Akrilo plokštėje yra dvi dalys, iškirptos, kad tilptų ratai. Mūsų naudojami ratai buvo 7 cm skersmens ir buvo komplektuojami su varžtais, pritvirtintais prie 5 mm žingsninių velenų. Įsitikinkite, kad ratas yra tinkamai pritvirtintas ir neslysta ant veleno.

7 žingsnis: priekiniai ir galiniai ratukai

Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai
Priekiniai ir galiniai ratukai

Kad važiuoklė galėtų sklandžiai judėti, nusprendėme ratukus uždėti roboto priekyje ir gale. Tai ne tik neleidžia robotui apvirsti, bet ir leidžia važiuoklę laisvai pasukti bet kuria kryptimi. Ratukai yra įvairaus dydžio, ypač mūsų buvo su vienu pasukamu varžtu, kurį pritvirtinome prie pagrindo ir naudojome 3D spausdintus tarpiklius, kad sureguliuotume aukštį taip, kad robotas būtų visiškai horizontalus. Tokiu būdu važiuoklės pagrindas yra baigtas ir turi gerą stabilumą.

8 žingsnis: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Kai važiuoklės pagrindas yra visiškai surinktas, laikas montuoti elektroniką ant akrilo plokštės. Akrilo plokštėje padarėme skyles, kurios sutampa su „Arduino“ir „Raspberry Pi“tvirtinimo angomis. Naudodami 3D spausdintus išjungimus, mes šiek tiek pakėlėme elektroniką virš akrilo plokščių, kad visi pertekliniai laidai būtų tvarkingai uždėti po apačia. Sumontuokite „Arduino“ir „Raspberry Pi“prie atitinkamų montavimo vietų, naudodami M3 veržles ir varžtus. Kai „Arduino“bus pritvirtintas, pritvirtinkite CNC skydą prie „Arduino“ir prijunkite žingsninius laidus pagal šią konfigūraciją.

  • Kairysis žingsnelis prie CNC skydo X ašies prievado
  • Dešinysis žingsnis į CNC skydo Y ašies prievadą

Prijungę žingsninius variklius, prijunkite „Arduino“prie „Raspberry Pi“naudodami „Arduino“USB kabelį. Galų gale „Raspberry Pi“ir „Arduino“ketina bendrauti šiuo kabeliu.

Pastaba: Roboto priekis yra šone su „Raspberry Pi“

9 žingsnis: regėjimo sistema

Regėjimo sistema
Regėjimo sistema
Regėjimo sistema
Regėjimo sistema
Regėjimo sistema
Regėjimo sistema

Pagrindinis mūsų augintinių stebėjimo roboto aplinkos šaltinis yra regėjimas. Mes nusprendėme naudoti „Picamera“, suderinamą su „Raspberry Pi“, tiesioginiam srautui perduoti vartotojui internetu. Mes taip pat naudojome ultragarsinį atstumo jutiklį, kad išvengtume kliūčių, kai robotas veikia autonomiškai. Abu jutikliai pritvirtinami prie laikiklio varžtais.

„Picamera“įkišamas į paskirtą „Raspberry Pi“prievadą ir prijungia ultragarsinį jutiklį taip:

  • Ultragarsinis jutiklis VCC į 5v bėgelį ant CNC skydo
  • Ultragarsinis jutiklis nuo GND iki GND bėgelio ant CNC skydo
  • Ultragarsinis jutiklis nuo TRIG iki X+ galinio stabdymo kaiščio ant CNC skydo
  • Ultragarsinis jutiklis nuo ECHO iki Y+ galinio stabdymo kaiščio CNC skydelyje

10 žingsnis: Viršutinio skydo surinkimas

Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas

Roboto gale sumontuota skanėstų dubenėlio dangčio atidarymo sistema. Pritvirtinkite mini žingsninį variklį prie galinio laikiklio komponento ir prie viršutinio skydo pritvirtinkite regėjimo sistemą ir apvijų sistemą su M3 varžtais. Kaip minėta, įsitikinkite, kad matymo sistema yra sumontuota priekyje, o apvijų sistema - gale su dviem skylėmis.

11 veiksmas: viršutinio skydo surinkimas

Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas
Viršutinio skydo surinkimas

Mes atspausdinome 3D vertikalias tarpines, kad palaikytume viršutinį skydelį tinkamame aukštyje. Pradėkite pritvirtindami keturis tarpiklius prie apatinio skydelio, kad suformuotumėte „X“. Tada uždėkite viršutinį skydelį su gydomuoju dubeniu, įsitikindami, kad jų skylės sutampa, ir galiausiai pritvirtinkite jį prie tarpiklių.

12 žingsnis: dangčio atidarymo mechanizmas

Dangtelio atidarymo mechanizmas
Dangtelio atidarymo mechanizmas
Dangtelio atidarymo mechanizmas
Dangtelio atidarymo mechanizmas
Dangtelio atidarymo mechanizmas
Dangtelio atidarymo mechanizmas

Norėdami valdyti skanėsto dubenėlio dangtį, mes panaudojome mažesnį žingsninį variklį, kad suvyniotume prie dangtelio pritvirtintą nailoninę virvelę, ją ištraukdami. Prieš pritvirtindami dangtį, praleiskite virvelę per 2 mm dangčio angą ir vidinėje pusėje padarykite mazgą. Tada nukirpkite kitą virvelės galą ir perbraukite per apvijos diske esančias skyles. Stumkite diską ant žingsnelio, tada traukite virvelę, kol ji bus įtempta. Baigę nupjaukite perteklių ir suriškite mazgą. Galiausiai varžtu ir veržle pritvirtinkite dangtį prie dubenėlio ir įsitikinkite, kad jis sukasi. Dabar, kai žingsnelis sukasi, styga turėtų suktis ant disko, o dangtis palaipsniui atsidarytų.

13 veiksmas: debesų duomenų bazės nustatymas

Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas
Debesų duomenų bazės nustatymas

Pirmasis žingsnis yra sukurti sistemos duomenų bazę, kad galėtumėte bendrauti su robotu iš savo mobiliosios programos iš bet kurios pasaulio vietos. Spustelėkite šią nuorodą („Google firebase“), kuri pateks į „Firebase“svetainę (turėsite prisijungti naudodami „Google“paskyrą). Spustelėkite mygtuką „Pradėti“, kuris nukreips jus į „Firebase“konsolę. Tada sukurkite naują projektą spustelėdami mygtuką „Pridėti projektą“, užpildykite reikalavimus (pavadinimą, išsamią informaciją ir tt) ir užbaigite spustelėdami mygtuką „Sukurti projektą“.

Mums tiesiog reikia „Firebase“duomenų bazės įrankių, todėl kairėje esančiame meniu pasirinkite „duomenų bazė“. Tada spustelėkite mygtuką „Sukurti duomenų bazę“, pasirinkite parinktį „bandymo režimas“. Tada nustatykite duomenų bazę į „realaus laiko duomenų bazę“, o ne „debesies židinį“, spustelėdami viršuje esantį išskleidžiamąjį meniu. Pasirinkite skirtuką „taisyklės“ir du „klaidingus“pakeiskite į „tiesa“, galiausiai spustelėkite skirtuką „duomenys“ir nukopijuokite duomenų bazės URL, to reikės vėliau.

Paskutinis dalykas, kurį turėsite padaryti, yra spustelėti krumpliaračio piktogramą šalia projekto apžvalgos, tada „projekto nustatymai“, tada pasirinkite skirtuką „paslaugų paskyros“, galiausiai spustelėkite „Duomenų bazės paslaptys“ir pažymėkite saugumą savo duomenų bazės kodą. Baigę šį veiksmą, sėkmingai sukūrėte savo debesų duomenų bazę, kurią galite pasiekti iš savo išmaniojo telefono ir iš „Raspberry Pi“. (Jei kyla abejonių, naudokite aukščiau pridėtas nuotraukas arba tiesiog įkelkite klausimą komentarų skiltyje)

14 veiksmas: sukurkite programą mobiliesiems

Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas
Programos mobiliesiems kūrimas

Kita „IoT“sistemos dalis yra išmaniųjų telefonų programa. Mes nusprendėme naudoti „MIT App Inventor“, kad sukurtume savo pritaikytą programą. Norėdami naudoti mūsų sukurtą programą, pirmiausia atidarykite šią nuorodą („MIT App Inventor“), kuri nuves jus į jų tinklalapį. Tada ekrano viršuje spustelėkite „kurti programas“, tada prisijunkite prie „Google“paskyros.

Atsisiųskite toliau nurodytą.aia failą. Atidarykite skirtuką „projektai“ir spustelėkite „Importuoti projektą (.aia) iš mano kompiuterio“, tada pasirinkite ką tik atsisiųstą failą ir spustelėkite „Gerai“. Komponentų lange slinkite iki galo, kol pamatysite „FirebaseDB1“, spustelėkite jį ir pakeiskite „FirebaseToken“, „FirebaseURL“į reikšmes, kurias išsaugojote ankstesniame veiksme. Kai šie veiksmai bus baigti, būsite pasiruošę atsisiųsti ir įdiegti programą. Programėlę galite atsisiųsti tiesiai į savo telefoną spustelėję skirtuką „Sukurti“ir spustelėję „Programėlė (pateikite QR kodą.apk)“, tada išmaniuoju telefonu nuskenavę QR kodą arba spustelėję „Programėlė (išsaugoti.apk mano kompiuteryje)) atsisiųsite apk failą į savo kompiuterį, kurį galėsite perkelti į savo išmanųjį telefoną.

15 žingsnis: Raspberry Pi programavimas

Raspberry Pi programavimas
Raspberry Pi programavimas

„Raspberry Pi“naudojamas dėl dviejų pagrindinių priežasčių.

  1. Jis perduoda tiesioginį vaizdo srautą iš roboto į žiniatinklio serverį. Šį srautą vartotojas gali peržiūrėti naudodamas programą mobiliesiems.
  2. Jis skaito atnaujintas „firebase“duomenų bazės komandas ir nurodo „Arduino“atlikti reikiamas užduotis.

Norėdami nustatyti „Raspberry Pi“tiesioginiam srautui, išsami pamoka jau yra ir ją rasite čia. Instrukcijos susideda iš trijų paprastų komandų. Įjunkite „Raspberry Pi“ir atidarykite terminalą ir įveskite šias komandas.

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

Kai diegimas bus baigtas, iš naujo paleiskite „Pi“ir turėtumėte pasiekti srautą, ieškodami https:// „Pi“IP adreso bet kurioje žiniatinklio naršyklėje.

Nustatę tiesioginį srautą, turėsite atsisiųsti ir įdiegti tam tikras bibliotekas, kad galėtumėte naudotis debesų duomenų baze. Atidarykite „Pi“terminalą ir įveskite šias komandas:

  • sudo pip diegimo užklausos == 1.1.0
  • sudo pip įdiegti python-firebase

Galiausiai atsisiųskite žemiau pateiktą „python“failą ir išsaugokite jį savo „Raspberry Pi“. Ketvirtoje kodo eilutėje pakeiskite COM prievadą į prievadą, prie kurio prijungtas „Arduino“. Tada pakeiskite 8 eilutėje esantį URL į „firebase“URL, kurį anksčiau išsaugojote. Galiausiai paleiskite programą per terminalą. Ši programa paima komandas iš debesų duomenų bazės ir perduoda ją „Arduino“per nuoseklųjį ryšį.

16 žingsnis: „Arduino“programavimas

„Arduino“programavimas
„Arduino“programavimas
„Arduino“programavimas
„Arduino“programavimas

„Arduino“naudojamas interpretuoti „Pi“komandas ir nurodo roboto pavaras atlikti reikiamas užduotis. Atsisiųskite žemiau pateiktą „Arduino“kodą ir įkelkite jį į „Arduino“. Kai „Arduino“yra užprogramuotas, prijunkite jį prie vieno iš „Pi“USB prievadų naudodami specialų USB kabelį.

17 žingsnis: Įjunkite sistemą

Sistemos maitinimas
Sistemos maitinimas

Robotas bus maitinamas iš 3 ląstelių lipo baterijos. Akumuliatoriaus gnybtus reikia padalyti į dvi dalis, kur vienas eina tiesiai prie CNC skydo varikliams maitinti, o kitas prijungiamas prie 5 V UBEC, kuris sukūrė pastovią 5 V elektros liniją, kuri bus naudojama „Raspberry Pi“GPIO kaiščiai. 5 V iš UBEC yra prijungtas prie Raspberry Pi 5 V kaiščio, o GND iš UBEC yra prijungtas prie GND kaiščio ant Pi.

18 veiksmas: programos naudojimas

Programėlės naudojimas
Programėlės naudojimas
Programėlės naudojimas
Programėlės naudojimas
Programėlės naudojimas
Programėlės naudojimas

Programos sąsaja leidžia valdyti stebėjimo robotą ir transliuoti tiesioginį kanalą iš borto kameros. Norėdami prisijungti prie savo roboto, įsitikinkite, kad turite stabilų interneto ryšį, tada tiesiog įveskite Raspberry Pi IP adresą pateiktame teksto laukelyje ir spustelėkite atnaujinimo mygtuką. Kai tai bus padaryta, tiesioginis sklaidos kanalas pasirodys jūsų ekrane ir turėtumėte turėti galimybę valdyti įvairias roboto funkcijas.

19 veiksmas: pasiruošę išbandyti

Paruošta išbandyti
Paruošta išbandyti
Paruošta išbandyti
Paruošta išbandyti

Dabar, kai jūsų augintinio stebėjimo robotas yra visiškai surinktas, galite užpildyti dubenį šunų skanėstais. Atidarykite programą, prijunkite fotoaparatą ir linksminkitės! Šiuo metu žaidėme su roveriu ir „Beagle“ir užfiksavome gana linksmas akimirkas.

Kai šuo įveikė pradinę šio judančio objekto baimę, jis vijosi robotą po namus dėl skanėstų. Borto kamera suteikia gerą plataus kampo vaizdą į aplinką, todėl manevruoti yra gana paprasta.

Yra galimybių tobulėti, kad jis veiktų geriau realiame pasaulyje. Be to, mes sukūrėme tvirtą sistemą, kurią galima toliau kurti ir plėsti. Jei jums patiko šis projektas, atsisakykite mūsų balsavimo „Robotikos konkurse“

Laimingas kūrimas!

Robotikos konkursas
Robotikos konkursas
Robotikos konkursas
Robotikos konkursas

Antrasis prizas robotikos konkurse

Rekomenduojamas: