Indholdsfortegnelse:
- Trin 1: Deleliste og 3D -udskrivning
- Trin 2: Montering
- Trin 3: Programmering
- Trin 4: Bonustips og tricks
Video: ARCA (Bedårende fjernbetjent Android): 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Denne instruerbare blev oprettet for at opfylde projektkravet fra Makecourse ved University of South Florida (www.makecourse.com).
ARCA er en yndig fjernbetjent Android, der er utrolig sjov at bygge og lege med. Målet med dette projekt var at skabe noget, som alle kan forstå og forholde sig til ved at skabe en robot, der er både yndig og funktionel.
Robotten fungerer ved at vise forskellige følelser på en 8 x 8 LED -matrix, disse følelser omfatter glæde, søvn, kærlighed, vrede, fjollet og at kigge op, til venstre og til højre. Robotten fungerer også som en RC -bil og kan gå fremad og dreje til venstre eller højre. Robotten går fremad ved at aktivere begge hjulmotorer, drejer til venstre ved at tænde den højre motor og drejer til højre ved at tænde den venstre motor. Designet er meget forenklet, men det virker bare, og jeg ville have et stort fokus på programmeringen af Arduino, da jeg er en programmør i hjertet.
De nyeste versioner af alle filerne, der bruges i denne vejledning, findes på mit Github ARCA -depot.
Trin 1: Deleliste og 3D -udskrivning
Dele til dette projekt kan enten 3D -printes eller købes online. Når jeg tænkte på samlingen, ville jeg lave effektivitetsnøglen og også prøve at ikke (helt bogstaveligt talt) genopfinde hjulet. 3D -printeren, der blev brugt til dette projekt, var en Makerbot Replicator, hvis du vil sikre dig, at dine 3D -udskrifter er i overensstemmelse med mine, skal du bruge denne printer.
Strukturelle komponenter
- Æske med huller i siderne til hjul og arme
- Kasselåg med huller til baghjul og et hul til IR -sensoren
- Venstre arm
- Højre arm
- Aksel til de to baghjul
- to akselstik til at forbinde låget til akslen
- 4 hjul (motorer er også inkluderet i dette link)
- Små skruer (passer til motorerne)
Elektriske komponenter
- Arduino Uno
- Lille brødbræt (jeg købte Arduino -sættet, og det fulgte med)
- To MAX7219 Red Dot -matricer med MCU -kontrol
- Infrarød modtager og fjernbetjening
- To TIP 120 transistorer
- Tilslutning af ledninger (jeg brugte mange han- til hunledninger samt mandlige til han, og anbefaler at få lange ledninger i modsætning til korte ledninger)
- en 220 ohm modstand
- To gearmotorer
- USB -tilslutte strømforsyninger (de bærbare, der bruges til mobiltelefoner)
Trin 2: Montering
Strukturel forsamling
De 3D -udskrevne dele vil sandsynligvis have brug for lidt oprydning, og jeg anbefaler at slibe det med et fint grus og bruge acetone (neglelakfjerner) til at fjerne eventuelle rester af lim, der bruges i 3D -udskrivningsprocessen. Nogle af delene passer muligvis ikke perfekt, og det var nødvendigt for mig at slibe akslen for at være perfekt rund og passe korrekt gennem hullerne.
Hjulene har brug for en lille justering, de skulle bores mere for at passe til akselens dimensioner bagpå og skruerne foran. Brug et 6 mm bor til at bore gennem hullerne i hjulene for at bore større huller i hjulene.
Til denne samling brugte jeg en række forskellige lim, men jeg fandt ud af, at flydende beton (modelleringslim) var den bedste til at holde på trods af lang tørretid, men epoxy var bedst til ting, du skal tørre hurtigt og holde godt, på trods af at det er rodet.
Resten af forsamlingen er ret ligetil:
- Fastgør akselholderne bag på bokslåget ved hjælp af epoxy til at forsegle
- Kør akslen gennem akselholderne
- Lim hjulene til akslen ved hjælp af flydende beton
- Sæt armene gennem de øvre huller, og lim til armholderen med epoxy
- Skru låget af æsken ind i æsken
- Brug elektrisk tape i bunden af kassen, hvor hjulene er
Elektrisk samling
Forhjulene er fastgjort direkte til motorerne, og du skal bruge en lille skrue i motoren til at gøre den lang nok til at passe gennem hullet i robotten på hver side. Der skal være et lille hul i motorens roterende pind, og du kan skrue skruen i der og lime skruehovedet ind i hjulet efter at have skubbet skruen gennem hullet i kassen.
Bagsiden af mit brødbræt havde en klæbrig bagside, men du kan bruge elektrisk tape til at klæbe den, hvis din ikke gør det. Elektrisk tape blev også brugt til at fastgøre de elektriske komponenter, der ikke var i tavlen, af sikkerhedsmæssige årsager. MCU'erne med LED -skærme blev fastgjort til bagsiden af øjenhulerne ved hjælp af elektrisk tape, og motorerne blev også fastgjort til kassens sider tæt på hullerne ved hjælp af elektrisk tape. Jeg brugte rødt elektrisk tape til at gøre det mere usynligt, bare for sikkerheds skyld, og jeg anbefaler at bruge et elektrisk tape med en farve, der ligner din version af ARCA.
Brødbrættet og stifterne er sat op som dette Fritzing -billede. Hvis du vil tilføje mere til dette diagram for at tilpasse ARCA, kan du downloade Fritzing -filen i mit Github -lager og redigere den efter dit hjertes indhold.
Jeg fastgjorde ledningerne til sløjferne i gearmotorerne ved at bøje ledningerne omkring sløjferne for at holde dem fastgjort. Det ville nok være en bedre idé at lodde disse forbindelser, hvis du har adgang til loddejern, men dette er en let løsning, hvis du ikke har en.
Strømforsyningen er tilsluttet den samme ledning, der bruges til at slutte Arduino til computeren for at downloade dit program, og dette er bare løst i robotten, så det let kan fjernes og oplades.
Trin 3: Programmering
Her er koden, du kan uploade til din ARCA for at få den til at fungere præcis som min. Du har også brug for følgende to biblioteker for at bruge koden.
For klarhedens skyld og tilpasning vil jeg dog lede dig igennem min kode. Spring gerne over dette trin, hvis du ikke tilpasser din robot eller ikke har planer om at ændre følelserne.
For det første inkluderer jeg to biblioteker til brug i min kode, så jeg kan bruge disse biblioteks funktioner og objekter. Jeg definerer også mine pins her. Hvis du besluttede at gøre dine pins anderledes end mit opsætning i det foregående trin, skal du foretage ændringerne af din kode her med de rigtige pins.
Dernæst definerede jeg følelserne, erklærede de nødvendige objekter til IR -sensoren og de 8 x 8 LED -skærme og definerede nogle globale variabler. Følelserne erklæres i et byte -array, hvor hvert af hex -tallene i arrayet repræsenterer rækkerne i det resulterende 8 x 8 -display. For at oprette dine brugerdefinerede følelser anbefaler jeg at tegne den følelse, du ønskede i et 8 x 8 gitter, og derefter skrive hvert række 8 bit binært tal ud, hvor lyset er 0 og lyset tændt 1, og derefter oprette et hexadecimalt tal fra det og sætte det i en matrix med længde 8. Jeg har også defineret nogle globale variabler, der skal bruges i sløjfen; variablerne for den blinkende mekanisme og tips til at gemme følelserne og sætte dem til at starte med neutral.
Nu kommer vi til opsætningsløkken, hvor jeg tænder seriel overvågning af hensyn til test, og det burde være nyttigt at teste din kode med forskellige IR -fjernbetjeninger. Derefter initialiserede jeg venstre og højre øjeobjekter ved hjælp af funktioner fra LED -kontrolbiblioteket. Jeg indstillede også gearmotorstifterne til output og startede IR -modtageren.
I sløjfen venter det i det væsentlige på, at IR -signalet ændrer status quo for robotten. Så hvis et IR -signal modtages, og det matcher med en af koderne fra en bestemt knap, så hvis udsagn udløses og sætter venstre øje og højre øje værdier i overensstemmelse hermed for følelserne. Hvis der trykkes på en bevægelsesknap, som venstre, højre, fremad og OK, så skrives stifterne digitalt for at være tændt eller slukket afhængigt af knappen, der trykkes på. Bare en note om IR -modtagerkoderne: der er en prøvekode i IR -fjernbiblioteket, der giver dig hex -koderne til din fjernbetjening, hvis der ikke sker noget, når du trykker på knapper, skal du åbne dette program for at sikre, at koderne er korrekte. Alt du skal gøre er at ændre det hexadecimale tal, der følger med hver knap.
Endelig har du den funktion, der udskriver følelserne til de 8 x 8 displays. Dette bruger setRow -funktionerne fra LED -kontrolbiblioteket og går bare igennem de arrays, du har oprettet, og sætter rækkerne i overensstemmelse hermed. Det har to parametre: arrayet til venstre øje og arrayet til højre øje. Dette kan enten være en bytemarkør eller et byte array selv (dvs. navnet "neutralt"), der fungerer som en markør.
Trin 4: Bonustips og tricks
Der var bestemt meget, jeg lærte under dette projekt, og jeg ville dele nogle ekstra tips her, der gælder for både dette projekt og for andre projekter, der bruger en Arduino.
- Der er mange online ressourcer til Arduino, og de mest nyttige efter min mening kommer fra Arduino -webstedet på grund af deres klare og koncise kodeeksempler.
- Genopfind ikke hjulet. Der er mange kits og færdigbyggede stykker, som du kan bruge til at gøre dit projekt lettere. Jeg er en programmør og ikke en mekanisk ingeniør, og jeg havde svært ved at finde ud af, hvordan jeg skulle få denne robot til at gå, men det var let at finde noget at købe online og implementere det i mit design versus helt bogstaveligt at genopfinde hjul
- Biblioteker er din ven i Arduino såvel som på alle objektorienterede sprog, og de findes af en grund. Kombiner dette med mikrokontroller og programmering af en 8 x 8 LED er enkel. Jeg har programmeret en af disse i hånden før, og kun en bruger omtrent hver pin i Arduino og kræver masser af kode. Meget rodet og ikke særlig sjovt.
- 3D -printere er seje, men ikke perfekte, og det er okay at skulle slibe nogle ting ned. Du vil hellere gå større ved 3D -udskrivning af denne grund, fordi du i de fleste tilfælde kan slibe det lidt ned for at få den perfekte pasform.
- Strøm kan være et problem, fordi jeg tænkte på strømforbrug virkelig i sidste øjeblik og troede, at et 5v batteri ville gøre tricket. Så tilsyneladende tilfældigt ville en motor eller et LED -display nogle gange ikke fungere. Når jeg opgraderede til strømforsyningen, var der ikke flere problemer, på trods af at de var mere omfangsrige inde i robotten.
Anbefalede:
Fjernbetjent Bluetooth -fyrværkeritænder: 6 trin (med billeder)
Fjernbetjent Bluetooth -fyrværkeri -tænding: Ville det ikke være rart at tænde mere end et fyrværkeri på samme tid? Eller endda have en sikker afstand til farligere eksplosiver. I dette projekt vil jeg vise dig, hvordan du opbygger et kredsløb, der kan gøre netop det ved hjælp af Bluetooth -funktionen
Switch-tilpas legetøj: Egg fjernbetjent slange tilgængelig !: 7 trin (med billeder)
Switch-Adapt Legetøj: Egg Fjernstyret Snake gjort tilgængelig !: Legetøjstilpasning åbner nye veje og tilpassede løsninger, så børn med begrænsede motoriske evner eller udviklingshæmmede kan interagere med legetøj uafhængigt. I mange tilfælde er de børn, der har brug for det tilpassede legetøj, ikke i stand til at int
Fjernbetjent animeret LED-rumlampe: 5 trin (med billeder)
Fjernbetjent animeret LED-rumlampe: For dem der ønsker et afslappende eller et fascinerende farverigt lysshow, enten til et babyværelse, julepynt eller bare for sjov, her er min stemningsforstærker. Jeg får virkelig entusiastiske svar fra babyer på 6 måneder til ældre børn overhovedet
Bluetooth fjernbetjent lyskontakt - eftermontering. Lyskontakt fungerer stadig, ingen ekstra skrivning .: 9 trin (med billeder)
Bluetooth fjernbetjent lyskontakt - eftermontering. Lyskontakt fungerer stadig, ingen ekstra skrivning .: Opdatering 25. november 2017 - For en High Power -version af dette projekt, der kan styre kilowatt belastning, se Retrofit BLE Control til High Power Loads - No Extra Wiring RequiredUpdate 15. november 2017 - Nogle BLE -tavler / software stakke leverer
1KM Range Fjernbetjent bil: 6 trin (med billeder)
1KM afstandsstyret bil: Siden jeg var lille var jeg overrasket over de fjernstyrede biler, men deres rækkevidde oversteg aldrig 10 meter. Efter at jeg lærte noget Arduino -programmering, besluttede jeg endelig at bygge min egen fjernstyrede bil, der kan nå op til 1 km rækkevidde ved hjælp af nRF24L