Turinys:

ARCA (žavinga nuotoliniu būdu valdoma „Android“): 4 žingsniai (su nuotraukomis)
ARCA (žavinga nuotoliniu būdu valdoma „Android“): 4 žingsniai (su nuotraukomis)

Video: ARCA (žavinga nuotoliniu būdu valdoma „Android“): 4 žingsniai (su nuotraukomis)

Video: ARCA (žavinga nuotoliniu būdu valdoma „Android“): 4 žingsniai (su nuotraukomis)
Video: Book 2 - Chapter 06 - The House of Mirth by Edith Wharton 2024, Liepa
Anonim
ARCA (žavinga nuotoliniu būdu valdoma „Android“)
ARCA (žavinga nuotoliniu būdu valdoma „Android“)
ARCA (žavinga nuotoliniu būdu valdoma „Android“)
ARCA (žavinga nuotoliniu būdu valdoma „Android“)
ARCA (žavinga nuotoliniu būdu valdoma „Android“)
ARCA (žavinga nuotoliniu būdu valdoma „Android“)

Šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą (www.makecourse.com).

ARCA yra žavinga nuotoliniu būdu valdoma „Android“, kurią kurti ir žaisti yra nepaprastai smagu. Šio projekto tikslas buvo sukurti tai, ką kiekvienas galėtų suprasti ir su kuo susieti, sukurdamas žavingą ir funkcionalų robotą.

Robotas veikia rodydamas skirtingas emocijas 8–8 LED matricoje, tarp jų yra džiaugsmas, miegas, meilė, pyktis, kvailystė ir žiūrėjimas aukštyn, į kairę ir į dešinę. Robotas taip pat veikia kaip RC automobilis ir gali eiti į priekį ir pasukti į kairę arba į dešinę. Robotas eina į priekį suaktyvindamas abu ratų variklius, pasuka į kairę įjungdamas dešinį variklį, o į dešinę - įjungdamas kairįjį variklį. Dizainas yra labai supaprastintas, tačiau jis tiesiog veikia, ir aš norėjau daug dėmesio skirti „Arduino“programavimui, nes esu programuotojas.

Naujausias visų šioje pamokoje naudojamų failų versijas galite rasti mano „Github ARCA“saugykloje.

1 žingsnis: dalių sąrašas ir 3D spausdinimas

Dalių sąrašas ir 3D spausdinimas
Dalių sąrašas ir 3D spausdinimas
Dalių sąrašas ir 3D spausdinimas
Dalių sąrašas ir 3D spausdinimas

Šio projekto dalys gali būti atspausdintos 3D arba perkamos internetu. Galvodamas apie surinkimą, norėjau padaryti efektyvumo raktą ir pabandyti (tiesiogine to žodžio prasme) neišradinėti rato. Šiam projektui naudojamas 3D spausdintuvas buvo „Makerbot“replikatorius, jei norite įsitikinti, kad jūsų 3D atspaudai atitinka mano, naudokite šį spausdintuvą.

Struktūriniai komponentai

  • Dėžutė su skylėmis šonuose ratams ir rankoms
  • Dėžutės dangtis su skylėmis galiniams ratams ir skylė IR jutikliui
  • Kairė ranka
  • Dešinė ranka
  • Ašis dviem galiniams ratams
  • dvi ašių jungtys, skirtos dangčiui prijungti prie ašies
  • 4 ratai (varikliai taip pat įtraukti į šią nuorodą)
  • Maži varžtai (tinka varikliams)

Elektriniai komponentai

  • Arduino Uno
  • Maža duonos lenta (nusipirkau „Arduino“rinkinį ir jis buvo su juo)
  • Dvi MAX7219 raudonų taškų matricos su MCU valdymu
  • Infraraudonųjų spindulių imtuvas ir nuotolinio valdymo pultas
  • Du TIP 120 tranzistoriai
  • Jungiamieji laidai (aš naudoju daug laidų iš moterų ir vyrų, taip pat iš vyrų ir rekomenduoju gauti ilgus laidus, o ne trumpus)
  • vienas 220 omų rezistorius
  • Dviejų pavarų varikliai
  • USB prijungiami maitinimo blokai (nešiojamieji, naudojami mobiliesiems telefonams)

2 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Struktūrinis surinkimas

3D spausdintas dalis greičiausiai reikės šiek tiek išvalyti, todėl rekomenduoju jas nušlifuoti smulkiu smėlio sluoksniu ir naudoti acetoną (nagų lako valikliu), kad pašalintumėte visus 3D spausdinimo procese naudojamus klijų likučius. Kai kurios dalys gali netikti idealiai, ir aš turėjau šlifuoti ašį, kad ji būtų visiškai apvali ir tinkamai tilptų per skyles.

Ratus reikia šiek tiek pakoreguoti, juos reikėjo daugiau gręžti, kad tilptų galinės ašies ir priekyje esančių varžtų matmenys. Naudokite 6 mm grąžtą, kad gręžtumėte ratų skyles, kad išgręžtumėte didesnes ratų skyles.

Šiam surinkimui naudojau įvairius klijus, tačiau pastebėjau, kad skystas betonas (modeliniai klijai) buvo geriausias laikymo būdas, nepaisant ilgo džiūvimo laiko, tačiau epoksidinė medžiaga buvo geriausia tiems daiktams, kuriuos reikia greitai išdžiovinti ir gerai laikyti, nepaisant to, kad jie yra netvarkingi.

Likusi surinkimo dalis yra gana paprasta:

  1. Pritvirtinkite ašies laikiklius prie dėžutės dangtelio galinės dalies, sandarindami epoksidine danga
  2. Praleiskite ašį per ašių laikiklius
  3. Klijuokite ratus prie ašies, naudodami skystą betoną
  4. Įdėkite rankas per viršutines skyles ir klijuokite prie rankos laikiklio, naudodami epoksidą
  5. Į dėžutę įsukite dėžutės dangtį
  6. Naudokite elektros juostą dėžutės apačioje, kur yra ratai

Elektros surinkimas

Priekiniai ratai tvirtinami tiesiai prie variklių, todėl reikia naudoti mažą variklio varžtą, kad jis būtų pakankamai ilgas, kad tilptų per roboto skylę kiekvienoje pusėje. Besisukančiame variklio kaištyje turi būti nedidelė skylė ir ten galite įsukti varžtą ir įstumti varžto galvutę į ratą, paspaudę varžtą per skylę dėžutėje.

Mano duonos lentos nugarėlė buvo lipni, tačiau ją galite priklijuoti elektrine juostele, jei ne. Elektros juosta taip pat buvo naudojama tvirtinant elektros komponentus, kurie nėra plokštėje, dėl saugumo. MCU su LED ekranais buvo pritvirtinti prie akių lizdų galinės dalies naudojant elektros juostą, o varikliai taip pat buvo pritvirtinti prie dėžutės šonų, esančių arti skylių, naudojant elektros juostą. Aš naudoju raudoną elektros juostą, kad ji būtų labiau nematoma, ir rekomenduoju naudoti elektros juostą, kurios spalva yra panaši į jūsų ARCA versiją.

Duonos lenta ir smeigtukai nustatyti taip, kaip šis „Fritzing“vaizdas. Jei norite pridėti daugiau prie šios diagramos, kad pritaikytumėte ARCA, galite atsisiųsti „Fritzing“failą iš mano „Github“saugyklos ir redaguoti jį pagal savo skonį.

Aš pritvirtinau laidus prie pavarų variklių kilpų, sulenkdamas laidus aplink kilpas, kad jie būtų pritvirtinti. Tikriausiai būtų geresnė mintis lituoti šias jungtis, jei turite prieigą prie lituoklio, tačiau tai yra paprastas sprendimas, jei jo neturite.

Maitinimo blokas prijungtas prie to paties laido, naudojamo prijungti „Arduino“prie kompiuterio, kad būtų galima atsisiųsti jūsų programą, o robotas yra laisvas, todėl jį galima lengvai išimti ir įkrauti.

3 žingsnis: programavimas

Programavimas
Programavimas

Čia yra kodas, kurį galite įkelti į savo ARCA, kad jis veiktų tiksliai taip, kaip mano, jums taip pat reikia šių dviejų bibliotekų, kad galėtumėte naudoti kodą.

Tačiau dėl aiškumo ir pritaikymo aš jus supažindinsiu su savo kodu. Nedvejodami praleiskite šį veiksmą, jei nesate pritaikę savo roboto ar neplanuojate keisti emocijų.

Pirma, į savo kodą įtraukiu dvi bibliotekas, leidžiančias naudotis šių bibliotekų funkcijomis ir objektais. Čia taip pat apibrėžiu savo kaiščius. Jei nusprendėte, kad kaiščiai skiriasi nuo mano nustatytų ankstesniame veiksme, pakeiskite kodą čia naudodami tinkamus kaiščius.

Tada aš apibrėžiau emocijas, paskelbiau būtinus objektus IR jutikliui ir 8 x 8 LED ekranams ir apibrėžiau kai kuriuos pasaulinius kintamuosius. Emocijos deklaruojamos baitų masyve, kur kiekvienas šešiakampis skaičius masyve reiškia gauto rodinio 8 x 8 eilutes. Jei norite sukurti savo pasirinktines emocijas, aš rekomenduoju nubrėžti norimą emociją 8 x 8 tinklelyje ir tada išrašyti kiekvieną 8 bitų eilutės dvejetainį skaičių, kuriame išjungta šviesa yra 0, o įjungta - 1, ir tada sukurti šešioliktainį skaičių ir įdėkite jį į ilgio masyvą. Aš taip pat apibrėžiau kai kuriuos pasaulinius kintamuosius, kuriuos reikia naudoti cikle; mirksėjimo mechanizmo kintamieji ir rodyklės emocijoms išsaugoti ir pradėti nuo neutralios padėties.

Dabar mes pasiekiame sąrankos ciklą, kuriame bandymų tikslais įjungiu serijinį stebėjimą, ir tai turėtų būti naudinga norint išbandyti jūsų kodą naudojant skirtingus IR nuotolinio valdymo pultus. Tada inicijavau kairės ir dešinės akies objektus, naudodamas LED valdymo bibliotekos funkcijas. Aš taip pat nustatiau pavaros variklio kaiščius ir išjungiau IR imtuvą.

Cikle jis iš esmės laukia, kol IR signalas pakeis roboto būseną. Taigi, jei gaunamas IR signalas ir jis sutampa su vienu iš kodų iš konkretaus mygtuko, tada, jei teiginys suaktyvinamas ir atitinkamai nustatomos kairės ir dešinės akies vertės emocijoms. Jei paspaudžiamas judėjimo mygtukas, pvz., Kairėn, dešinėn, pirmyn ir gerai, smeigtukai skaitmeniniu būdu užrašomi taip, kad būtų įjungti arba išjungti, priklausomai nuo paspausto mygtuko. Tik pastaba apie IR imtuvo kodus: IR nuotolinio valdymo bibliotekoje yra pavyzdinis kodas, kuris suteiks jums nuotolinio valdymo pulto šešioliktainius kodus, jei nieko nenutiks, kai paspausite mygtukus, tada atidarykite šią programą, kad įsitikintumėte, jog kodai yra teisingi. Viskas, ką jums reikia padaryti, tai pakeisti šešioliktainį skaičių, esantį su kiekvienu mygtuku.

Galiausiai turite funkciją, kuri spausdina emocijas į 8 x 8 ekranus. Tam naudojamos „setRow“funkcijos iš šviesos diodų valdymo bibliotekos ir tiesiog einama per jūsų sukurtus masyvus ir atitinkamai nustatomos eilutės. Tam reikalingi du parametrai: kairiosios akies masyvas ir dešinės akies masyvas. Tai gali būti baitų žymeklis arba pats baitų masyvas (t. Y. Pavadinimas „neutralus“), kuris veikia kaip rodyklė.

4 žingsnis: premijos patarimai ir gudrybės

Papildomi patarimai ir gudrybės
Papildomi patarimai ir gudrybės

Tikrai daug sužinojau šio projekto metu ir norėjau čia pasidalinti papildomais patarimais, kurie taikomi tiek šiam projektui, tiek kitiems projektams, naudojantiems „Arduino“.

  • „Arduino“yra daug internetinių išteklių ir, mano nuomone, naudingiausias yra „Arduino“svetainė dėl aiškių ir glaustų kodo pavyzdžių.
  • Neišradinėkite rato iš naujo - yra daugybė rinkinių ir iš anksto sukurtų detalių, kurias galite naudoti norėdami palengvinti savo projektą. Aš esu programuotojas, o ne mechanikos inžinierius, ir man buvo sunku bandyti suprasti, kaip ketinu priversti šį robotą veikti, tačiau buvo nesunku rasti ką nors nusipirkti internete ir įgyvendinti jį kuriant, o ne pažodžiui išradinėti ratas
  • Bibliotekos yra jūsų draugas „Arduino“, taip pat visomis objektinėmis kalbomis ir jos egzistuoja dėl priežasties. Suporuokite tai su mikrovaldikliais ir programuoti 8 x 8 šviesos diodus yra paprasta. Aš anksčiau užprogramavau vieną iš jų rankiniu būdu ir tik vienas naudoja maždaug kiekvieną „Arduino“kaištį ir reikalauja daugybės kodų. Labai netvarkinga ir nelabai linksma.
  • 3D spausdintuvai yra šaunūs, bet ne tobuli, ir gerai, kad reikia nušlifuoti kai kuriuos daiktus. Dėl šios priežasties 3D spausdinimo metu norėtumėte būti didesni, nes daugeliu atvejų galite jį šiek tiek nušlifuoti, kad puikiai tiktų.
  • Maitinimas gali būti problema, nes galvojau apie energijos suvartojimą tikrai paskutinę minutę ir maniau, kad 5 V baterija tai padarys. Tada, atrodo, atsitiktinai, kartais variklis ar LED ekranas neveikia. Kai atnaujinau maitinimo bloką, daugiau problemų nekilo, nepaisant to, kad roboto viduje jis buvo didesnis.

Rekomenduojamas: