Innholdsfortegnelse:

Den følelsesmessige hindringen som unngår robot: 11 trinn
Den følelsesmessige hindringen som unngår robot: 11 trinn

Video: Den følelsesmessige hindringen som unngår robot: 11 trinn

Video: Den følelsesmessige hindringen som unngår robot: 11 trinn
Video: LEGIONES ASTARTES - The Emperor's Angels | Warhammer 40k Lore 2024, November
Anonim
Den følelsesmessige hindringen som unngår robot
Den følelsesmessige hindringen som unngår robot

Den emosjonelle roboten. Denne roboten viser følelser med neopiksler (RGB LED -er) som tristhet, lykke, sint og redd, den kan også unngå hindringer og gjøre visse bevegelser under visse følelser. Hjernen til denne roboten er en Arduino -mega. husk at dette er min første programmerte robot jeg noensinne har bygget, og det gjorde at jeg ble forelsket i programmering, selve koden er veldig nybegynner og kan mest sannsynlig forenkles.

Trinn 1: DELER

DELER
DELER

-3,2 fot av en neopikslist

-HC-SR04 Ultralydsensor (eller annen ultralydssensor)

-vippebryter

-3 3,7v litiumionbatteri (18650)

-boost -omformer (forklart i power -trinn)

-fotomotstand (hvilken som helst verdi)

-analog lydsensor

-2 dc motorer 6v

-l293d (motordriver)

-plastfolie

-papp

-hjul

Trinn 2: Neopixels

Neopixels
Neopixels
Neopixels
Neopixels

På grunn av hvordan jeg hadde et stramt budsjett, er den enkleste og billigste måten å få robotene til å føle følelser til liv, neopiksler, alt de har er tre innganger og utganger. de tre pinnene på inngangen er merket 5v, DIN (data in) og GND (bakken); utgangen er merket det samme som input, men i stedet for data i DO (data out). Måten du kobler disse ledene på er å koble dem parallelt med hverandre, så 5v kobles til 5v på den andre ledningen og GND er koblet til den andre ledede GND, DO for den første ledningen er koblet til DIN på den andre ledningen og deretter denne prosessen fortsetter til du treffer ønsket led -stripelengde. En hel stripe med neopiksler krever bare en digital utgangspinne fra inngangen, dette er fordi DO og DIN er koblet sammen i en lang kjede, slik at de alle deler data med hverandre. Dette er nødvendig fordi vi må slå spesifikke lysdioder på og av på bestemte tidspunkter. En nyttig instruks om dette er NEOPIXEL HJELP

Trinn 3: Den skjematiske

Den skjematiske
Den skjematiske

Kretsen er veldig enkel ettersom det meste av roboten nettopp er programmert, motorene går på nær 7v med en l293d motordriver for å kontrollere motorene for å gå fremover bakover. De andre tilkoblingene er sensorene til Arduino. Og det er det!

Trinn 4: Koden

Det første jeg gjorde var å laste ned de nødvendige bibliotekene for å gjøre kodingen litt enklere, bibliotekene jeg brukte er "FastLED.h" og "NewPing.h". Den raske ledede er for lysdioder, og den nye ping er for ultralydsensorer. Det neste jeg gjorde var å lage alle definisjonene for pinnene jeg brukte, etter at det var ugyldig oppsett, er det her jeg konfigurerte pin -modusene og neostripen "FastLED.addLeds (leds, NUM_LEDS);" jeg definerte NUM_LEDS som 56, siden jeg brukte 56 lysdioder, vil konfigurasjonene til lysdiodene bli forklart i ansiktstrinnet. Jeg opprettet deretter en haug med funksjoner for roboten min for å bevege seg fremover og tilbake og også ha sin bestemte følelse, etter at jeg kommer til tomromssløyfen, er det her jeg kaller alle funksjonene mine i en bestemt sekvens jeg vil ha, for eksempel, hvis jeg ville at roboten min skulle smile, ville jeg sette smile ();. Hvis jeg ville at en bestemt LED skulle slås på, ville jeg sette, leds [45] = CRGB:: Green;, dette vil sette led 45 til å være grønt. Når jeg setter fargen til svart, betyr det bare av. Husk nå at dette er et av mine første programmer, så det er åpenbart ikke perfekt, men det fungerte fortsatt.

KODEN

Trinn 5: Ansiktet

Ansiktet
Ansiktet

Til ansiktet brukte jeg 56 lysdioder som er nesten en full 3,2 fot neopikselstrimmel. Jeg kuttet stripen i 7 strimler med 8 lysdioder, jeg brukte de første 3 strimlene for øynene og de siste 4 for munnen. Jeg koblet stripene i en slangeform, en forbindelse, du vil forhåpentligvis forstå bedre med diagrammet. Da jeg var ferdig med ansiktet, la jeg et tynt plastark (omtrent 2 mm tykt) over led -stripene.

Trinn 6: Happy Function

Glad funksjon
Glad funksjon

Denne funksjonen er den enkleste av dem alle, siden den ikke bruker noen sensorer, i stedet så snart du slår på boten, smiler den umiddelbart til deg. Men det smiler ikke bare; når det smiler, er det også i hindring for å unngå modus. Modus for hindring av hindringer er representert i koden min som funksjonen streife omkring. Hindringen for å unngå modus eller vandring fungerer ved å bruke to ultralydsensorer på robotsiden, når sensoren kommer 30 cm til alt det vil sikkerhetskopiere og enten gå til høyre eller venstre avhengig av sensoren som er nærmest objektet.

Trinn 7: Trist funksjon

Trist funksjon
Trist funksjon
Trist funksjon
Trist funksjon

For at roboten skulle bli trist måtte jeg tenke på et personlighetstrekk for denne roboten, så jeg bestemte meg for å gjøre ham trist når han er i et mørkt miljø. For å gjøre dette brukte jeg en fotomotstand for å føle lys. Jo mørkere miljø jo høyere motstand og jo lysere miljø jo lavere motstand. Kretsen fungerer som en spenningsdeler som er en krets med to motstander koblet i serie til +5v og GND, i midtpunktet av motstandsforbindelsen ligger en spenning som kan bestemmes av denne ligningen: inngangsspenning*(R2/R1 +R2). når Arduino Analog Pin leser denne verdien, konverterer den spenningen til et område fra 0 til 1023.

Trinn 8: sint funksjon

Sint funksjon
Sint funksjon
Sint funksjon
Sint funksjon

For å gjøre roboten sint bestemte jeg meg for å snu/velte den. Dette fungerer ved å bruke en vippebryter, og en vippebryter er i utgangspunktet en normal bryter, men i stedet for å ha en knapp eller vippe, har du en kvikksølvkule som hvis den vippes i en viss vinkel vil koble de to kontaktene og slå på; så verdien fra dette er enten 0 eller 1, 0 for av og 1 for på. Når roboten er sint, ignorerer den også hindringen for å unngå modus og støter alt i sikte i foroverretning på grunn av sin sinne.

Trinn 9: Reddet funksjon

Reddet funksjon
Reddet funksjon
Reddet funksjon
Reddet funksjon

For robotens siste funksjon er den skremte funksjonen, som bruker en lydsensor som er plassert rett oppå roboten. Når roboten hører en lastestøy, blir den redd og skalv mens den går bakover. Lydsensoren fungerer ved å bruke en kondensatormikrofon som er en mikrofon, når den oppdager lyder eller vibrasjoner vil den skape en liten spenning, vanligvis ca 100mv, denne spenningen forsterkes deretter og leses gjennom den analoge pinnen på Arduino, jo høyere spenning eller høyere lyd jo høyere analog verdi, og omvendt.

Trinn 10: Strøm

Makt
Makt
Makt
Makt

Nå som du bygde alt du trenger for å drive den, prøvde jeg opprinnelig å drive denne med 8 AA -batterier, men var bare for klumpete og upraktisk. Jeg brukte deretter 3 litiumionbatterier som hver rommer omtrent 3,5v, jeg koblet ett batteri til en boost -omformer som er en spenningsforsterker, dette økte min 3,5v til 5v for å drive Arduino, jeg brukte deretter to av batteriene og koblet direkte til det til motorene og lysdiodene, dette er ikke en så god idé siden spenningen ikke var regulert, men jeg hadde ikke en spenningsregulator liggende, hvis du prøver å bygge dette anbefaler jeg å bruke en spenningsregulator enn det som kan gjøre 5v på rundt 2-3 ampere, er et eksempel på dette LM78S05. Eller du kan bruke LM7805 til å drive Arduino og i stedet få en nedtrappingskonverter eller bukkonverter for å senke spenningen og drive lysdiodene og motorene.

Trinn 11: Ha det gøy !

Jeg håper du bygger denne roboten og har det gøy, jeg håper også at du vil sette ditt eget snurr på denne roboten og skape dine egne følelser for å få den til å LEVE !!!

Anbefalt: