Kazalo:

Digilog_Bike POV zaslon: 14 korakov
Digilog_Bike POV zaslon: 14 korakov

Video: Digilog_Bike POV zaslon: 14 korakov

Video: Digilog_Bike POV zaslon: 14 korakov
Video: От нуля до BA Hero: путешествие в бизнес-анализ 2024, Julij
Anonim
Image
Image

Digilog

Digitalni + analogni

Digitalno se ujema z analognim

POV

Vizualna obstojnost

Znan tudi kot prikaz posnetka, če ga pretresite pri visoki hitrosti, ostane slika.

Ljudje mislijo, da gledajo video, ko gledajo televizijo. Toda v resnici gleda več zaporednih slik. To se zamenjuje s sliko zaradi učinka zaostalih slik na naših mrežnicah pri ogledu zaporednih slik. Ta vrsta iluzije se imenuje POV.

1. korak: Idejni koncept

Idejni koncept
Idejni koncept

POV je izveden s pritrditvijo LED traku na kolo kolesa.

2. korak: Seznam materialov

Seznam materialov
Seznam materialov
Seznam materialov
Seznam materialov

Računalništvo in V/I

1. Arduino Mega 2560 [arduino] x3

2. Hallov senzorski modul V2 [YwRobot] x3

3. WS2812-5050 Prilagodljiv neopixel [Adafruit] x3

4. Magnetni (premer 15 mm, debelina 50 mm) x3

5. Arduino Mega etui x3

Daljnovod

5. 5000mAh/3.7V litijeva baterija [TheHan] x3

6. Regulator AVR 5V in modul za polnjenje in PCM: JBATT-U5-LC [Jcnet] x3

7. 4 Komplet premostitvenih žic 65PCS/SET [OR0012] x3

3. korak: Orodja

Orodja
Orodja

Ne potrebujete preveč orodij, vendar boste potrebovali:

1. Spajkalni stroj

2. Spajkalnik

3. Pištola za lepilo

4. Stiskalnica

4. korak: Izdelava okvirja

Image
Image
Izdelava okvirja
Izdelava okvirja

Rezanje kolesa in pritrditev podlage

Brusilnik je bil uporabljen za rezanje kolesnih koles s kolesa in varjene jeklene plošče za pritrditev koles.

5. korak: Skiciranje končnih slik in konceptov

Skiciranje končnih slik in konceptov
Skiciranje končnih slik in konceptov
Skiciranje končnih slik in konceptov
Skiciranje končnih slik in konceptov
Skiciranje končnih slik in konceptov
Skiciranje končnih slik in konceptov

Za končno podobo smo izbrali zmaja. Ker se je zdelo, da je zmajev val najbolje predstavljen z učinkom poslikave.

6. korak: Izrežite gibljivo sliko

Izrežite gibljivo sliko
Izrežite gibljivo sliko
Izrežite gibljivo sliko
Izrežite gibljivo sliko

Podelite sliko na tri dele, ki se prilegajo vsakemu kolesu, in skupaj razdelite 12 slik po barvi in gibanju.

7. korak: Priprava programske opreme

Priprava programske opreme
Priprava programske opreme
Priprava programske opreme
Priprava programske opreme

Pododdelek 1. Namestite Arduino

Arduino prenos:

(Namestite, da ustreza vaši različici OS in sistemu.)

-

Poddel 2. Namestite knjižnico

*(Če želite namestiti prek Github -a, obiščite zgornjo povezavo Knjižnica Github Arduino:

1. Zaženite program Arduino

2. Dovolite povezavo Glavni meni - skica - vključi knjižnico - dodajte knjižnico.zip

3. Izberite datoteko. Zip, v kateri je že nameščena knjižnica github4

*(Če želite uporabljati programske storitve Arduino)

1. Zaženite programe Arduino

2. Dovoli povezavo Zgornji meni - skica - vključi knjižnico - knjižnica za upravljanje - iskanje »Adafruit neopixel« - lahko vidite »Adafruit Neopixel by Adafruit«

3. Namestite in posodobite knjižnico

-

Pododdelek 3. Namestite program pretvornika

1. Namestite program Rotation Circle Program (R. C. P):

2. Morate prebrati datoteko README

8. korak: Napajanje strojne opreme

Izdelava strojne opreme za napajanje
Izdelava strojne opreme za napajanje
Izdelava strojne opreme za napajanje
Izdelava strojne opreme za napajanje
Izdelava strojne opreme za napajanje
Izdelava strojne opreme za napajanje

*Tako napajate napetost Arduino 5V skozi baterijo. Sledite spodnjim korakom.

1. Priključite litijevo baterijo in polnilni modul JBATT. (Za referenco ima modul JBATT vgrajeno stikalo za vklop.)

2. Priključite izhodni priključek JBATT na Vin priključek Arduino in ozemljitveni terminal.

3. Priključite vrata USB 5pin USB na vrata za polnjenje, da preverite, ali izdelek deluje pravilno.

4. Nato vklopite vgrajeno stikalo na ON.

5. Če rdeča LED lučka zasveti in zelena LED lučka zasveti v Arduinu, je konfiguracija stopnje napajanja izdelka običajno dokončana.

9. korak: Vhodno/izhodni strojni vmesnik in preverjanje IZHODA (NeoPixel deluje)

Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delujoč NeoPixel)
Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delujoč NeoPixel)
Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delo NeoPixel)
Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delo NeoPixel)
Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delo NeoPixel)
Izdelava strojno -vhodno -izhodnih naprav in preverjanje izhoda (delo NeoPixel)

*Ta del je sestavljen iz senzorja in izhodne stopnje

1. Priključite senzorja Arduino in Hall. Podatkovni pin se poveže z Arduino pin 2.

2. Ko je Arduino vklopljen in je magnet v tesnem stiku s Hallovim senzorjem, zasveti rdeča LED.

3. Povežite Arduino in Neopixel. Uporablja se le 30 neopikslov.

4. Povežite podatkovni zatič z Arduino pin 6.

5. Priključite Arduino in prenesite kabel v USB vrata vašega računalnika in zaženite Arduino v računalniku.

6. V zgornji menijski vrstici programa Arduino izberite Orodje - "Arduino / Genuino Mega ali Mega 2560".

7. Preverite, ali obstaja seznam izdelkov, ki jih je mogoče neposredno povezati z vrati. Če ni označeno, kliknite, da ga izberete.

8. Prilepite spodnjo kodo in kliknite Naloži v zgornjem levem kotu. (Nato vsi prenosi programa sledijo korakom 5-8.)

9. Konfiguracija je končana, ko se vklopi vseh 30 neoliranih pik.

#1. vključno z datoteko glave in predhodno obdelavo

Najprej moramo prinesti knjižnico Adafruit_NeoPixel, ki lahko deluje kot neopikseli.

Knjižnico lahko uporabljate z razglasitvijo predmetov.

Razred Adafruit_NeoPixel lahko javno vnese 3 parametre.

Prvi parameter je število LED.

parameter seconds je številka pin, priključena na digitalni vhod Neopixel.

Tretji parameter je vnos možnosti glede na značilnosti izdelka. tribarvni izdelek WS2812b uporablja vnos 'NEO_GRB'

#vključi

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

#2. nastaviti

V nastavitvenem delu inicializirajte predmet in ga pripravite za uporabo.

'Adafruit_Neopixle_Object.begin ()' nastavi vse LED, da se izklopijo.

'Adafruit_Neopixle_Object.show ()' oddaja z nastavljeno svetlostjo v LED.

void setup () {

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

#3. glavna zanka

Dejanje glavne zanke uporablja zanko for za zaporedno oddajanje (0,1 sekunde) LED v beli barvi

void loop () {

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

10. korak: Sestavljanje in pritrditev na kolo

Sestavljanje in pritrditev na kolo
Sestavljanje in pritrditev na kolo
Sestavljanje in pritrditev na kolo
Sestavljanje in pritrditev na kolo

1. Povežite Neopixel. (Bodite pozorni na preverjanje številke pin)

2. Priključite Hallov senzor. (Glejte korak 9)

3. Okvir pritrdite na Arduino med kolesi. (Ohišje Arduino pritrdite vzporedno z okvirjem kolesa).

4. Vstavite Arduino, priključen na Neopixel. (Bodite previdni, ker je pištola za lepilo vroča).

5. Priključeni Hall senzor vstavite v Arduino, (pritrdite kabelsko vezico, da senzor Hall ne pade).

6. Spajkanje za priključitev baterije. (Pri spajkanju bodite previdni).

7. Popravite ga s pištolo za lepilo. (Polnilni modul pritrdite na baterijo, da zagotovite prostor).

8. Pred priključitvijo na Arduino priključite vsako vrstico, 9. Priključite v skladu s številko vsakega zatiča. (Povežite skakalne vrvice za polnilni modul, ne da bi jih zamenjali).

10. Enkrat zaključite s pištolo za lepilo (pazite, da ne padete).

11. korak: Preverjanje vhoda (podatki senzorja HALL)

Preverjanje vhoda (podatki senzorja HALL)
Preverjanje vhoda (podatki senzorja HALL)
Preverjanje vhoda (podatki senzorja HALL)
Preverjanje vhoda (podatki senzorja HALL)
Preverjanje vhoda (podatki senzorja HALL)
Preverjanje vhoda (podatki senzorja HALL)

*Preverite kodo programske opreme in preverite, ali senzor deluje.

1. Prilepite in naložite spodnjo kodo.

2. Kliknite gumb Serijski monitor v zgornjem desnem kotu Arduina.

3. Ko je magnet več kot 1 sekundo v stiku s Hallovim senzorjem, se konfiguracija zaključi, ko se na serijskem monitorju pojavi beseda »kontaktni magnetni«.

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Določite številko pin in nastavitev

Prva konfiguracijska številka pin, ki uporablja Hallov senzor in številko pin nastavi kot vrata samo za vhod.

Nastavite komunikacijo za preverjanje podatkov Hallovega senzorja na serijskem monitorju.

#define HALL 2

void setup () {pinMode (HALL, INPUT); Serial.begin (9600); }

#2. glavna zanka

V intervalih po 0,1 sekunde preverite podatke Hallovega senzorja.

Če magnet zaznamo in podatke spremenimo, se na kontaktni monitor prikaže "kontaktni magnet".

void loop () {

if (digitalRead (HALL)) {Serial.println ("magnetni kontakt"); } zamuda (100); }

12. korak: Algoritem kodiranja

*Ustvarite logiko in kodiranje za nadzor neopikslov na podlagi vrednosti senzorjev.

1. Prilepite in naložite spodnjo kodo.

2. Normalno je, da slika ni pravilno prikazana, ker ni okvirja. Vidite pa, da deluje približno.

3. Hitro se dotaknite in spustite Hall senzor in magnet v 1 sekundi. To operacijo ponovite približno 10 -krat.

4. Konfiguracija je končana, ko se barve neopikslov redno spreminjajo.

#1. Vključno z datotekami glave in predhodno obdelavo

Najprej moramo razumeti, da pomnilnik Arduino Mega ni dovolj velik za shranjevanje slikovne datoteke.

Zato se naslovna datoteka 'avr/pgmspace' uporablja za uporabo različnega pomnilniškega prostora.

Za uporabo neopikslov predmet in konfiguracijo označite kot številko vhodno -izhodnega zatiča.

Slika je prevelika za kodiranje, zato prenesite in prilepite priložene datoteke.

#vključi

#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // prilepi matriko v 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

#2. Globalna spremenljivka in nastavitev

Nastavite globalno spremenljivko.

Glavna stvar je nastaviti svetlost, ki določa življenjski cikel izdelka.

int count = 0;

dvojno v = 0; dvojni last_v = 0; dvojni časovnik = mikroskopi (); dvojni eks_timer = mikroskopi (); dvojni zadnji_timer = mikroskopi (); int deg = 36; int pix = 35; int rgb = 3; dvojni q_arr [2] = {0, 0}; int HALL_COUNT = 0; dvojni VELO; dvojni časovnik_obdelave = mikroskopi (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }

#3. glavna zanka - izhodni del izraza slike

Ta koda je pogojna izjava o tem, kako prikazati čas vrtenja kolesa z ločljivostjo.

Ta del uporablja cikel obračanja kolesa enkrat kot zelo pomemben parameter.

Pomembno je tudi branje podatkovnih nizov iz pomnilnika.

void loop () {

if ((count (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); if (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 (); } else if (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 (); } else if (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 (); } else if (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Barva (0, 0, 0)); } strip.show (); }

#4. glavna zanka - preverjanje in zaznavanje časa obdelave in cikla

To je najpomembnejši del celotnega sistema.

Najprej preverite čas, potreben za izvedbo celotne kode, in prilagodite čas izhoda LED na cikel.

Čas, zaznan vsakič, ko se kolo vrti, napoveduje čas naslednjega cikla.

Pospešek lahko ocenite tako, da od zadnjega izmerjenega časa cikla odštejete zadnji izmerjeni čas cikla.

Sistem izračuna čas obdelave in pospešek, da izračuna, kako dolgo LED svetijo neprekinjeno.

time_time = micros ();

if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - zadnji_čas; ex_timer = q_arr [0] - q_arr [1] + v; zadnji_timer = mikroskopi (); q_arr [0] = q_arr [1]; q_arr [1] = v; count = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}

Korak: Uporaba programske opreme

Uporaba programske opreme
Uporaba programske opreme
Uporaba programske opreme
Uporaba programske opreme
Uporaba programske opreme
Uporaba programske opreme

*S programsko opremo pretvorite sliko in v kodo vstavite podatke o procesiji

1. Vstavite sliko iz zgornjega koraka v mapo slik v mapi R. C. P, nameščeni v koraku priprave.

- Kako postaviti sliko, je naslednje.- Preimenujte 4 animirane slike izdelka # 1 v vrstnem redu 1.png, 2.png, 3-p.webp

2. Zaženite datoteko Ver.5.exe.

3. Preverite, ali je v mapi R. C. P ustvarjenih 12 datotek pro_1_code_1.txt v pro_3_code_4.txt.

4. Če ni ustvarjen, spremenite vsebino config.txt kot naslednjo konfiguracijsko datoteko.

5. Ko je datoteka ustvarjena, kopirajte celotno vsebino iz datoteke pro_1_code_1.txt in jo prilepite v del, prikazan v spodnji kodi.

6. Dodajte vsebino pro_1_code_2.txt, pro_1_code_3.txt in pro_1_code_4.txt v označeni del v 5. vrstnem redu.

7. Glede na 5 in 6 koda pro_2_code…, pro_3_code dokonča kodo na enak način.

Korak 14: Dokončajte

Popolno
Popolno
Popolno
Popolno
Popolno
Popolno

Dokončana je proizvodnja POV, ki ustvari eno podobo s tremi kolesi.

Priporočena: