Cuprins:

ARCA (Android adorabil controlat de la distanță): 4 pași (cu imagini)
ARCA (Android adorabil controlat de la distanță): 4 pași (cu imagini)

Video: ARCA (Android adorabil controlat de la distanță): 4 pași (cu imagini)

Video: ARCA (Android adorabil controlat de la distanță): 4 pași (cu imagini)
Video: Un film bazat pe fapte reale _ 2024, Iulie
Anonim
ARCA (Android adorabil controlat de la distanță)
ARCA (Android adorabil controlat de la distanță)
ARCA (Android adorabil controlat de la distanță)
ARCA (Android adorabil controlat de la distanță)
ARCA (Android adorabil controlat de la distanță)
ARCA (Android adorabil controlat de la distanță)

Acest instructable a fost creat pentru a îndeplini cerințele proiectului Makecourse de la Universitatea din Florida de Sud (www.makecourse.com).

ARCA este un Android adorabil controlat de la distanță, care este incredibil de distractiv de construit și de jucat. Scopul acestui proiect a fost de a crea ceva pe care oricine îl poate înțelege și lega prin crearea unui robot care este atât adorabil, cât și funcțional.

Robotul funcționează prin afișarea diferitelor emoții pe o matrice LED de 8 până la 8, aceste emoții includ bucurie, dormit, dragoste, furie, prostie și privirea în sus, la stânga și la dreapta. Robotul funcționează, de asemenea, ca o mașină RC și poate merge înainte și se poate întoarce la stânga sau la dreapta. Robotul merge înainte prin activarea ambelor motoare ale roților, se întoarce la stânga prin pornirea motorului din dreapta și se întoarce la dreapta prin pornirea motorului din stânga. Designul este foarte simplist, dar funcționează și am vrut să mă concentrez foarte mult pe programarea Arduino, deoarece sunt un programator la inimă.

Cele mai recente versiuni ale tuturor fișierelor utilizate în acest tutorial pot fi găsite în Github ARCA Repository.

Pasul 1: Lista pieselor și imprimarea 3D

Lista pieselor și imprimarea 3D
Lista pieselor și imprimarea 3D
Lista pieselor și imprimarea 3D
Lista pieselor și imprimarea 3D

Părțile pentru acest proiect pot fi fie tipărite 3D, fie achiziționate online. Când mă gândeam la asamblare, am vrut să fac cheia de eficiență și, de asemenea, să încerc să nu reinventez (destul de literal) roata. Imprimanta 3D utilizată pentru acest proiect a fost un Makerbot Replicator, dacă doriți să vă asigurați că imprimările dvs. 3D sunt conforme cu ale mele, utilizați această imprimantă.

Componente structurale

  • Cutie cu orificii laterale pentru roți și brațe
  • Capac cutie cu găuri pentru roțile din spate și o gaură pentru senzorul IR
  • Bratul stang
  • Bratul drept
  • Axa pentru cele două roți din spate
  • doi conectori de osie pentru conectarea capacului la ax
  • 4 roți (motoare incluse și în acest link)
  • Șuruburi mici (pentru a se încadra în motoare)

Componente electrice

  • Arduino Uno
  • Panou mic (am cumpărat kitul Arduino și a venit cu el)
  • Două matrice de puncte roșii MAX7219 cu control MCU
  • Receptor cu infraroșu și telecomandă
  • Două tranzistoare TIP 120
  • Conectarea firelor (am folosit o mulțime de fire de la bărbați la femei, precum și de la bărbați la bărbați și recomand să obțin fire lungi spre deosebire de firele scurte)
  • un rezistor de 220 ohmi
  • Două motoare cu transmisie
  • Pachete de alimentare conectabile prin USB (cele portabile utilizate pentru telefoanele mobile)

Pasul 2: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Asamblare structurală

Părțile tipărite 3D vor necesita probabil o curățare și vă recomand să le șlefuiți cu o granulație fină și să folosiți acetonă (îndepărtarea lacului de unghii) pentru a îndepărta orice reziduu de adeziv utilizat în procesul de imprimare 3D. Este posibil ca unele dintre piese să nu se potrivească perfect și a fost necesar să șlefuiesc axul pentru a fi perfect rotunde și pentru a se potrivi corect prin găuri.

Roțile au nevoie de o ușoară reglare, trebuiau găurite mai mult pentru a se potrivi dimensiunilor axului în spate și șuruburilor din față. Folosiți un burghiu de 6 mm pentru a găuri prin găurile din roți pentru a fora găuri mai mari din roți.

Pentru acest ansamblu am folosit o varietate de cleiuri, dar am constatat că betonul lichid (adezivul de modelat) era cel mai bun pentru a fi ținut în ciuda unui timp îndelungat de uscare, dar epoxidicul era cel mai bun pentru lucrurile pe care trebuie să le uscați rapid și să le țineți bine, în ciuda faptului că sunt dezordonate.

Restul ansamblului este destul de simplu:

  1. Atașați suporturile de osie pe partea din spate a capacului cutiei, folosind epoxidică pentru a sigila
  2. Treceți axa prin suporturile de axe
  3. Lipiți roțile pe ax folosind beton lichid
  4. Introduceți brațele prin orificiile superioare și lipiți-l pe suportul brațului folosind epoxidic
  5. Înșurubați capacul cutiei în cutie
  6. Folosiți bandă electrică pe partea de jos a cutiei în care se află roțile

Ansamblu electric

Roțile din față sunt atașate direct la motoare și trebuie să utilizați un șurub mic în motor pentru a-l face suficient de lung pentru a se potrivi prin orificiul robotului de fiecare parte. Ar trebui să existe o gaură mică în știftul rotativ al motorului și puteți înșuruba șurubul acolo și lipiți capul șurubului în roată după ce ați împins șurubul prin orificiul din cutie.

Partea din spate a plăcii mele avea un suport lipicios, dar puteți utiliza banda electrică pentru a o adera, în cazul în care a dvs. nu. Din motive de siguranță, s-a folosit și bandă electrică pentru atașarea componentelor electrice care nu se află în placă. MCU-urile cu afișaje LED au fost atașate la partea din spate a prizelor ochiului utilizând bandă electrică, iar motoarele au fost, de asemenea, atașate la părțile laterale ale cutiei, aproape de găuri, utilizând bandă electrică. Am folosit bandă electrică roșie pentru ao face mai invizibilă, pentru orice eventualitate, și vă recomand să folosiți o bandă electrică cu o culoare similară cu versiunea dvs. de ARCA.

Panoul și pinii sunt configurați ca această imagine Fritzing. Dacă doriți să adăugați mai multe la această diagramă pentru a personaliza ARCA, puteți descărca fișierul Fritzing din depozitul meu Github și îl puteți edita după conținutul inimii.

Am atașat firele la buclele din motoarele de viteze îndoind firele în jurul buclelor, pentru a le menține atașate. Probabil ar fi o idee mai bună să lipiți aceste conexiuni dacă aveți acces la fierul de lipit, dar aceasta este o soluție ușoară dacă nu aveți unul.

Pachetul de alimentare este atașat la același cablu folosit pentru a conecta Arduino la computer pentru a descărca programul, iar acest lucru este doar slăbit în robot, astfel încât să poată fi îndepărtat și încărcat cu ușurință.

Pasul 3: Programare

Programare
Programare

Iată codul pe care îl puteți încărca în ARCA pentru a funcționa exact ca al meu, aveți nevoie de următoarele două biblioteci pentru a utiliza codul.

Cu toate acestea, din motive de claritate și personalizare, vă voi prezenta codul meu. Simțiți-vă liber să ignorați acest pas dacă nu vă personalizați robotul sau nu intenționați să schimbați emoțiile.

În primul rând, includ două biblioteci pentru utilizare în codul meu, permițându-mi să folosesc funcțiile și obiectele acestor biblioteci. De asemenea, îmi definesc pinii aici. Dacă ați decis să faceți pinii diferiți de configurarea mea la pasul anterior, faceți modificările codului dvs. aici cu pinii corespunzători.

Apoi, am definit emoțiile, am declarat obiectele necesare pentru senzorul IR și afișajele LED de 8 cu 8 și am definit câteva variabile globale. Emoțiile sunt declarate într-o matrice de octeți, unde fiecare dintre numerele hexagonale din matrice reprezintă rândurile din afișajul rezultat de 8 pe 8. Pentru a vă crea emoțiile personalizate, vă recomand să extrageți emoția pe care ați dorit-o într-o grilă de 8 pe 8, și apoi să scrieți fiecare rând numărul binar de 8 biți unde lumina oprită este 0 și lumina aprinsă este 1, apoi creați un număr hexazecimal din acesta și pus-o într-o matrice de lungime 8. Am definit, de asemenea, câteva variabile globale de utilizat în buclă; variabilele pentru mecanismul intermitent și indicatoarele pentru a stoca emoțiile și a le seta să înceapă de la neutru.

Acum ajungem la bucla de configurare, unde activez monitorizarea serială de dragul testării și acest lucru ar trebui să fie util pentru a vă testa codul cu diferite telecomenzi IR. Apoi, am inițializat obiectele ochiului stâng și drept folosind funcții din biblioteca de control LED. De asemenea, am setat pinii motorului de transmisie la ieșire și am pornit receptorul IR.

În buclă, așteaptă esențial ca semnalul IR să schimbe status quo-ul robotului. Deci, dacă este primit un semnal IR și se potrivește cu unul dintre codurile de la un anumit buton, atunci dacă declarația este declanșată și setează valorile ochiului stâng și ale ochiului drept în mod corespunzător pentru emoții. Dacă este apăsat un buton de mișcare, cum ar fi stânga, dreapta, înainte și OK, atunci pinii sunt scrise digital pentru a fi activate sau oprite în funcție de butonul apăsat. Doar o notă despre codurile receptorului IR: există un exemplu de cod în biblioteca de la distanță IR care vă va oferi codurile hexagonale pentru telecomanda dvs., dacă nu se întâmplă nimic atunci când apăsați butoanele, deschideți acest program pentru a vă asigura că codurile sunt corecte. Tot ce trebuie să faceți este să schimbați numărul hexagonal care merge cu fiecare buton.

În sfârșit, aveți funcția care imprimă emoțiile pe afișajele de 8 pe 8. Aceasta folosește funcțiile setRow din biblioteca de control LED și parcurge doar matricile pe care le-ați creat și setează rândurile în consecință. Are doi parametri: matricea pentru ochiul stâng și matricea pentru ochiul drept. Acesta ar putea fi fie un pointer de octeți, fie o matrice de octeți în sine (adică numele „neutru”) care acționează ca un pointer.

Pasul 4: Sfaturi și trucuri bonus

Sfaturi și trucuri bonus
Sfaturi și trucuri bonus

Cu siguranță am aflat multe în timpul acestui proiect și am vrut să vă împărtășesc câteva sfaturi suplimentare care se aplică atât pentru acest proiect, cât și pentru alte proiecte care utilizează un Arduino.

  • Există o mulțime de resurse online pentru Arduino și cea mai utilă, în opinia mea, vine de pe site-ul web Arduino datorită exemplelor lor de cod clare și concise.
  • Nu reinventați roata, există o mulțime de kituri și piese pre-construite pe care le puteți folosi pentru a vă ușura proiectul. Sunt programator și nu inginer mecanic și am încercat cu greu să-mi dau seama cum voi face acest robot să meargă, dar a fost ușor să găsesc ceva de cumpărat online și să-l implementez în designul meu, comparativ cu reinventarea literală a roată
  • Bibliotecile sunt prietenul dvs. în Arduino, precum și în toate limbajele orientate obiect și există dintr-un motiv. Asociați acest lucru cu microcontrolere și programarea unui LED 8 pe 8 este simplă. Am programat unul dintre acestea de mână înainte și doar unul folosește aproximativ fiecare pin în Arduino și necesită o tonă de cod. Foarte dezordonat și nu foarte distractiv.
  • Imprimantele 3D sunt grozave, dar nu sunt perfecte și este bine să trebuiască să șlefuiești câteva lucruri. Din acest motiv, ați prefera să măriți mai mult atunci când imprimați 3D, deoarece în majoritatea cazurilor îl puteți șlefui puțin pentru a obține o potrivire perfectă.
  • Puterea poate fi o problemă, deoarece m-am gândit la consumul de energie într-adevăr în ultimul moment și am crezut că o baterie de 5v ar face trucul. Apoi, aparent la întâmplare, uneori un motor sau un afișaj LED nu ar funcționa. Odată ce am trecut la pachetul de alimentare, nu au mai existat probleme, în ciuda faptului că sunt mai voluminoase în interiorul robotului.

Recomandat: