Turinys:

Šuns robotas: „Lego Robot Rover“su kamera: 17 žingsnių (su nuotraukomis)
Šuns robotas: „Lego Robot Rover“su kamera: 17 žingsnių (su nuotraukomis)

Video: Šuns robotas: „Lego Robot Rover“su kamera: 17 žingsnių (su nuotraukomis)

Video: Šuns robotas: „Lego Robot Rover“su kamera: 17 žingsnių (su nuotraukomis)
Video: Я построил фабрику роботов LEGO! 🤖 2024, Lapkritis
Anonim
Image
Image

Štai kaip sukurti „Lego“robotą, kurį galite valdyti iš bet kurio ekrano per „Wi -Fi“. Jis taip pat turi internetinę kamerą, kad galėtumėte pamatyti, kur einate, ir LED lemputes akims! Tai puikus projektas, kurį reikia daryti su savo vaikais, nes jie gali sukurti logotipą, ir jūs galite įtraukti juos į tiek elektronikos, kiek jie patenkinti. Įgyvendinant šį projektą yra daug lankstumo, o tai reiškia, kad jūs gali lengvai suskaidyti į gabalus ir vėl suprojektuoti. Man pasirodė naudinga, kai įstrigo tiesiog pradėti iš naujo. Kai tai padarysite keletą kartų, jį bus gana lengva ir greitai atkurti nuo pat pradžių. Puikus dalykas yra tai, kad jums nereikia jaudintis, kad „sulaužysite“ką nors, nes išsiugdysite įgūdžius lengvai atstatyti.

Ko tau reikia

  • Raspberry Pi B+
  • Pagrindas ir variklio komplektas
  • „Lego“pagrindo plokštė
  • Pramoninio stiprumo super klijai
  • Grąžtas
  • Amatinis peilis
  • Litavimo įranga
  • SD kortelė
  • SD kortelių skaitytuvas
  • Variklio valdiklio komplektas
  • 2 šviesos diodai
  • vidutinės kainos internetinė kamera (galite pabandyti pigiai)
  • Kompiuteris ir planšetinis kompiuteris / telefonas
  • „Wifi“maršrutizatorius, prie kurio turite administratoriaus prieigą
  • Daug „Lego“detalių
  • Avarinis telefono įkroviklis
  • 4 šokinėjimo laidai, turintys bent vieną gnybtą
  • 4 AA baterijos (gerai įkraunama)

1 žingsnis: Paruoškite pagrindą

Aš pradėjau nuo bazės ir 2 variklių, tokių kaip šis variklių rinkinys „Amazon“

Paimkite perspex pagrindą ir ant jo priklijuokite ploną „Lego“pagrindo plokštelę. Tam naudojau pramoninio stiprumo super klijus, kurie išdžiūsta per kelias minutes ir yra labai stiprūs. Kai klijai pritvirtinami, nupjaukite „Lego“pagrindo plokštės perteklių taip, kad jis atitiktų „Perspex“pagrindo plokštės liniją. tada per Lego plokštę gręžkite skyles, atitinkančias perspex pagrindą. Aš gręžiau skyles tada, kai man jų reikėjo. Dabar jūs turite pagrindą sukurti „Lego“struktūrą.

2 žingsnis: Surinkite ratus

Surinkite ratus
Surinkite ratus

Dabar surinkite ratus. Vykdykite gamintojo instrukcijas čia. Ratai, kuriuos nusipirkau, turėjo visas instrukcijas kinų kalba, kurių aš negaliu perskaityti, tačiau tai buvo gana lengva išsiaiškinti iš nuotraukų. Surinkę laidus, pritvirtinkite prie variklių nedideliu lydmetaliu.

3 žingsnis: pritvirtinkite ratus prie pagrindo

Pritvirtinkite ratus prie pagrindo
Pritvirtinkite ratus prie pagrindo

Tada pritvirtinkite ratus prie pagrindo plokštės, jei reikia, galite gręžti skyles. Tikriausiai projekto pabaigoje sužinosite, kad norite, kad laidai būtų vedami per pagrindą kur nors kitur, tačiau visada galite išgręžti naują skylę ir vėliau persikelti.

4 žingsnis: Paruoškite Pi

Paruoškite Pi
Paruoškite Pi

Dabar paruoškite PI. Aš naudoju modelį B+ su USB „wifi“raktu. Aš naudoju visą darbalaukio vaizdą, pagrįstą „Debian Jessie“, kurį galite atsisiųsti iš „Raspbian Pi“svetainės. Verta sukurti SD kortelę nuo nulio ir laikyti disko vaizdą po ranka, nes galite lengvai pradėti iš naujo. Jums gali tekti šiek tiek ieškoti „Google“, kad išsiaiškintumėte, kaip sukurti disko vaizdą savo kompiuteryje. Aš sukūriau savo vaizdą naudodamas „Ubuntu“: dešiniuoju pelės mygtuku spustelėkite disko vaizdą ir pasirinkite „atidaryti naudojant disko vaizdo įrašymo priemonę“. Įrašykite vaizdą į SD kortelę. Disko vaizdas yra gana mažas, todėl jei turite didesnę SD kortelę (pvz., 30 GB), galite naudoti skaidymo programinę įrangą, pvz., „GParted“, kad išnaudotumėte visą turimą vietą. Kai išsiaiškinsite, kaip tai padaryti, tai užtrunka apie 5 minutes ir tikrai verta, tarsi sujauktumėte programinę įrangą, kurią galite tiesiog iš naujo įdiegti.

5 žingsnis: Sumontuokite valdiklį

Sumontuokite valdiklio plokštę
Sumontuokite valdiklio plokštę

Tada jums reikia variklio valdiklio plokštės. Aš naudoju „RyanTek“rinkinį. Komplekte yra puikus litavimo vadovas, tačiau manau, kad jį taip pat galite iš anksto lituoti. Jei anksčiau nebuvote litavę, nesijaudinkite, lėtai imkitės ir šiek tiek pasitreniruokite prieš pradėdami dirbti su variklio lenta.

Dabar pritvirtinkite akumuliatorių (su 4 AA baterijomis) ir variklius iki valdiklio plokštės, tada pritvirtinkite valdiklio plokštę prie „Pi“GPIO kaiščių. Vėlgi, valdiklio plokštė suteiks jums daugiau informacijos. Nesijaudinkite, kad tinkami variklio laidai patenka į reikiamus lizdus, jei jie nėra prijungti prie nuolatinės srovės maitinimo lizdų. Aš neklijuoju ir nesukiu „Pi“ar akumuliatoriaus į „Lego“plokštę, nes tai suteikia daugiau lankstumo kuriant „Lego“korpusą. Eidami taip pat galite lengvai pakeisti savo dizainą.

6 žingsnis: pradėkite kurti „Lego“korpusą

Pradėkite kurti „Lego“korpusą
Pradėkite kurti „Lego“korpusą
Pradėkite kurti „Lego“korpusą
Pradėkite kurti „Lego“korpusą

Dabar atėjo laikas sukurti „Lego“. Šiuo metu galite įtraukti tikrai jaunus vaikus, jei tik jie gali turėti „Lego“gabalėlį! Pradėjome nuo paprasto kvadratinio būsto, kol viskas veikė, o tada su šunų robotu tapome nuotaikingesni. Puikus dalykas yra tai, kad galite atkurti roboto kūną tiek, kiek jums patinka. Pradėkite kurdami „Pi“namus. Nepamirškite palikti vietos USB prievadams ir maitinimo kabeliams. Į bet kurį statomą būstą sukurkite daug laisvės. Gerai, kad viskas šiek tiek barškės, o jūs negalite būti pernelyg tikslus su „Lego“.

Mes naudojome „Lego“langus, kad suteiktume prieigą prie USB prievadų, kurių jums prireiks vėliau.

7 žingsnis: Paruoškite „Pi“

Dabar tinkamas laikas paleisti „Pi“ir pajudinti robotą.

Aš sukūriau kodą, kurį naudosiu su šiuo projektu „Git hub“. Skaitykite mane „git hub“puslapiuose, nurodydami instrukcijas, kaip įdiegti visą „Pi“programinę įrangą, bet taip pat padėsiu jums čia.

Pirmiausia paleiskite „Pi“, prijungdami maitinimo kabelį. Turite prijungti HDMI kabelį prie televizoriaus ir naudoti USB klaviatūrą ir pelę. Pirmiausia turite prisijungti prie „Wifi“. tai galite padaryti spustelėję piktogramą viršutiniame dešiniajame Raspian darbalaukio kampelyje ir įrodę išsamią informaciją. Prisijungę prie „Wifi“, visa kita galite padaryti naudodami komandų eilutę, taigi, jei norite, galite prisijungti prie „Pi“naudodami ssh, tačiau kol kas, kai esame prisijungę prie televizoriaus, galime atidaryti terminalą iš „Raspian“darbalaukio.

8 veiksmas: įdiekite programinę įrangą „Pi“

Atidarykite „Pi“terminalą ir įveskite šias komandas.

sudo apt-get atnaujinimas

Tai atnaujina „Raspian“su naujausia programine įranga.

Tada įdiekite internetinės kameros programinę įrangą

sudo apt-get install motion

Šiuo metu taip pat turite sukonfigūruoti judesį. „Github“puslapiuose išvardijau, kuriuos failus reikia atnaujinti. Taip pat yra instrukcija, kaip prijungti internetinę kamerą prie „Pi“. Susipažinkite su nustatymais ir žaiskite su jais, kai jums patiks sąranka.

sudo apt-get įdiegti python-dev python-pip

Tai įdiegia „Python“bibliotekas ir „python“programinės įrangos pakavimo tvarkyklę.

sudo pip install 'pubnub> = 4.1.2'

Taip įdiegiama „Pubnub“- programinė įranga, valdanti pranešimus tarp valdymo pulto ir belaidžio roboto.

Šiai daliai įdiegti reikia šiek tiek laiko, todėl eikite ir pasigaminkite puodelį arbatos !!

9 veiksmas: įdiekite roboto programinę įrangą

Dabar įdiegėte visus priklausomus programinės įrangos bitus ir dalis, atėjo laikas įdiegti robotui paleisti reikalingą kodą.

git klonas

tai sukurs „lego-robot“aplanką jūsų namų kataloge.

Prieš paleisdami roboto kodą, turite sukurti „PubNub“paskyrą ir gauti paskelbimo ir prenumeratos raktą. tai galite padaryti vadovaudamiesi „PubNub“instrukcijomis, kaip pradėti dabar. Kai nustatysite, turite atidaryti du failus:

  • lego-robotas/serveris/keys.py
  • lego-robotas/klientas/keys.js

ir pakeiskite užeigos ir antrinius raktus raktais, kuriuos galite gauti iš pubnub prietaisų skydelio.

Atminkite, kad kanalo vertė gali būti bet kokia, jei ji atitinka klientą ir serverį.

10 veiksmas: įdiekite valdiklio programinę įrangą ir patikrinkite, ar viskas veikia

Įdiekite valdiklio programinę įrangą ir patikrinkite, ar viskas veikia
Įdiekite valdiklio programinę įrangą ir patikrinkite, ar viskas veikia
Įdiekite valdiklio programinę įrangą ir patikrinkite, ar viskas veikia
Įdiekite valdiklio programinę įrangą ir patikrinkite, ar viskas veikia

Kompiuteryje klonuokite „git hub“kodą taip pat, kaip ir robotą.

git klonas

Galbūt jūsų kompiuteryje nėra įdiegta „git“. Jei ne, vadovaukitės „git hub“instrukcijomis.

Taip pat galite atsisiųsti kodą kaip ZIP failą, nors patarčiau įdiegti GIT ir nukopijuoti failus klonuojant saugyklą.

turėsite atnaujinti failą „lego-robot/client/keys.js“savo asmeniniais paskelbimo ir prenumeratos raktais.

Baigę atidarykite failą lego-robot/client/buttons.html žiniatinklio naršyklėje. Dabar turėtumėte turėti galimybę valdyti savo robotą naudodami valdymo mygtukus.

Aukščiau pateikta schema rodo, kas vyksta:

  • Kai spustelite mygtuką, į „pubnub“siunčiamas pranešimas (naudojant paskelbimo raktą)
  • Tada „PubNub“persiunčia robotui, kuris…
  • Klausosi pranešimų (naudodamas prenumeratos klavišą)
  • Tada robotas virsta veiksmu.

Aš naudoju pubNub kaip nemokamą, greitą (realiuoju laiku) ir labai supaprastina pranešimų siuntimą ir gavimą naudojant tikrai gražią API.

Galite įsigilinti į kliento ir serverio kodą ir pamatyti siunčiamus pranešimus naudodami paprastus klavišus, tokius kaip „pirmyn“ir „atgal“.

Taip pat yra kreiptuko stiliaus valdiklis adresu lego-robot/client/joystick.html.

Aš tobulinsiu šiuos valdiklius ir nuolat pridedu naujų, taigi, jei kada norėsite atnaujinti programinę įrangą, galite naudoti komandą „git pull“. Taip pat nedvejodami prisidėkite prie „git“saugyklos ir sukurkite patogesnius valdiklius.

Dabar esate pasiruošę patikrinti, ar judėjimas veikia gerai. Pi terminale pakeiskite katalogą į „lego-robot/server“ir įveskite:

sudo python robot.py

tai paleidžia „python“scenarijų, kad galėtų klausytis gaunamų „Pubnub“pranešimų.

Dabar pabandykite paspausti kai kuriuos valdiklio mygtukus, turėtumėte pamatyti šiuos atsakymus, gautus „Pi“terminale (kaip parodyta aukščiau esančiame paveikslėlyje), ir „robot.py“šiuos pranešimus paverčia judesiais, susiejant juos su Pi GPIO signalais.

Turėtumėte sugebėti perkelti robotą.

11 žingsnis: Paruoškite internetinę kamerą ir LED lemputes

Paruoškite internetinę kamerą ir LED lemputes
Paruoškite internetinę kamerą ir LED lemputes
Paruoškite internetinę kamerą ir LED lemputes
Paruoškite internetinę kamerą ir LED lemputes

Galite naudoti bet kurią internetinę kamerą, suderinamą su „Linux“(dauguma jų yra). Aš norėčiau pasirinkti vidutinės klasės (apie 15 svarų), nes išbandžiau tikrai pigų ir negalėjau iš jo gauti jokio aiškaus vaizdo. Pirmasis žingsnis yra išardyti internetinę kamerą, kad turėtumėte tik pagrindinę plokštę ir fotoaparatą.

Jei norite įdiegti žibintus, paimkite LED lemputę ir prijunkite du šuolio laidus prie kiekvieno gnybto. Aš naudoju šokinėjimo laidus, kurių viename gale yra moteriškas gnybtas, kad vėliau galėtumėte lengvai prijungti jį prie „Pis GPIO“kaiščių. Kitą laido galą reikia nuimti, kad pašalintumėte gnybtą. Čia taip pat galite lituoti, kad sukurtumėte saugų ryšį. Aš taip pat naudojau termiškai susitraukiančią plėvelę, kuria galite uždengti kiekvieną laidą, nors nesijaudinčiau, kad padarysiu per daug gerą darbą, kol nebūsite patenkinti, kad viskas veikia, tada galėsite baigti ir tobulėti. Taip pat gera idėja naudoti rezistorių, kad jūsų LED nedegtų.

Čia yra išsami instrukcija, kurioje išsamiai aprašyta, kaip prijungti šviesos diodus.

Kaip parodyta paveikslėlyje, aš naudoju „Lego“bloką su skyle, kad lengvai pritvirtinčiau šviesos diodą prie roboto galvos.

12 žingsnis: sukurkite galvą su nosies kumšteliu ir žibintais

Sukurkite galvą su nosies kumšteliu ir žibintais
Sukurkite galvą su nosies kumšteliu ir žibintais
Sukurkite galvą su nosies kumšteliu ir žibintais
Sukurkite galvą su nosies kumšteliu ir žibintais
Sukurkite galvą su nosies kumšteliu ir žibintais
Sukurkite galvą su nosies kumšteliu ir žibintais

Sukurkite kameros galvos korpusą. Aš čia nebūsiu per daug konkretus, nes jums laikas būti kūrybingam. Tačiau jums reikia kurti aplink kamerą. Šunų robotas integruoja kamerą į nosį ir turi akis kaip šviesos diodus. Būtinai palikite skylę galvos gale, kad ištrauktumėte laidus.

13 žingsnis: užpildykite kūną

Užpildykite kūną
Užpildykite kūną
Užpildykite kūną
Užpildykite kūną
Užpildykite kūną
Užpildykite kūną

Dabar esate laimingas, kad šuns robotas iš esmės juda, galite sukurti akumuliatorių korpusą. Aš naudoju 4 AA baterijų paketą (komplektuojamas su ratais ir pagrindu) ir avarinio telefono įkroviklio paketą. AA baterijos yra skirtos ratų nuolatinės srovės varikliams, o mobiliųjų telefonų paketas - „Pi“. Gera idėja padaryti baterijas lengvai prieinamas, nes turėsite jas pasiekti, kad jas įkrautumėte ir pakeistumėte.

Kai būsite laimingi, uždėkite stogą virš Pi. Aš per daug nesijaudinu dėl laidų ir grandinių slėpimo, nes tai yra robotų įvaizdžio dalis. Tačiau šiuo metu viskas priklauso nuo jūsų. Galbūt norėsite apsvarstyti, kaip jūsų robotas tampa sunkesnis, kuo sunkesnis, tuo lėčiau jis juda.

14 žingsnis: pritvirtinkite galvą

Sumontuokite galvą
Sumontuokite galvą
Sumontuokite galvą
Sumontuokite galvą
Sumontuokite galvą
Sumontuokite galvą

Laikas viską sujungti.

Prijunkite internetinių kamerų USB laidą prie roboto priekio, naudodami sukurtas prieigos angas. Galite pritvirtinti laidą prie roboto sukurdami „Lego“korpusą. Aš taip pat sutrumpinau USB laidą perpjovęs ir vėl litavęs, bet tai daryk tik tuo atveju, jei tikrai nori kartu lituoti 4 mažus laidus. Gali būti lengviau nusipirkti trumpą USB laidą ir vėl prijungti jį prie fotoaparato galo.

Taip pat turite prijungti LED lemputes prie „Pis GPIO“kaiščių, kurių neužima variklio plokštės valdiklis. Tai yra GPIO 20 ir 21 kaiščiai ir du atsarginiai įžeminimo kaiščiai. Netoliese naudokite atsarginius įžeminimo kaiščius. Jei lemputė neveikia, pabandykite perjungti žemę naudodami GPIO išvestį. Norėdami išsiaiškinti, kuriuos kaiščius prijungti prie „Google“, yra gera GPIO diagrama.

15 veiksmas: išbandykite šviesos diodus ir nosies kumštelį

Išbandykite šviesos diodus ir nosies kamerą
Išbandykite šviesos diodus ir nosies kamerą

Norėdami paleisti žiniatinklio kameros programinės įrangos tipą:

sudo judesys

Taip pat įsitikinkite, kad paleidote scenarijų robot.py (kaip nurodyta ankstesnėje instrukcijoje):

sudo python robot.py

Dabar galite naudoti valdiklio žibintų jungiklį, kad įjungtumėte ir išjungtumėte šviesas.

Žiniatinklio kamera turėtų būti transliuojama jūsų Pis IP adresu 8080 prievade, todėl, pavyzdžiui, įveskite šią informaciją į savo interneto naršyklę.

192.168.1.2:8081

Pi IP adresą radau prisijungęs prie maršrutizatoriaus kaip administratorius ir žiūrėdamas į prijungtus įrenginius. Instrukcijos, kaip tai padaryti, paprastai yra maršrutizatoriaus užpakalinėje dalyje arba pateikiamos maršrutizatoriaus instrukcijose internete.

galite ištirti judesio programinės įrangos konfigūracijos nustatymus, kaip aprašyta ankstesniame žingsnyje. Manau, kad kartais srautas sustabdomas, bet paprastai tai veikia gerai.

Šį vaizdo įrašo srautą galite pasiekti iš bet ko, kuriame veikia naršyklė, prijungta prie jūsų „Wifi“tinklo.

16 žingsnis: Baigimas

Prieiga internetu

Dabar turėtumėte turėti galimybę valdyti robotą iš kompiuterio naršyklės. Tačiau malonu, kad galite valdyti robotą iš bet kurio jutiklinio įrenginio, pvz., „IPad“ar telefono.

Norėdami tai padaryti, žiniatinklio serveryje turite priglobti kliento failus (buttons.html ir tt).

Pradėjau įdiegdamas „Pi“žiniatinklio serverį, kuris veikia gerai. Tačiau lengviau įkelti HTML failą į bet kurį kitą žiniatinklio serverį. Aš tiesiog nukopijavau HTML failą į savo viešą mėlyną prieglobos paskyrą. Galbūt norėsite apsaugoti failų prieigą prie šių failų, nes juose yra pub pub numerio kanalo pub pub. Kai tai padarysite, galėsite pasiekti valdiklį iš bet kurio įrenginio, net iš savo namų.

Automatinis paleidimas

Kitas naudingas dalykas yra atnaujinti / etc / rc.lokalinį scenarijų savo avietėje Pi; pridėjus šias dvi eilutes:

  • sudo judesys
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Jie bus paleisti kiekvieną kartą, kai „Pi“paleidžiamas, todėl jums nereikia paleisti komandos rankiniu būdu.

17 žingsnis: linksminkitės

Pasilinksmink !
Pasilinksmink !

Tai viskas.

Nedvejodami palikite komentarus, jei įstrigote, ir jei norite patobulinti bet kurią programinę įrangą, prašome prisidėti prie „github“saugyklos. Aš toliau dirbsiu su šiuo projektu ir čia yra keletas idėjų:

  • „Didelio trak“stiliaus valdiklis, kuriame užprogramuojate komandų seką, pvz., „Kairė 10, į priekį 6, atgal 2 …“, tada paspauskite „paleisti“ir robotas vykdo komandas.
  • Pakreipiamas kaklas, todėl naudodami internetinę kamerą galite žiūrėti aukštyn
  • Garsiakalbis, kuris verčia tekstą iš valdiklio į kalbą
  • Valdymas balsu

Sveikinimai

Petras

Rekomenduojamas: