Innholdsfortegnelse:

ARCA (Bedårende fjernstyrt Android): 4 trinn (med bilder)
ARCA (Bedårende fjernstyrt Android): 4 trinn (med bilder)

Video: ARCA (Bedårende fjernstyrt Android): 4 trinn (med bilder)

Video: ARCA (Bedårende fjernstyrt Android): 4 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
ARCA (Bedårende fjernstyrt Android)
ARCA (Bedårende fjernstyrt Android)
ARCA (Bedårende fjernstyrt Android)
ARCA (Bedårende fjernstyrt Android)
ARCA (Bedårende fjernstyrt Android)
ARCA (Bedårende fjernstyrt Android)

Denne instruksen ble opprettet for å oppfylle prosjektkravet til Makecourse ved University of South Florida (www.makecourse.com).

ARCA er en bedårende fjernstyrt Android som er utrolig morsom å bygge og å leke med. Målet med dette prosjektet var å skape noe som alle kan forstå og forholde seg til ved å lage en robot som er både søt og funksjonell.

Roboten fungerer ved å vise forskjellige følelser på en 8 x 8 LED -matrise, disse følelsene inkluderer glede, søvn, kjærlighet, sinne, dumt og å se opp, venstre og høyre. Roboten fungerer også som en RC -bil og kan gå fremover og svinge til venstre eller høyre. Roboten går fremover ved å aktivere begge hjulmotorene, svinger til venstre ved å slå på høyre motor og svinger til høyre ved å slå på venstre motor. Designet er veldig forenklet, men det fungerer bare, og jeg ønsket å ha et stort fokus på programmeringen av Arduino siden jeg er en programmerer i hjertet.

De siste versjonene av alle filene som brukes i denne opplæringen, finnes på mitt Github ARCA -depot.

Trinn 1: Deleliste og 3D -utskrift

Deleliste og 3D -utskrift
Deleliste og 3D -utskrift
Deleliste og 3D -utskrift
Deleliste og 3D -utskrift

Deler til dette prosjektet kan enten 3D -printes eller kjøpes online. Når jeg tenkte på monteringen, ønsket jeg å lage effektivitetsnøkkel og også prøve å ikke (helt bokstavelig talt) finne opp hjulet på nytt. 3D -skriveren som ble brukt for dette prosjektet var en Makerbot Replicator, hvis du vil forsikre deg om at 3D -utskriftene er i samsvar med mine, bruk denne skriveren.

Strukturelle komponenter

  • Boks med hull i sidene til hjul og armer
  • Bokslokk med hull for bakhjul og hull for IR -sensor
  • Venstre arm
  • Høyre arm
  • Aksel for de to bakhjulene
  • to akselkontakter for å koble lokket til akselen
  • 4 hjul (motorer er også inkludert i denne lenken)
  • Små skruer (for å passe inn i motorene)

Elektriske komponenter

  • Arduino Uno
  • Lite brødbrett (jeg kjøpte Arduino -settet og det fulgte med)
  • To MAX7219 Red Dot -matriser med MCU -kontroll
  • Infrarød mottaker og fjernkontroll
  • To TIP 120 -transistorer
  • Koble ledninger (jeg brukte mange mannlige til kvinnelige ledninger samt mann til mann, og anbefaler å få lange ledninger i motsetning til korte ledninger)
  • en 220 ohm motstand
  • To girmotorer
  • USB -tilkoblbare strømpakker (de bærbare som brukes til mobiltelefoner)

Trinn 2: Montering

montering
montering
montering
montering
montering
montering

Strukturell forsamling

De 3D -trykte delene vil trolig trenge litt opprydding, og jeg anbefaler å slipe den med et fint korn og bruke aceton (neglelakkfjerner) for å fjerne rester av lim som brukes i 3D -utskriftsprosessen. Noen av delene passer kanskje ikke perfekt, og det var nødvendig for meg å slipe akselen for å være perfekt rund og passe godt gjennom hullene.

Hjulene trenger litt justering, de måtte bores mer for å passe dimensjonene på akselen bak og skruene foran. Bruk en 6 mm borekrone til å bore gjennom hullene i hjulene for å bore ut større hull i hjulene.

Til denne monteringen brukte jeg en rekke lim, men jeg fant ut at flytende betong (modelleringslim) var det beste for hold til tross for lang tørketid, men epoksy var best for ting du trenger å tørke raskt og holde godt, til tross for at det er rotete.

Resten av forsamlingen er ganske rett frem:

  1. Fest akselholderne på baksiden av bokslokket, bruk epoksy for å forsegle
  2. Før akselen gjennom akselholderne
  3. Lim hjulene til akselen med flytende betong
  4. Sett armene gjennom de øvre hullene, og lim til armholderen med epoxy
  5. Skru lokket på esken inn i esken
  6. Bruk elektrisk tape på bunnen av esken der hjulene er

Elektrisk forsamling

Forhjulene er festet direkte til motorene, og du må bruke en liten skrue i motoren for å gjøre den lang nok til å passe gjennom hullet i roboten på hver side. Det skal være et lite hull i motorens roterende pinne, og du kan skru inn skruen der og lime skruehodet inn i hjulet etter å ha presset skruen gjennom hullet i esken.

Baksiden av brødbrettet hadde en klebrig bakside, men du kan bruke elektrisk tape for å feste den hvis din ikke gjør det. Av tape ble det også brukt elektrisk tape for å feste de elektriske komponentene som ikke er i brettet. MCU -ene med LED -skjermer ble festet på baksiden av øyekontaktene med elektrisk tape, og motorene ble også festet til sidene av boksen nær hullene ved hjelp av elektrisk tape. Jeg brukte rødt elektrisk tape for å gjøre det mer usynlig, bare i tilfelle, og jeg anbefaler å bruke et elektrisk tape med en lignende farge som din versjon av ARCA.

Brettbrettet og pinnene er satt opp som dette Fritzing -bildet. Hvis du vil legge til mer i dette diagrammet for å tilpasse ARCA, kan du laste ned Fritzing -filen i mitt Github -depot og redigere den etter eget hjerte.

Jeg festet ledningene til løkkene i girmotorene ved å bøye ledningene rundt løkkene, for å holde dem festet. Det vil sannsynligvis være en bedre idé å lodde disse forbindelsene hvis du har tilgang til loddejern, men dette er en enkel løsning hvis du ikke har en.

Strømpakken er festet til den samme ledningen som ble brukt til å koble Arduino til datamaskinen for å laste ned programmet, og dette er bare løst i roboten, slik at den enkelt kan fjernes og lades.

Trinn 3: Programmering

Programmering
Programmering

Her er koden du kan laste opp til ARCA for å få den til å fungere akkurat som min. Du trenger også følgende to biblioteker for å bruke koden.

For klarhetens skyld og tilpasning vil jeg imidlertid lede deg gjennom koden min. Hopp over dette trinnet hvis du ikke tilpasser roboten din eller ikke har tenkt å endre følelsene.

Først inkluderer jeg to biblioteker for bruk i koden min, slik at jeg kan bruke funksjonene og objektene til disse bibliotekene. Jeg definerer også pinnene mine her. Hvis du bestemte deg for å gjøre pinnene dine annerledes enn oppsettet mitt i forrige trinn, kan du gjøre endringene i koden din med de riktige pinnene.

Deretter definerte jeg følelsene, erklærte de nødvendige objektene for IR -sensoren og 8 x 8 LED -skjermer, og definerte noen globale variabler. Følelsene er deklarert i et byte -array, hvor hvert av hex -tallene i arrayet representerer radene i den resulterende 8 x 8 -skjermen. For å lage dine egendefinerte følelser, anbefaler jeg å tegne ut følelsene du ønsket i et 8 x 8 rutenett, og deretter skrive ut hver rad 8 biters binært tall hvor lyset er 0 og lyset på er 1, og deretter lage et heksadesimalt tall fra det og sette det i en rekke med lengde 8. Jeg har også definert noen globale variabler som skal brukes i sløyfen; variablene for den blinkende mekanismen og pekene for å lagre følelsene og sette dem til å starte på nøytral.

Nå kommer vi til oppsettsløyfen, der jeg slår på seriell overvåking av hensyn til testing, og dette burde være nyttig for å teste koden din med forskjellige IR -fjernkontroller. Deretter initialiserte jeg venstre og høyre øyeobjekter ved hjelp av funksjoner fra LED -kontrollbiblioteket. Jeg satte også girmotorpinnene til utgang og startet IR -mottakeren.

I sløyfen venter det i hovedsak på at IR -signalet endrer status quo for roboten. Så hvis et IR -signal mottas og det samsvarer med en av kodene fra en bestemt knapp, så hvis setning utløses og setter venstre øye og høyre øye verdier tilsvarende for følelsene. Hvis en bevegelsesknapp trykkes, som venstre, høyre, fremover og OK, skrives pinnene digitalt for å være på eller av avhengig av knappen som trykkes. Bare et notat om IR -mottakerkodene: det er en prøvekode i IR -fjernbiblioteket som gir deg hex -kodene for fjernkontrollen din, hvis ingenting skjer når du trykker på knapper, åpner du dette programmet for å sikre at kodene er riktige. Alt du trenger å gjøre er å endre hex -tallet som følger med hver knapp.

Til slutt har du funksjonen som skriver ut følelsene til de 8 x 8 displayene. Dette bruker setRow -funksjonene fra LED -kontrollbiblioteket og går bare gjennom matrisene du har opprettet, og angir radene deretter. Den har to parametere: matrisen for venstre øye og matrisen for høyre øye. Dette kan enten være en bytepeker eller en byte -array i seg selv (dvs. navnet "nøytral") som fungerer som en peker.

Trinn 4: Bonustips og triks

Bonustips og triks
Bonustips og triks

Det var absolutt mye jeg lærte under dette prosjektet, og jeg ønsket å dele noen flere tips her som gjelder både for dette prosjektet og for andre prosjekter som bruker en Arduino.

  • Det er mange elektroniske ressurser for Arduino, og de mest nyttige etter min mening kommer fra Arduino -nettstedet på grunn av deres klare og konsise kodeeksempler.
  • Ikke oppfinn hjulet på nytt. Det er mange sett og forhåndsbygde brikker som du kan bruke for å gjøre prosjektet enklere. Jeg er en programmerer og ikke en mekanisk ingeniør, og jeg hadde vanskelig for å finne ut hvordan jeg skulle få denne roboten til å gå, men det var lett å finne noe å kjøpe online og implementere det i mitt design kontra bokstavelig talt å oppfinne hjul
  • Biblioteker er din venn i Arduino så vel som på alle objektorienterte språk, og de eksisterer av en grunn. Kombiner dette med mikrokontroller og programmering av en 8 x 8 LED er enkel. Jeg har programmert en av disse for hånd før, og bare en bruker omtrent hver pinne i Arduino og krever massevis av kode. Veldig rotete og ikke veldig morsomt.
  • 3D -skrivere er kule, men ikke perfekte, og det er greit å måtte slipe ned noen ting. Du vil heller gå større når du skriver ut 3D av denne grunn fordi du i de fleste tilfeller kan slipe det litt for å få den perfekte passformen.
  • Strøm kan være et problem fordi jeg tenkte på strømbruk virkelig i siste liten og tenkte at et 5v batteri ville gjøre susen. Noen ganger virker en motor eller en LED -skjerm tilsynelatende tilfeldig. Når jeg oppgraderte til strømpakken, var det ingen flere problemer, til tross for at den var mer omfangsrik inne i roboten.

Anbefalt: