Satura rādītājs:

ARCA (burvīga tālvadības pults Android): 4 soļi (ar attēliem)
ARCA (burvīga tālvadības pults Android): 4 soļi (ar attēliem)

Video: ARCA (burvīga tālvadības pults Android): 4 soļi (ar attēliem)

Video: ARCA (burvīga tālvadības pults Android): 4 soļi (ar attēliem)
Video: Нова крута дешева Android магнітола New cool cheap car radio 1Din від Junsun 2024, Jūlijs
Anonim
ARCA (burvīga tālvadības pults Android)
ARCA (burvīga tālvadības pults Android)
ARCA (burvīga tālvadības pults Android)
ARCA (burvīga tālvadības pults Android)
ARCA (burvīga tālvadības pults Android)
ARCA (burvīga tālvadības pults Android)

Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com).

ARCA ir burvīga ar tālvadību vadāma Android ierīce, kuru ir neticami jautri veidot un spēlēt. Šī projekta mērķis bija radīt kaut ko tādu, ko ikviens var saprast un saistīt ar to, izveidojot burvīgu un funkcionālu robotu.

Robots darbojas, parādot dažādas emocijas uz 8x8 LED matricas, šīs emocijas ietver prieku, miegu, mīlestību, dusmas, dumjību un skatīšanos augšup, pa kreisi un pa labi. Robots darbojas arī kā RC automašīna un var iet uz priekšu un pagriezties pa kreisi vai pa labi. Robots iet uz priekšu, aktivizējot abus riteņu motorus, pagriežas pa kreisi, ieslēdzot labo motoru, un pagriežas pa labi, ieslēdzot kreiso motoru. Dizains ir ļoti vienkāršots, bet tas vienkārši darbojas, un es gribēju lielu uzmanību pievērst Arduino programmēšanai, jo es esmu programmētājs.

Visu šajā apmācībā izmantoto failu jaunākās versijas var atrast manā Github ARCA krātuvē.

1. darbība: detaļu saraksts un 3D drukāšana

Detaļu saraksts un 3D drukāšana
Detaļu saraksts un 3D drukāšana
Detaļu saraksts un 3D drukāšana
Detaļu saraksts un 3D drukāšana

Šī projekta daļas var izdrukāt 3D formātā vai iegādāties tiešsaistē. Domājot par montāžu, es gribēju izveidot efektivitātes atslēgu un arī mēģināt (gluži burtiski) neizgudrot riteni. Šajā projektā izmantotais 3D printeris bija Makerbot replikators. Ja vēlaties pārliecināties, vai jūsu 3D izdrukas atbilst manējai, izmantojiet šo printeri.

Strukturālās sastāvdaļas

  • Kastīte ar caurumiem sānos riteņiem un rokām
  • Kastes vāks ar caurumiem aizmugurējiem riteņiem un caurums IR sensoram
  • Kreisā roka
  • Labā roka
  • Asis diviem aizmugurējiem riteņiem
  • divu asu savienotāji vāka savienošanai ar asi
  • 4 riteņi (motori ir iekļauti arī šajā saitē)
  • Mazas skrūves (lai ietilptu motoros)

Elektriskie komponenti

  • Arduino Uno
  • Neliels maizes dēlis (es nopirku Arduino komplektu un tas nāca līdzi)
  • Divas MAX7219 sarkano punktu matricas ar MCU vadību
  • Infrasarkanais uztvērējs un tālvadības pults
  • Divi TIP 120 tranzistori
  • Savienojuma vadi (es izmantoju daudz vadu no sievišķā, kā arī no vīrieša uz vīrieti, un iesaku iegūt garus vadus, nevis īsus vadus)
  • viens 220 omu rezistors
  • Divu pārnesumu motori
  • USB savienojami barošanas bloki (pārnēsājamie, ko izmanto mobilajiem tālruņiem)

2. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Strukturālā montāža

3D drukātajām daļām, iespējams, būs nepieciešama tīrīšana, un es iesaku tās noslīpēt ar smalku smilšpapīru un izmantot acetonu (nagu lakas noņēmēju), lai noņemtu visus 3D drukāšanas procesā izmantotās līmes atlikumus. Dažas detaļas var nederēt ideāli, un man bija nepieciešams noslīpēt asi, lai tā būtu perfekti apaļa un pareizi iederētos caurumos.

Riteņi ir nedaudz jāpielāgo, tie bija vairāk jāizurbj, lai tie atbilstu ass izmēriem aizmugurē un skrūvēm priekšā. Izmantojiet 6 mm urbi, lai izurbtu caurumus riteņos, lai izurbtu lielākus caurumus riteņos.

Šai montāžai es izmantoju dažādas līmes, bet es atklāju, ka šķidrais betons (modelējošā līme) bija labākais turēšanai, neskatoties uz ilgu žāvēšanas laiku, bet epoksīds bija vislabākais lietām, kas jums ātri jāizžāvē un labi jāturas, neskatoties uz to, ka tās ir netīras.

Pārējā montāža ir diezgan taisna:

  1. Pievienojiet asu turētājus kastes vāka aizmugurē, izmantojot epoksīdu, lai noslēgtu
  2. Izvadiet asi cauri asu turētājiem
  3. Izmantojot šķidro betonu, pielīmējiet riteņus pie ass
  4. Ielieciet rokas caur augšējiem caurumiem un pielīmējiet pie roku turētāja, izmantojot epoksīdu
  5. Ieskrūvējiet kastes vāku kastē
  6. Izmantojiet elektrisko lenti kastes apakšā, kur atrodas riteņi

Elektriskā montāža

Priekšējie riteņi ir piestiprināti tieši pie motoriem, un jums ir jāizmanto maza skrūve motorā, lai tas būtu pietiekami garš, lai ietilptu caur robota atveri katrā pusē. Motora rotējošajā tapā vajadzētu būt nelielam caurumam, un jūs varat ieskrūvēt tur esošo skrūvi un pielīmēt skrūves galvu ritenī pēc skrūves iespiešanas caur kastes caurumu.

Manas maizes dēļa aizmugurē bija lipīga pamatne, bet, ja tā nav, varat pielīmēt elektrisko lenti. Drošības apsvērumu dēļ elektriskā lente tika izmantota arī elektrisko komponentu piestiprināšanai, kas nav plāksnē. MCU ar LED displejiem tika piestiprināti acu kontaktligzdu aizmugurē, izmantojot elektrisko lenti, un motori tika piestiprināti pie kastes sāniem tuvu caurumiem, izmantojot elektrisko lenti. Es izmantoju sarkano elektrisko lenti, lai padarītu to neredzamāku, katram gadījumam, un iesaku izmantot elektrisko lenti ar līdzīgu krāsu jūsu ARCA versijai.

Maizes dēlis un tapas ir iestatītas kā šis Fritzing attēls. Ja vēlaties šai diagrammai pievienot vairāk, lai pielāgotu ARCA, varat lejupielādēt Fritzing failu manā Github krātuvē un rediģēt pēc sirds patikas.

Es piestiprināju vadus pie cilpām pārnesumu motoros, saliekot vadus ap cilpām, lai tie būtu piestiprināti. Iespējams, būtu labāka ideja lodēt šos savienojumus, ja jums ir pieejams lodāmurs, taču tas ir vienkāršs risinājums, ja jums tāda nav.

Barošanas bloks ir pievienots tam pašam vadam, ko izmantoja, lai savienotu Arduino ar datoru, lai lejupielādētu jūsu programmu, un tas ir vienkārši vaļīgs robotā, tāpēc to var viegli noņemt un uzlādēt.

3. solis: programmēšana

Programmēšana
Programmēšana

Šeit ir kods, kuru varat augšupielādēt savā ARCA, lai tas darbotos tieši tāpat kā mans. Lai izmantotu kodu, jums ir nepieciešamas arī šādas divas bibliotēkas.

Skaidrības un pielāgošanas labad es tomēr iepazīstināšu jūs ar savu kodu. Jūtieties brīvi izlaist šo soli, ja nepielāgojat savu robotu vai neplānojat mainīt emocijas.

Pirmkārt, es savā kodā iekļauju divas bibliotēkas izmantošanai, ļaujot izmantot šo bibliotēku funkcijas un objektus. Es arī šeit definēju savas tapas. Ja esat nolēmis padarīt tapas atšķirīgas no manām iepriekšējā solī iestatītajām, veiciet izmaiņas savā kodā šeit, izmantojot atbilstošās tapas.

Tālāk es definēju emocijas, deklarēju nepieciešamos objektus IR sensoram un 8 x 8 LED displejiem un definēju dažus globālos mainīgos. Emocijas tiek deklarētas baitu masīvā, kur katrs no masīva heksadecimālajiem skaitļiem attēlo rindas rezultāta 8 līdz 8 displejā. Lai radītu savas pielāgotās emocijas, iesaku uzzīmēt vajadzīgo emociju režģī 8 x 8 un pēc tam uzrakstīt katras rindas 8 bitu bināro skaitli, kur izslēgtā gaisma ir 0 un ieslēgta ir 1, un pēc tam izveidot no tā heksadecimālo skaitli un ievieto to garuma masīvā. Esmu definējis arī dažus globālos mainīgos, ko izmantot cilpā; mirgojošā mehānisma mainīgie un rādītāji, lai saglabātu emocijas un iestatītu tās neitrālā režīmā.

Tagad mēs nonākam pie iestatīšanas cilpas, kur testēšanas nolūkos ieslēdzu sērijveida uzraudzību, un tam vajadzētu būt noderīgam, lai pārbaudītu jūsu kodu ar dažādām IR tālvadības pultīm. Pēc tam es inicializēju kreisās un labās acs objektus, izmantojot LED vadības bibliotēkas funkcijas. Es arī iestatīju zobratu motora tapas uz izeju un iedarbināju IR uztvērēju.

Ciklā tas būtībā gaida, kamēr IR signāls mainīs robota status quo. Tātad, ja tiek saņemts IR signāls un tas sakrīt ar kādu no noteiktas pogas kodiem, tad, ja tiek aktivizēts paziņojums un atbilstoši emocijām tiek iestatītas kreisās un labās acs vērtības. Ja tiek nospiesta kustības poga, piemēram, pa kreisi, pa labi, uz priekšu un Labi, tad tapas tiek rakstītas digitāli, lai tās būtu ieslēgtas vai izslēgtas atkarībā no nospiestās pogas. Tikai piezīme par IR uztvērēja kodiem: IR tālvadības bibliotēkā ir koda paraugs, kas sniegs jūsu tālvadības pults heksadecimālos kodus, ja, nospiežot pogas, nekas nenotiek, atveriet šo programmu, lai pārliecinātos, ka kodi ir pareizi. Viss, kas jums jādara, ir mainīt heksadecimālo skaitli, kas pievienots katrai pogai.

Visbeidzot, jums ir funkcija, kas izdrukā emocijas 8 līdz 8 displejos. Tas izmanto setRow funkcijas no LED vadības bibliotēkas un vienkārši iziet izveidotos masīvus un attiecīgi nosaka rindas. Tam ir divi parametri: masīvs kreisajai acij un masīvs labajai acij. Tas var būt vai nu baitu rādītājs, vai pats baitu masīvs (ti, nosaukums "neitrāls"), kas darbojas kā rādītājs.

4. solis: bonusa padomi un triki

Bonusa padomi un triki
Bonusa padomi un triki

Šī projekta laikā es noteikti uzzināju daudz, un es vēlējos šeit dalīties ar dažiem papildu padomiem, kas attiecas gan uz šo projektu, gan uz citiem projektiem, izmantojot Arduino.

  • Arduino ir daudz tiešsaistes resursu, un, manuprāt, visnoderīgākais ir no Arduino vietnes, pateicoties to skaidrajiem un kodolīgajiem koda piemēriem.
  • Neizgudrojiet riteni no jauna, jo ir daudz komplektu un iepriekš izveidotu gabalu, kurus varat izmantot, lai atvieglotu jūsu projektu. Es esmu programmētājs, nevis mašīnbūves inženieris, un man bija grūti mēģināt izdomāt, kā es gatavoju šim robotam darboties, taču bija viegli atrast kaut ko, ko iegādāties tiešsaistē, un ieviest to savā dizainā, salīdzinot ar burtiski jaunu izgudrošanu. ritenis
  • Bibliotēkas ir jūsu draugs Arduino valodā, kā arī visās objektorientētajās valodās, un tās pastāv kāda iemesla dēļ. Savienojiet to pārī ar mikrokontrolleriem, un 8 x 8 gaismas diodes programmēšana ir vienkārša. Vienu no tiem esmu iepriekš ieprogrammējis ar rokām, un tikai viens izmanto apmēram katru Arduino tapu un prasa daudz koda. Ļoti netīrs un ne pārāk jautrs.
  • 3D printeri ir forši, bet ne perfekti, un ir labi, ja dažas lietas ir jānoslīpē. Šī iemesla dēļ 3D drukāšanā jūs vēlaties palielināties, jo vairumā gadījumu varat to nedaudz noslīpēt, lai iegūtu perfektu piemērotību.
  • Jauda var būt problēma, jo es domāju, ka enerģijas patēriņš patiešām pēdējā brīdī, un domāju, ka 5 voltu akumulators to darīs. Tad šķietami nejauši dažreiz motors vai LED displejs nedarbotos. Kad es jaunināju uz barošanas bloku, vairs nebija nekādu problēmu, lai gan robota iekšpusē tas bija apjomīgāks.

Ieteicams: