Sisällysluettelo:

EMOTIONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI: 11 vaihetta
EMOTIONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI: 11 vaihetta

Video: EMOTIONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI: 11 vaihetta

Video: EMOTIONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI: 11 vaihetta
Video: Jari Sarasvuo ja totuuden ydin | #rahapodi 258 2024, Marraskuu
Anonim
EMOTONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI
EMOTONAALINEN ESTE ROBOTIN VÄLTTÄMISEKSI

Tunnerobotti. Tämä robotti näyttää tunteita neopikseleillä (RGB LEDit), kuten surua, onnea, vihaista ja pelottua, se voi myös välttää esteitä ja tehdä tiettyjä liikkeitä tietyn tunteensa aikana. Tämän robotin aivot ovat Arduino mega. Muista, että tämä on ensimmäinen ohjelmoimani robotti, jonka olin koskaan rakentanut, ja se sai minut rakastumaan ohjelmointiin, koodi itsessään on hyvin aloittelija ja sitä voitaisiin todennäköisesti yksinkertaistaa.

Vaihe 1: OSAT

OSAT
OSAT

-3,2 jalkaa neopikselinauhaa

-HC-SR04-ultraääni-anturi (tai mikä tahansa muu ultraäänianturi)

-kallistuskytkin

-3 3,7 V litiumioniakku (18650)

-tehostin (selitetty tehovaiheessa)

-valovastus (mikä tahansa arvo)

-analoginen äänianturi

-2 dc moottorit 6v

-l293d (moottoriajuri)

-muovinen arkki

-pahvi

-pyörä

Vaihe 2: Neopikselit

Neopikselit
Neopikselit
Neopikselit
Neopikselit

Koska minulla oli tiukka budjetti, yksinkertaisin ja halvin tapa saada robotin tunteet heräämään henkiin ovat neopikselit, heillä on vain 3 tuloa ja lähtöä. tulon kolme nastaa on merkitty 5v, DIN (data in) ja GND (ground); ulostulo on merkitty samaksi kuin syöttö, mutta sen sijaan DO (data out). Tapa, jolla nämä ledit liitetään, on yhdistää ne rinnakkain toisiinsa, joten 5v muodostaa yhteyden toisen ledin 5v: een ja GND on kytketty toiseen led -GND: hen, ensimmäisen ledin DO on kytketty toisen ledin DIN -liittimeen ja sitten tämä prosessi jatkuu, kunnes saavutat halutun led -nauhan pituuden. Koko neopikseliliuska vaatii vain yhden digitaalisen ulostulonapin tulosta, tämä johtuu siitä, että DO ja DIN on kytketty pitkään ketjuun, joten ne jakavat tietoja keskenään. Tämä on tarpeen, koska meidän on kytkettävä tietyt ledit päälle ja pois päältä tiettyinä aikoina. Hyödyllinen ohje tässä on NEOPIXEL HELP

Vaihe 3: Kaavio

Kaavio
Kaavio

Piiri on hyvin yksinkertainen, koska suurin osa robotista on juuri ohjelmoitu. Muut liitännät ovat Arduinon anturit. Ja siinä se!

Vaihe 4: Koodi

Ensimmäinen asia, jonka tein, oli ladata tarvittavat kirjastot koodauksen helpottamiseksi, käyttämäni kirjastot ovat "FastLED.h" ja "NewPing.h". Nopea led -valo on tarkoitettu ledeille ja uusi ping -valo ultraääni -antureille. Seuraavaksi tein kaikki määrittelyt käyttämilleni nastoille, sen jälkeen mitätöity asennus, tässä asetin nastatilat ja neostripin "FastLED.addLeds (leds, NUM_LEDS);" Määritin NUM_LEDS: ksi 56, koska käytin 56 lediä, ledien kokoonpanot selitetään kasvovaiheessa. Sitten loin joukon toimintoja robotilleni eteenpäin ja taaksepäin, ja minulla oli myös tietty tunne, jonka jälkeen tulen tyhjäkäyrään, tässä kutsun kaikki toiminnot haluamassani järjestyksessä, esim. jos haluaisin robotin hymyilevän, laittaisin hymyn ();. Jos haluaisin tietyn ledin kytkeytyvän päälle, laittaisin ledit [45] = CRGB:: Green;, tämä asettaa ledin 45 vihreäksi. Kun asetan värin mustaksi, se tarkoittaa vain pois päältä. Muista nyt, että tämä on yksi ensimmäisistä ohjelmistani, joten se ei tietenkään ole täydellinen, mutta se toimi silti.

KOODI

Vaihe 5: Kasvot

Kasvot
Kasvot

Kasvoille käytin 56 lediä, mikä on lähes täysi 3,2 jalan neopikselinauha. Leikkasin nauhan 7 nauhaan, joissa oli 8 lediä, käytin kolme ensimmäistä nauhaa silmille ja neljä viimeistä suulle. Liitin nauhat käärmeen muodossa, ymmärrät toivottavasti paremmin kaavion. Kun lopetin kasvot, laitoin ohuen muovilevyn (noin 2 mm paksu) led -nauhojen päälle.

Vaihe 6: Hyvää toimintaa

Hyvää toimintaa
Hyvää toimintaa

Tämä toiminto on helpoin niistä kaikista, koska se ei käytä mitään antureita, vaan heti kun käynnistät botin, se hymyilee sinulle heti. Mutta se ei vain hymyile; kun se hymyilee, se on myös esteiden välttämisessä. Esteiden välttämistila esitetään koodissani roam -funktiona. Esteen välttäminen tai verkkovierailu toimii käyttämällä kahta ultraääni -anturia robotin puolella, kun anturi on 30 cm: n etäisyydellä kaikesta, mitä se varmuuskopioi ja joko oikealle tai vasemmalle riippuen objektista lähinnä olevasta anturista.

Vaihe 7: Surullinen toiminto

Surullinen toiminto
Surullinen toiminto
Surullinen toiminto
Surullinen toiminto

Jotta robotista tulisi surullinen, minun piti miettiä tämän robotin luonteenpiirteitä, joten päätin tehdä hänet surulliseksi, kun hän on pimeässä ympäristössä. Tätä varten käytin valovastausta valon tunnistamiseen. Mitä tummempi ympäristö, sitä suurempi vastus ja mitä vaaleampi ympäristö, sitä pienempi vastus. Piiri toimii jännitteenjakajana, joka on piiri, jossa on kaksi vastusta, jotka on kytketty sarjaan +5v ja GND, vastuskytkennän keskipisteessä on jännite, joka voidaan määrittää tällä yhtälöllä: tulojännite*(R2/R1 +R2). kun Arduino Analog Pin lukee tämän arvon, se muuntaa jännitteen välille 0-1023.

Vaihe 8: Vihainen toiminto

Vihainen toiminto
Vihainen toiminto
Vihainen toiminto
Vihainen toiminto

Saadakseni robotin vihaiseksi päätin kääntää/kaataa sen. Tämä toimii käyttämällä kallistuskytkintä, ja kallistuskytkin on pohjimmiltaan normaali kytkin, mutta painikkeen tai keinukytkimen sijasta sinulla on elohopeapallo, joka tietyssä kulmassa kallistettuna yhdistää kaksi kosketinta ja kytkeytyy päälle; joten arvo tästä on joko 0 tai 1, 0 pois päältä ja 1 päälle. Kun robotti on vihainen, se ei myöskään huomioi esteen välttämistä ja raivoaa mitään näkyvissä olevaan suuntaan vihansa vuoksi.

Vaihe 9: Pelottava toiminto

Pelottava toiminto
Pelottava toiminto
Pelottava toiminto
Pelottava toiminto

Robotin viimeinen toiminto on pelottava toiminto, joka käyttää äänianturia, joka on sijoitettu suoraan robotin päälle. Aina kun robotti kuulee kuormitusäänen, se pelästyy ja värisee taaksepäin mennessään. Äänianturi toimii käyttämällä kondensaattorimikrofonia, joka on mikrofoni, kun se havaitsee ääniä tai tärinää, se luo pienen jännitteen, yleensä noin 100 mv, tämä jännite vahvistetaan ja luetaan Arduinon analogisen nastan kautta, sitä suurempi jännite tai mitä kovempi ääni, sitä suurempi analoginen arvo ja päinvastoin.

Vaihe 10: Virta

Virta
Virta
Virta
Virta

Nyt kun olet rakentanut kaiken tarvitsemasi virran, yritin alun perin käyttää tätä 8 AA -paristolla, mutta se oli vain liian iso ja epäkäytännöllinen. Käytin sitten kolmea litiumioniakkua, joissa molemmissa on noin 3,5 V, liitin yhden akun tehonmuuntimeen, joka on jännitteenvahvistin, tämä lisäsi 3,5 V: sta 5 V: een Arduinon virtalähteeksi, käytin sitten kahta akkua ja liitin suoraan se moottoreille ja LEDeille, tämä ei ole niin hyvä idea, koska jännitettä ei säädetty, mutta minulla ei ollut jännitesäädintä, jos yrität rakentaa tämän, suosittelen käyttämään jännitesäädintä kuin voi tehdä 5v noin 2-3 ampeeria, esimerkki tästä on LM78S05. Tai voit käyttää LM7805: tä Arduinon virtalähteeksi ja hankkia sen sijaan askelmuunnin tai buck -muunnin alentaaksesi jännitettä ja virrataksesi LED -valoja ja moottoreita.

Vaihe 11: Pidä hauskaa !

Toivon, että rakennat tämän robotin ja pidät hauskaa, toivon myös, että panostat itse tähän robottiin ja luot omat tunteesi, jotta se elää !!!

Suositeltava: