Sisällysluettelo:
- Vaihe 1: Ideakonsepti
- Vaihe 2: Materiaaliluettelo
- Vaihe 3: Työkalut
- Vaihe 4: Kehyksen tekeminen
- Vaihe 5: Lopullisten kuvien ja käsitteiden luonnostelu
- Vaihe 6: Tee liikkuvan kuvan leikkaus
- Vaihe 7: Ohjelmiston valmistelu
- Vaihe 8: Laitteiston virtalähteen tekeminen
- Vaihe 9: Laitteiston I/O: n tekeminen ja LÄHTÖN tarkistaminen (NeoPixel toimii)
- Vaihe 10: Kokoaminen ja kiinnitys pyörään
- Vaihe 11: TULON (HALL -anturitietojen) tarkistaminen
- Vaihe 12: Koodausalgoritmi
- Vaihe 13: Ohjelmiston käyttö
- Vaihe 14: Suorita loppuun
Video: Digilog_Bike POV -näyttö: 14 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
POV toteutetaan kiinnittämällä LED -hihna pyörän pyörään.
Vaihe 2: 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ökaluja ei tarvita liikaa, mutta tarvitset:
1. Juotoskone
2. Juotin
3. Liimapistooli
4. Nipper
Vaihe 4: 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
Valitsimme lohikäärmeen viimeiseksi kuvaksi. Koska lohikäärmeen aalto näytti parhaiten edustavan jälkikuvan vaikutusta.
Vaihe 6: 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
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
*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)
*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
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
*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ö
*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
Valmistui POV, joka luo yhden kuvan kolmella pyörällä.
Suositeltava:
Tee oma POV -LED -pallo: 5 vaihetta (kuvilla)
Tee oma POV -LED -maapallo: Tässä projektissa näytän sinulle, kuinka yhdistin pari teräskappaletta Arduinon, APA102 -LED -nauhan ja Hall -tehosteanturin kanssa POV (vision pysyvyys) RGB -LED -maapallon luomiseksi. Sen avulla voit luoda kaikenlaisia pallomaisia kuvia
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivitys: 8 vaihetta (kuvilla)
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivityksellä: Tämä on muuttuva nopeus, POV (Persistence Of Vision), tuuletin, joka näyttää ajoittain ajan, ja kaksi tekstiviestiä, jotka voidaan päivittää "lennossa". on myös yhden sivun verkkopalvelin, jonka avulla voit vaihtaa kaksi tekstiä minulle
Kuinka tehdä yksinkertainen POV: 6 vaihetta (kuvilla)
Kuinka tehdä yksinkertainen POV: Hei, Tänään olen palannut mielenkiintoisen projektin LED POV (Persistence of Vision) kanssa Tämän projektin avulla voit näyttää nimen, joka sisältää 5 kirjainta. olet aloittelija arduinon kanssa, sinun pitäisi määrittää
Iso POV -tuuletin: hakkeroitu !!: 7 vaihetta (kuvilla)
BIG POV -fani: hakkeroitu !!: TÄMÄ on yksinkertainen, hauska ja helppo DIY -projekti, jonka tekemisestä lapset ja aikuiset voivat nauttia. tarvitset vain moottorin ledin ja joitain helposti löydettäviä osia, jos pidit tästä
Photonics Challenger: Transparent 3D Volumetric POV (PHABLABS): 8 vaihetta (kuvilla)
Photonics Challenger: Transparent 3D Volumetric POV (PHABLABS): Muutama viikko sitten sain viime hetken kutsun osallistua PhabLabs Hackathoniin Delftin tiedekeskuksessa Alankomaissa. Minun kaltaiselle innostuneelle harrastajalle, joka voi tavallisesti käyttää vain rajoitetun ajan tinkimiseen, näin tämän