Sisällysluettelo:

Digilog_Bike POV -näyttö: 14 vaihetta
Digilog_Bike POV -näyttö: 14 vaihetta

Video: Digilog_Bike POV -näyttö: 14 vaihetta

Video: Digilog_Bike POV -näyttö: 14 vaihetta
Video: Servo Motor with Arduino | Arduino Starter kit by Digilog.pk 2024, Marraskuu
Anonim
Image
Image

Digilog

Digitaalinen + analoginen

Digitaalinen tapaa analogisen

POV

Visuaalisuus

Tunnetaan myös nimellä jälkikuvanäyttö, jos sitä ravistetaan suurella nopeudella, jälkikuva säilyy.

Ihmiset luulevat katsovansa videota katsoessaan televisiota. Mutta itse asiassa hän katsoo useita peräkkäisiä kuvia. Tämä sekoitetaan kuvaan, koska verkkokalvoomme jää jälkikuvien vaikutus, kun katsomme peräkkäisiä kuvia. Tällaista harhaa kutsutaan POV: ksi.

Vaihe 1: Ideakonsepti

Ideakonsepti
Ideakonsepti

POV toteutetaan kiinnittämällä LED -hihna pyörän pyörään.

Vaihe 2: Materiaaliluettelo

Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo

Tietokoneet ja I/O

1. Arduino Mega 2560 [arduino] x3

2. Hall -anturimoduuli V2 [YwRobot] x3

3. WS2812-5050 Joustava neopikseli [Adafruit] x3

4. Magneettinen (halkaisija 15 mm, paksuus 50 mm) x3

5. Arduino Mega -kotelo x3

Voimalinja

5. 5000 mAh/3,7 V litiumakku [TheHan] x3

6. AVR 5V -säädin, lataus- ja PCM-moduuli: JBATT-U5-LC [Jcnet] x3

7. 4Hyppyjohtosarja 65PCS/SET [OR0012] x3

Vaihe 3: Työkalut

Työkalut
Työkalut

Työkaluja ei tarvita liikaa, mutta tarvitset:

1. Juotoskone

2. Juotin

3. Liimapistooli

4. Nipper

Vaihe 4: Kehyksen tekeminen

Image
Image
Kehyksen tekeminen
Kehyksen tekeminen

Pyörän leikkaaminen ja jalustan kiinnittäminen

Hiomakoneella leikattiin pyörän pyörät pois pyörältä ja hitsattiin teräslevyjä pyörien kiinnittämiseksi.

Vaihe 5: Lopullisten kuvien ja käsitteiden luonnostelu

Lopullisten kuvien ja käsitteiden luonnostelu
Lopullisten kuvien ja käsitteiden luonnostelu
Lopullisten kuvien ja käsitteiden luonnostelu
Lopullisten kuvien ja käsitteiden luonnostelu
Lopullisten kuvien ja käsitteiden luonnostelu
Lopullisten kuvien ja käsitteiden luonnostelu

Valitsimme lohikäärmeen viimeiseksi kuvaksi. Koska lohikäärmeen aalto näytti parhaiten edustavan jälkikuvan vaikutusta.

Vaihe 6: Tee liikkuvan kuvan leikkaus

Tee liikkuvan kuvan leikkaus
Tee liikkuvan kuvan leikkaus
Tee liikkuvan kuvan leikkaus
Tee liikkuvan kuvan leikkaus

Jaa kuva kolmeen osaan, jotka mahtuvat jokaiseen pyörään, ja jaa yhteensä 12 kuvaa värin ja liikkeen mukaan.

Vaihe 7: Ohjelmiston valmistelu

Ohjelmiston valmistelu
Ohjelmiston valmistelu
Ohjelmiston valmistelu
Ohjelmiston valmistelu

Osa 1. Asenna Arduino

Arduino Lataa:

(Asenna käyttöjärjestelmän version ja järjestelmän mukaan.)

-

Osa 2. Asenna kirjasto

*(Jos haluat asentaa Githubin kautta, käy Github Arduino -kirjaston yllä olevasta linkistä:

1. Suorita Arduino -ohjelma

2. Salli linkki Päävalikko - luonnos - sisälly kirjasto - lisää. Zip -kirjasto

3. Valitse. Zip -tiedosto, joka on jo asentanut github -kirjaston4

*(Jos haluat käyttää Arduino -ohjelmapalveluja)

1. Suorita Arduino -ohjelmia

2. Salli linkki Ylävalikko - luonnos - sisälly kirjasto - hallintakirjasto - haku "Adafruit neopixel" - näet "Adafruit Neopixel by Adafruit"

3. Asenna ja päivitä kirjasto

-

Osa 3. Asenna muunnosohjelma

1. Asenna Rotation Circle Program (R. C. P):

2. Sinun täytyy lukea README -tiedosto

Vaihe 8: Laitteiston virtalähteen tekeminen

Laitteiston virtalähteen valmistus
Laitteiston virtalähteen valmistus
Laitteiston virtalähteen valmistus
Laitteiston virtalähteen valmistus
Laitteiston virtalähteen valmistus
Laitteiston virtalähteen valmistus

*Näin syötetään Arduino 5V -jännite akun kautta. Noudata alla olevia ohjeita.

1. Liitä litiumakku ja JBATT -latausmoduuli. (Viitteenä: JBATT-moduulissa on sisäänrakennettu virtakytkin.)

2. Liitä JBATT: n lähtöliitin Arduinon ja Ground -liittimen Vin -liittimeen.

3. Liitä Micro 5 -nastainen USB -portti latausporttiin tarkistaaksesi, onko tuote toiminut oikein.

4. Käännä seuraavaksi sisäänrakennettu kytkin ON-asentoon.

5. Jos punainen LED -valo syttyy ja vihreä LED -valo syttyy Arduinossa, tuotteen tehovaiheen määritys on suoritettu normaalisti.

Vaihe 9: Laitteiston I/O: n tekeminen ja LÄHTÖN tarkistaminen (NeoPixel toimii)

Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)
Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)
Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)
Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)
Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)
Laitteiston I/O -valmistus ja LÄHTÖN TARKISTUS (NeoPixel toimii)

*Tämä osa koostuu anturista ja lähtöportaasta

1. Liitä Arduino- ja Hall -anturit. Datanappi yhdistetään Arduino -nastaan 2.

2. Kun Arduino kytketään päälle ja magneetti on lähellä Hall -anturia, punainen LED -valo syttyy.

3. Yhdistä Arduino ja Neopixel. Vain 30 neopikseliä käytetään.

4. Liitä datatappi Arduino -nastaan 6.

5. Liitä Arduino- ja latauskaapeli tietokoneen USB -porttiin ja suorita Arduino tietokoneellasi.

6. Valitse Arduino -ohjelman ylävalikkoriviltä Työkalu - taulu - “Arduino / Genuino Mega tai Mega 2560”.

7. Tarkista, onko olemassa luettelo tuotteista, jotka voidaan kytkeä suoraan porttiin. Jos sitä ei ole valittu, valitse se napsauttamalla.

8. Liitä alla oleva koodi ja napsauta Lähetä vasemmassa yläkulmassa. (Jälkeenpäin kaikki ohjelmien lataukset noudattavat vaiheita 5-8.)

9. Konfigurointi on valmis, kun kaikki 30 yhdistettyä pikseliä kytkeytyvät päälle.

#1. mukaan lukien otsikkotiedosto ja esikäsittely

Ensin meidän on tuotava kirjasto Adafruit_NeoPixel, joka pystyy toimimaan Neopikselit.

Kirjastoa voidaan käyttää ilmoittamalla objekteja.

Adafruit_NeoPixel -luokka voi syöttää 3 parametria julkisesti.

Ensimmäinen parametri on LEDien määrä.

sekuntiparametri on Neopixel -digitaalituloon kytketty nastan numero.

Kolmas parametri on syöttövaihtoehdot tuotteen ominaisuuksien mukaan. kolmivärinen WS2812b-tuote käyttää NEO_GRB-tuloa

#sisältää

#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);

#2. perustaa

Alusta kohde asennusosassa ja valmista se käyttöön.

'Adafruit_Neopixle_Object.begin ()' asettaa kaikki LEDit sammumaan.

'Adafruit_Neopixle_Object.show ()' -lähdöt, joiden kirkkaus on asetettu LEDiin.

void setup () {

strip.begin (); strip.show (); }

#3. pääsilmukka

Pääsilmukan toiminta käyttää silmukkaa valkoisten merkkivalojen toistamiseen (0,1 sekuntia)

void loop () {

for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); viive (100); }}

Vaihe 10: Kokoaminen ja kiinnitys pyörään

Kokoonpano ja kiinnitys pyörään
Kokoonpano ja kiinnitys pyörään
Kokoonpano ja kiinnitys pyörään
Kokoonpano ja kiinnitys pyörään

1. Yhdistä neopikselit. (Kiinnitä huomiota PIN -koodin tarkistukseen)

2. Liitä Hall -anturi. (Katso vaihe 9)

3. Kiinnitä runko Arduinoon polkupyörien väliin. (Kiinnitä Arduinon kotelo polkupyörän rungon suuntaisesti).

4. Aseta Neopixeliin liitetty Arduino. (Ole varovainen, koska liimapistooli on kuuma).

5. Aseta liitetty Hall -anturi Arduinoon (kiinnitä nippuside, jotta Hall -anturi ei putoa).

6. Juotin akun liittämistä varten. (Ole varovainen juottaessasi).

7. Kiinnitä se liimapistoolilla. (Kiinnitä latausmoduuli akkuun varmistaaksesi tilaa).

8. Liitä jokainen linja ennen kuin muodostat yhteyden Arduinoon, 9. Kytke pistotulppa jokaisen pin -numeron mukaan. (Yhdistä latausmoduulin hyppyjohdot sekoittamatta niitä).

10. Viimeistele liimapistoolilla kerran (varo varo putoamasta).

Vaihe 11: TULON (HALL -anturitietojen) tarkistaminen

Tulon tarkistaminen (HALL -anturitiedot)
Tulon tarkistaminen (HALL -anturitiedot)
Tulon tarkistaminen (HALL -anturitiedot)
Tulon tarkistaminen (HALL -anturitiedot)
Tulon tarkistaminen (HALL -anturitiedot)
Tulon tarkistaminen (HALL -anturitiedot)

*Tarkista ohjelmistokoodista, toimiiko anturi.

1. Liitä ja lähetä alla oleva koodi.

2. Napsauta Sarjamonitori -painiketta Arduinon oikeassa yläkulmassa.

3. Kun magneetti on kosketuksissa Hall -anturiin yli 1 sekunnin ajan, määritys on valmis, kun sarjamonitoriin tulee sana "contact magneettinen".

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Määritä pin -numero ja asetukset

Ensimmäinen Hallin anturia käyttävä määritystunnisteen numero ja asetettu PIN-numero vain tulo -portiksi.

Aseta tiedonsiirto tarkistamaan Hall -anturin tiedot sarjamonitorista.

#define HALL 2

void setup () {pinMode (HALL, INPUT); Sarja.alku (9600); }

#2. pääsilmukka

Tarkista Hall -anturin tiedot 0,1 sekunnin välein.

Jos magneetti havaitaan ja tiedot muuttuvat, "kosketusmagneetti" lähetetään sarjamonitoriin.

void loop () {

if (digitalRead (HALL)) {Serial.println ("contact magneettinen"); } viive (100); }

Vaihe 12: Koodausalgoritmi

*Luo logiikka ja koodaus ohjata neopikseleitä anturien arvojen perusteella.

1. Liitä ja lataa alla oleva koodi.

2. On normaalia, että kuva ei näy oikein, koska kehystä ei synny. Mutta voit nähdä, että se toimii karkeasti.

3. Kosketa ja vapauta Hall -anturi ja magneetti nopeasti 1 sekunnin kuluessa. Toista tämä toimenpide noin 10 kertaa.

4. Kokoonpano on valmis, kun neopikselien värit muuttuvat säännöllisesti.

#1. Sisältää otsikkotiedostot ja esikäsittelyn

Ensinnäkin meidän on ymmärrettävä, että Arduino Megan muisti ei ole tarpeeksi suuri kuvatiedoston säilyttämiseksi.

Siksi "avr/pgmspace" -otsikkotiedostoa käytetään eri muistitilan hyödyntämiseen.

Jos haluat käyttää Neopikselejä, sinun on ilmoitettava objekti ja kokoonpano I/O -pin -numeroksi.

Kuvaryhmä on liian suuri koodausta varten, joten lataa ja liitä liitetyt tiedostot.

#sisältää

#sisällytä #määritä PIN 6 #määritä NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // liitä array 'image_array_1.txt' // "" image_array_2.txt "//" 'image_array_3.txt' // "'image_array_4.txt'

#2. Globaali muuttuja ja asetukset

Aseta globaali muuttuja.

Tärkeintä on asettaa kirkkaus, se määrää tuotteen elinkaaren.

int -luku = 0;

kaksinkertainen v = 0; kaksinkertainen viimeinen_v = 0; kaksoisajastin = mikros (); kaksinkertainen ex_timer = micros (); kaksinkertainen viimeinen ajastin = micros (); int deg = 36; int pix = 35; int rgb = 3; kaksinkertainen q_arr [2] = {0, 0}; int HALL_COUNT = 0; kaksinkertainen VELO; kaksinkertainen käsittely_ajastin = micros (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Sarja.alku (230400); }

#3. pääsilmukka - kuvan ilmaisun lähtöosa

Tämä koodi on ehdollinen lausunto siitä, miten ratan pyörimisaika annetaan resoluution mukaan.

Tämä osa käyttää polkupyörän pyörän kerran kierrosta erittäin tärkeänä parametrina.

Lisäksi on tärkeää lukea kuvaryhmän tiedot muistista.

void loop () {

if ((count (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); jos (VELO> 360000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_1 [count] [1])), pgm_read_byte (& (image_1 [count] [2])), pgm_read_byte (& (image_1 [count] [0])))); } strip.show (); } muu jos (VELO 264000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_2 [count] [1])), pgm_read_byte (& (image_2 [count] [2])), pgm_read_byte (& (image_2 [count] [0])))); } strip.show (); } muu jos (VELO 204000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_3 [count] [1])), pgm_read_byte (& (image_3 [count] [2])), pgm_read_byte (& (image_3 [count] [0])))); } strip.show (); } muu jos (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip). Väri (0, 0, 0)); } strip.show (); }

#4. pääsilmukka - käsittely ja sykliajan tarkistus ja tunnistus

Tämä on koko järjestelmän tärkein osa.

Tarkista ensin koko koodin suorittamiseen kuluva aika ja säädä LED -lähtöaikaa jaksoa kohden.

Jokaisen pyörän pyöriessä havaittu aika ennustaa seuraavan syklin ajan.

Kiihtyvyys voidaan arvioida vähentämällä viimeksi mitattu sykliaika ajoissa mitatusta sykliajasta.

Järjestelmä laskee käsittelyajan ja kiihtyvyyden laskeakseen kuinka kauan LEDit palavat jatkuvasti.

processing_timer = micros ();

if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - viimeinen ajastin; ex_timer = q_arr [0] - q_arr [1] + v; viimeinen_ajastin = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; määrä = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}

Vaihe 13: Ohjelmiston käyttö

Ohjelmiston käyttäminen
Ohjelmiston käyttäminen
Ohjelmiston käyttäminen
Ohjelmiston käyttäminen
Ohjelmiston käyttäminen
Ohjelmiston käyttäminen

*Käytä ohjelmistoa kuvan muuttamiseen ja prosessitietojen lisäämiseen koodiin

1. Lisää yllä olevan vaiheen kuva valmisteluvaiheessa asennetun R. C. P -kansion kuvakansioon.

- Kuvan asettaminen on seuraava.- Nimeä 4 animoitua tuotetta # 1 järjestyksessä 1. png, 2. png, 3.-p.webp

2. Suorita Ver.5.exe -tiedosto.

3. Varmista, että R. C. P -kansioon on luotu 12 tiedostoa pro_1_code_1.txt - pro_3_code_4.txt.

4. Jos sitä ei luoda, muuta config.txt -tiedoston sisältö seuraavaksi määritystiedostoksi.

5. Kun tiedosto on luotu, kopioi koko sisältö tiedostosta pro_1_code_1.txt ja liitä se alla olevan koodin osoittamaan osaan.

6. Lisää pro_1_code_2.txt, pro_1_code_3.txt ja pro_1_code_4.txt sisältö merkityn osan viidenteen järjestykseen.

7. Viitaten kohtiin 5 ja 6, pro_2_code…, pro_3_code täydentää koodin samalla tavalla.

Vaihe 14: Suorita loppuun

Saattaa loppuun
Saattaa loppuun
Saattaa loppuun
Saattaa loppuun
Saattaa loppuun
Saattaa loppuun

Valmistui POV, joka luo yhden kuvan kolmella pyörällä.

Suositeltava: