INHOUDSOPGAWE:

ARCA (Pragtige afstandbeheerde Android): 4 stappe (met foto's)
ARCA (Pragtige afstandbeheerde Android): 4 stappe (met foto's)

Video: ARCA (Pragtige afstandbeheerde Android): 4 stappe (met foto's)

Video: ARCA (Pragtige afstandbeheerde Android): 4 stappe (met foto's)
Video: 2022 LANG r/MaliciousCompliance Compilatie #002 2024, Julie
Anonim
ARCA (Pragtige afstandbeheerde Android)
ARCA (Pragtige afstandbeheerde Android)
ARCA (Pragtige afstandbeheerde Android)
ARCA (Pragtige afstandbeheerde Android)
ARCA (Pragtige afstandbeheerde Android)
ARCA (Pragtige afstandbeheerde Android)

Hierdie instruksies is geskep ter voldoening aan die projekvereiste van die Makecourse aan die Universiteit van Suid -Florida (www.makecourse.com).

ARCA is 'n pragtige afstandbeheerde Android wat ongelooflik lekker is om mee te bou en om mee te speel. Die doel van hierdie projek was om iets te skep waarmee almal dit kan verstaan en daarmee kan skakel deur 'n robot te skep wat beide pragtig en funksioneel is.

Die robot funksioneer deur verskillende emosies op 'n 8 by 8 LED -matriks te vertoon, insluitend vreugde, slaap, liefde, woede, dom en opkyk, links en regs. Die robot werk ook soos 'n RC -motor en kan vorentoe gaan en links of regs draai. Die robot gaan vorentoe deur beide wielmotors te aktiveer, draai links deur die regtermotor aan te skakel en draai regs deur die linkermotor aan te skakel. Die ontwerp is baie eenvoudig, maar dit werk net, en ek wou baie fokus op die programmering van die Arduino, aangesien ek 'n programmeerder is.

Die nuutste weergawes van al die lêers wat in hierdie tutoriaal gebruik word, kan gevind word op my Github ARCA Repository.

Stap 1: Onderdele -lys en 3D -drukwerk

Onderdele lys en 3D druk
Onderdele lys en 3D druk
Onderdele lys en 3D druk
Onderdele lys en 3D druk

Onderdele vir hierdie projek kan óf 3D gedruk word óf aanlyn gekoop word. Toe ek aan die samestelling dink, wou ek 'n doeltreffendheidssleutel maak en probeer ek nie (letterlik) die wiel uitvind nie. Die 3D -drukker wat vir hierdie projek gebruik is, was 'n Makerbot Replicator, as u wil seker maak dat u 3D -afdrukke in ooreenstemming is met myne, gebruik dan hierdie drukker.

Strukturele komponente

  • Doos met gate aan die kante vir die wiele en arms
  • Boksdeksel met gate vir agterwiele en 'n gat vir die IR -sensor
  • Linkerarm
  • Regter arm
  • As vir die twee agterwiele
  • twee asverbindings om die deksel aan die as te koppel
  • 4 wiele (motors is ook by hierdie skakel ingesluit)
  • Klein skroewe (om in die motors te pas)

Elektriese komponente

  • Arduino Uno
  • Klein broodbord (ek het die Arduino -kit gekoop en dit kom saam)
  • Twee MAX7219 Red Dot -matrikse met MCU -beheer
  • Infrarooi ontvanger en afstandsbediening
  • Twee TIP 120 transistors
  • Verbindingsdrade (ek het baie manlike en vroulike drade gebruik, sowel as manlik tot manlik, en ek beveel aan om lang drade te kry in teenstelling met kort drade)
  • een weerstand van 220 ohm
  • Twee ratmotors
  • USB -aansluitbare kragpakke (die draagbare wat gebruik word vir selfone)

Stap 2: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Strukturele Vergadering

Die 3D -gedrukte dele sal waarskynlik opgeruim moet word, en ek beveel aan dat u dit met 'n fyn korrel skuur en asetoon (naellakverwyderaar) gebruik om die oorblyfsels gom wat tydens die 3D -drukproses gebruik word, te verwyder. Sommige dele pas miskien nie perfek nie, en ek moes die as skuur om perfek rond te wees en behoorlik deur die gate te pas.

Die wiele moet effens verstel word, dit moet meer geboor word om by die as van die as agter en die skroewe aan die voorkant te pas. Gebruik 'n boorpunt van 6 mm om deur die gate in die wiele te boor om groter gate in die wiele uit te boor.

Vir hierdie samestelling het ek 'n verskeidenheid gom gebruik, maar ek het gevind dat vloeibare beton (modelleringsgom) die beste was om vas te hou, ondanks 'n lang droogtyd, maar epoksie was die beste vir dinge wat u vinnig moet droog en goed hou, ondanks die rommel.

Die res van die vergadering is redelik eenvoudig:

  1. Bevestig die ashouers aan die agterkant van die boksdeksel met epoxy om dit te verseël
  2. Draai die as deur die ashouers
  3. Plak die wiele met vloeibare beton aan die as vas
  4. Steek die arms deur die boonste gate, en plak dit met epoksy aan die armhouer vas
  5. Skroef die deksel van die boks in die boks
  6. Gebruik elektriese band aan die onderkant van die boks waar die wiele is

Elektriese samestelling

Die voorwiele word direk aan die motors vasgemaak, en u moet 'n klein skroef in die motor gebruik om dit lank genoeg te maak om deur die gat in die robot aan elke kant te pas. Daar moet 'n klein gaatjie in die draaipennetjie van die motor wees, en u kan die skroef daar inskroef en die kop van die skroef in die wiel plak, nadat u die skroef deur die gat in die boks gedruk het.

Die agterkant van my broodbord het 'n taai agterkant, maar u kan dit met elektriese band plak as dit nie die uwe is nie. Om veiligheidsredes is elektriese band ook gebruik vir die bevestiging van die elektriese komponente wat nie in die bord was nie. Die MCU's met die LED -skerms is met elektriese band aan die agterkant van die oogkaste vasgemaak, en die motors is ook vasgemaak aan die kante van die boks naby die gate met behulp van elektriese band. Ek het rooi elektriese band gebruik om dit meer onsigbaar te maak, en ek beveel aan dat u 'n elektriese band met 'n soortgelyke kleur as u weergawe van ARCA gebruik.

Die broodbord en penne is opgestel soos hierdie Fritzing -beeld. As u meer by hierdie diagram wil voeg om ARCA aan te pas, kan u die Fritzing -lêer in my Github -bewaarplek aflaai en dit na hartelus redigeer.

Ek het die drade aan die lusse in die ratmotors vasgemaak deur die drade om die lusse te buig om dit vas te hou. Dit is waarskynlik 'n beter idee om hierdie verbindings te soldeer as u toegang tot soldeerbout het, maar dit is 'n maklike oplossing as u nie een het nie.

Die kragpakket is aan dieselfde koord gekoppel wat gebruik is om die Arduino aan te sluit op die rekenaar om u program af te laai, en dit is net los in die robot sodat dit maklik verwyder en opgelaai kan word.

Stap 3: Programmering

Programmering
Programmering

Hier is die kode wat u na u ARCA kan oplaai om presies soos myne te laat funksioneer, u benodig ook die volgende twee biblioteke om die kode te gebruik.

Ter wille van duidelikheid en aanpassing, sal ek u egter deur my kode lei. Slaan hierdie stap vry as u nie u robot aanpas nie of nie van plan is om die emosies te verander nie.

Eerstens sluit ek twee biblioteke vir gebruik in my kode in, sodat ek die funksies en voorwerpe van hierdie biblioteke kan gebruik. Ek definieer ook my penne hier. As u besluit het om u penne anders te maak as wat ek in die vorige stap opgestel het, kan u die kode hier met die regte penne verander.

Vervolgens het ek die emosies gedefinieer, die nodige voorwerpe vir die IR -sensor en die 8 by 8 LED -skerms verklaar en 'n paar globale veranderlikes gedefinieer. Die emosies word verklaar in 'n byte skikking, waar elk van die heksgetalle in die skikking die rye in die gevolglike 8 by 8 vertoning voorstel. Om u persoonlike emosies te skep, beveel ek aan dat u die emosie wat u wou hê, in 'n 8 by 8 -rooster uitteken, en dan elke ry 8 -bisse binêre nommer neerskryf waar die lig af is 'n 0 en die lig op 'n 1, en skep dan 'n heksadesimale getal daaruit en sit dit in 'n skikking van lengte 8. Ek het ook 'n paar globale veranderlikes gedefinieer om in die lus te gebruik; die veranderlikes vir die knipperende meganisme en die wenke om die emosies op te slaan en hulle op neutraal te begin.

Nou kom ons by die opstellus, waar ek seriële monitering aanskakel ter wille van die toets, en dit behoort handig te wees om u kode met verskillende IR -afstandbeheer te toets. Toe begin ek die linker- en regteroogvoorwerpe met behulp van funksies uit die LED -beheerbiblioteek. Ek het ook die ratmotorpenne op die uitset gestel en die IR -ontvanger begin.

In die lus wag dit in wese op die IR -sein om die status quo van die robot te verander. Dus, as 'n IR -sein ontvang word en dit pas by een van die kodes van 'n spesifieke knoppie, dan, as 'n verklaring geaktiveer word en die linkeroog- en regteroogwaardes dienooreenkomstig vir die emosies gestel word. As 'n bewegingsknoppie gedruk word, soos links, regs, vorentoe en OK, dan word die penne digitaal geskryf om aan of af te hang, afhangende van die knoppie wat gedruk word. Net 'n opmerking oor die IR -ontvangerkodes: daar is 'n voorbeeldkode in die IR -afstandbiblioteek wat u die hex -kodes vir u afstandsbediening sal gee, as daar niks gebeur as u op die knoppies druk nie, maak dan hierdie program oop om seker te maak dat die kodes korrek is. Al wat u hoef te doen is om die hex -nommer wat by elke knoppie pas, te verander.

Laastens het u die funksie wat die emosies op die 8 by 8 -skerms afdruk. Dit gebruik die setRow -funksies uit die LED -beheerbiblioteek en gaan net deur die skikkings wat u geskep het en stel die rye dienooreenkomstig. Dit neem twee parameters in: die skikking vir die linkeroog en die skikking vir die regteroog. Dit kan óf 'n bytewyser wees óf 'n byte -skikking self (dit wil sê die naam "neutraal") wat soos 'n wyser optree.

Stap 4: Bonuswenke en truuks

Bonus wenke en truuks
Bonus wenke en truuks

Ek het beslis baie geleer tydens hierdie projek, en ek wou hier nog 'n paar wenke deel wat van toepassing is op hierdie projek sowel as op ander projekte wat 'n Arduino gebruik.

  • Daar is baie aanlynhulpbronne vir Arduino, en die nuttigste na my mening kom van die Arduino -webwerf as gevolg van hul duidelike en bondige kodevoorbeelde.
  • Moenie die wiel uitvind nie; daar is baie kits en voorafgeboude stukke wat u kan gebruik om u projek makliker te maak. Ek is 'n programmeerder en nie 'n meganiese ingenieur nie, en ek het moeilik probeer uitvind hoe ek hierdie robot gaan laat werk, maar dit was maklik om iets te vind om aanlyn te koop en dit in my ontwerp te implementeer, in plaas daarvan om dit letterlik uit te vind wiel
  • Biblioteke is u vriend in Arduino sowel as in alle objekgeoriënteerde tale, en hulle bestaan om 'n rede. Koppel dit met mikro-beheerders en die programmering van 'n 8 by 8 LED is eenvoudig. Ek het al een hiervan met die hand geprogrammeer, en slegs een gebruik ongeveer elke pen in die Arduino en benodig baie kode. Baie morsig en nie baie lekker nie.
  • 3D -drukkers is cool, maar nie perfek nie, en dit is goed om 'n paar goedjies af te skuur. Om hierdie rede gaan u eerder groter as u 3D druk, want in die meeste gevalle kan u dit 'n bietjie afskuur om die perfekte pasmaat te kry.
  • Krag kan 'n probleem wees, want ek het die laaste minuut aan kragverbruik gedink en gedink dat 'n 5v -battery die ding sou doen. Dan, skynbaar lukraak, sou 'n motor of 'n LED -skerm soms nie werk nie. Toe ek eers na die kragopwekker opgegradeer het, was daar nie meer probleme nie, alhoewel dit meer omvangryk in die robot was.

Aanbeveel: