Sadržaj:

Digilog_Bike POV zaslon: 14 koraka
Digilog_Bike POV zaslon: 14 koraka

Video: Digilog_Bike POV zaslon: 14 koraka

Video: Digilog_Bike POV zaslon: 14 koraka
Video: Пожар на пр А. Поля 64 г. Днепр. Эвакуация людей по авто лестнице 14 05 2020 #tarasenko 2024, Srpanj
Anonim
Image
Image

Digilog

Digitalni + analogni

Digitalno se susreće s analognim

POV

Vizualna postojanost

Također poznat kao prikaz naknadne slike, ako se protrese velikom brzinom, slika ostaje.

Ljudi misle da gledaju video kad gledaju televiziju. No, zapravo gleda nekoliko uzastopnih slika. To se pogrešno smatra slikom zbog učinka zaostalih slika koje ostaju na našim mrežnicama pri gledanju uzastopnih slika. Ova vrsta iluzije naziva se POV.

Korak 1: Idejni koncept

Idejni koncept
Idejni koncept

POV se provodi pričvršćivanjem LED remena na kotač bicikla.

Korak 2: Popis materijala

Popis materijala
Popis materijala
Popis materijala
Popis materijala

Računanje i I/O

1. Arduino Mega 2560 [arduino] x3

2. Hollov senzorski modul V2 [YwRobot] x3

3. WS2812-5050 Fleksibilni neopiksel [Adafruit] x3

4. Magnetski (promjera 15 mm, debljine 50 mm) x3

5. Arduino Mega futrola x3

Dalekovod

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

6. AVR 5V regulator i modul za punjenje i PCM: JBATT-U5-LC [Jcnet] x3

7. 4Komper žica komplet 65PCS/SET [OR0012] x3

Korak 3: Alati

Alati
Alati

Nije potrebno previše alata, ali trebat će vam:

1. Stroj za lemljenje

2. Lemilica

3. Pištolj za ljepilo

4. Štipaljka

Korak 4: Izrada okvira

Image
Image
Izrada okvira
Izrada okvira

Rezanje bicikla i pričvršćivanje baze

Brusilica je korištena za rezanje biciklističkih kotača s bicikla i zavarene čelične ploče za pričvršćivanje kotača.

Korak 5: Skiciranje konačnih slika i koncepata

Skiciranje konačnih slika i koncepata
Skiciranje konačnih slika i koncepata
Skiciranje konačnih slika i koncepata
Skiciranje konačnih slika i koncepata
Skiciranje konačnih slika i koncepata
Skiciranje konačnih slika i koncepata

Za konačnu sliku odabrali smo zmaja. Budući da se činilo da je val zmaja najbolje predstavljen efektom slike.

Korak 6: Izrežite pokretnu sliku

Izrežite pokretnu sliku
Izrežite pokretnu sliku
Izrežite pokretnu sliku
Izrežite pokretnu sliku

Podijelite sliku na tri dijela koji će stati na svaki bicikl i podijelite ukupno 12 slika po boji i pokretu.

Korak 7: Priprema softvera

Priprema softvera
Priprema softvera
Priprema softvera
Priprema softvera

Pododjeljak 1. Instalirajte Arduino

Arduino preuzimanje:

(Instalirajte tako da odgovara vašoj verziji OS -a i sustavu.)

-

Pododjeljak 2. Instalirajte knjižnicu

*(Ako želite instalirati putem Githuba, posjetite gornju vezu Github Arduino knjižnica:

1. Pokrenite Arduino program

2. Dopustite vezu Glavni izbornik - skica - uključi biblioteku - dodajte.zip knjižnicu

3. Trebali biste odabrati. Zip datoteku u kojoj je već instalirana github knjižnica4

*(Ako želite koristiti programske usluge Arduino)

1. Pokrenite Arduino programe

2. Dopustite vezu Gornji izbornik - skica - uključi biblioteku - knjižnica za upravljanje - pretraga "Adafruit neopixel" - možete vidjeti "Adafruit Neopixel by Adafruit"

3. Instalirajte i ažurirajte knjižnicu

-

Pododjeljak 3. Instalirajte program pretvarača

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

2. Morate pročitati datoteku README

Korak 8: Napravite hardversko napajanje

Izrada hardverskog napajanja
Izrada hardverskog napajanja
Izrada hardverskog napajanja
Izrada hardverskog napajanja
Izrada hardverskog napajanja
Izrada hardverskog napajanja

*Ovako se napaja Arduino 5V napon kroz bateriju. Slijedite korake u nastavku.

1. Spojite litijevu bateriju i JBATT modul za punjenje. (Za referencu, JBATT modul ima ugrađeni prekidač za napajanje.)

2. Spojite izlazni terminal JBATT -a na terminal Vin na Arduinu i uzemljenje.

3. Spojite Micro 5pin USB priključak na priključak za punjenje kako biste provjerili radi li proizvod ispravno.

4. Zatim uključite ugrađeni prekidač na ON.

5. Ako crvena LED lampica zasvijetli, a zelena LED dioda zasvijetli u Arduinu, konfiguracija stupnja napajanja proizvoda će se normalno dovršiti.

Korak 9: Uvođenje I/O hardvera i provjera izlaza (NeoPixel radi)

Izrada hardverskih I/O i provjera izlaznih podataka (NeoPixel radi)
Izrada hardverskih I/O i provjera izlaznih podataka (NeoPixel radi)
Izrada hardverskih I/O i provjera izlaznih podataka (NeoPixel radi)
Izrada hardverskih I/O i provjera izlaznih podataka (NeoPixel radi)
Izrada hardverskih I/O i provjera izlaza (NeoPixel radi)
Izrada hardverskih I/O i provjera izlaza (NeoPixel radi)

*Ovaj dio se sastoji od senzora i izlaznog stupnja

1. Spojite Arduino i Hall senzore. Podatkovni pin se spaja na Arduino pin 2.

2. Kad se Arduino uključi i magnet je u bliskom kontaktu s Hall -ovim senzorom, crvena LED lampica će zasvijetliti.

3. Spojite Arduino i Neopixel. Koristi se samo 30 neopiksela.

4. Spojite podatkovni pin s Arduino pin 6.

5. Spojite Arduino i kabel za preuzimanje na USB priključak vašeg računala i pokrenite Arduino na svom računalu.

6. Odaberite Alatna ploča - „Arduino / Genuino Mega ili Mega 2560“s gornje trake izbornika programa Arduino.

7. Provjerite postoji li popis proizvoda koji se mogu izravno povezati s priključkom. Ako nije označeno, kliknite za odabir.

8. Zalijepite donji kôd i kliknite Upload u gornjem lijevom kutu. (Nakon toga, svi prijenosi programa slijede korake 5-8.)

9. Konfiguracija je dovršena kada se uključi svih 30 neool piksela.

#1. uključujući datoteku zaglavlja i prethodnu obradu

Prvo moramo donijeti knjižnicu Adafruit_NeoPixel koja može djelovati neopiksele.

Knjižnica se može koristiti deklariranjem objekata.

Klasa Adafruit_NeoPixel može javno unijeti 3 parametra.

Prvi parametar je broj LED dioda.

parametar seconds je pin broj spojen na Neopixel digitalni ulaz.

Treći parametar je unos opcija prema karakteristikama proizvoda. trobojni proizvod WS2812b koristi ulaz 'NEO_GRB'

#uključi

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

#2. postaviti

U dijelu za postavljanje inicijalizirajte objekt i pripremite ga za upotrebu.

'Adafruit_Neopixle_Object.begin ()' postavlja sve LED diode na isključivanje.

'Adafruit_Neopixle_Object.show ()' emitira sa svjetlinom postavljenom u LED -u.

void setup () {

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

#3. glavna petlja

Djelovanje glavne petlje koristi petlju for za sekvencijalno ispisivanje (0,1 sekundi) LED dioda u bijeloj boji

void loop () {{100} {101}

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

Korak 10: Sastavljanje i pričvršćivanje na kotač

Sastavljanje i pričvršćivanje na kotač
Sastavljanje i pričvršćivanje na kotač
Sastavljanje i pričvršćivanje na kotač
Sastavljanje i pričvršćivanje na kotač

1. Spojite Neopiksele. (Obratite pažnju na provjeru broja PIN -a)

2. Spojite Hall senzor. (Pogledajte korak 9)

3. Pričvrstite okvir na Arduino između bicikala. (Arduino kućište pričvrstite paralelno s okvirom bicikla).

4. Umetnite Arduino spojen na Neopixel. (Budite oprezni jer je pištolj za ljepilo vruć).

5. Umetnite povezani Hall senzor u Arduino, (Osigurajte kabelsku vezicu tako da Hall senzor ne padne).

6. Lemiti za spajanje baterije. (Budite oprezni pri lemljenju).

7. Popravite ga pištoljem za ljepilo. (Pričvrstite modul za punjenje na bateriju kako biste osigurali prostor).

8. Uključite svaki redak prije spajanja na Arduino, 9. Priključite prema svakom broju pina. (Spojite linije za preskakanje za modul za punjenje bez zbunjivanja).

10. Jednom završite pištoljem za ljepilo (Pazite da ne padnete).

Korak 11: Provjera ULAZA (Podaci senzora HALL)

Provjera ULAZA (Podaci senzora HALL)
Provjera ULAZA (Podaci senzora HALL)
Provjera ULAZA (Podaci senzora HALL)
Provjera ULAZA (Podaci senzora HALL)
Provjera ULAZA (Podaci senzora HALL)
Provjera ULAZA (Podaci senzora HALL)

*Provjerite programski kod kako biste provjerili radi li senzor.

1. Zalijepite i prenesite donji kod.

2. Pritisnite gumb Serijski monitor u gornjem desnom kutu Arduina.

3. Kad je magnet u dodiru s Hall -ovim senzorom dulje od 1 sekunde, konfiguracija se dovršava kada se na serijskom monitoru pojavi riječ "kontaktni magnet".

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Definirajte pin broj i postavljanje

Prvi broj pin-a za konfiguraciju koji koristi Hall senzor i postavlja pin kao port samo za ulaz.

Postavite komunikaciju za provjeru podataka Hall senzora na serijskom monitoru.

#definiraj DVORANU 2

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

#2. glavna petlja

Provjerite podatke Hall senzora u intervalima od 0,1 sekunde.

Ako je magnet osjetljiv i podaci se mijenjaju, "magnetski kontakt" se šalje na serijski monitor.

void loop () {{100} {101}

if (digitalRead (HALL)) {Serial.println ("magnetski kontakt"); } kašnjenje (100); }

Korak 12: Algoritam kodiranja

*Stvorite logiku i kodiranje za kontrolu neopiksela na temelju vrijednosti senzora.

1. Zalijepite i prenesite donji kod.

2. Normalno je da se slika ne prikazuje pravilno jer se ne stvara okvir. Ali možete vidjeti da radi otprilike.

3. Brzo dodirnite i otpustite Hall senzor i magnet u roku od 1 sekunde. Ponovite ovu operaciju oko 10 puta.

4. Konfiguracija je dovršena kada se boje neopiksela redovito mijenjaju.

#1. Uključujući datoteke zaglavlja i prethodnu obradu

Prvo, moramo shvatiti da memorija Arduino Mega nije dovoljno velika za pohranu slikovne datoteke.

Stoga se datoteka zaglavlja 'avr/pgmspace' koristi za korištenje različitog memorijskog prostora.

Za korištenje Neopixela deklarirate objekt i konfiguraciju I/O pin broja.

Niz slika je prevelik za kodiranje, pa preuzmite i zalijepite priložene datoteke.

#uključi

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

#2. Globalna varijabla i postavljanje

Postavite globalnu varijablu.

Glavna stvar je postaviti svjetlinu, ona određuje životni ciklus proizvoda.

int broj = 0;

dvostruki v = 0; dvostruki last_v = 0; dvostruki mjerač vremena = mikros (); dvostruki eks_timer = mikros (); dvostruki last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; dvostruki q_arr [2] = {0, 0}; int HALL_COUNT = 0; dvostruki VELO; dvostruki tajmer obrade = mikros (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }

#3. glavna petlja - izlazni dio izraza slike

Ovaj kôd je uvjetna izjava o tome kako ispisati vrijeme okretanja kotača rezolucijom.

Ovaj dio koristi ciklus okretanja biciklističkog kotača jednom kao vrlo važan parametar.

Također, važno je čitati podatke o nizu slika iz memorije.

void loop () {{100} {101}

if ((count (ex_timer / 120.0) - (micros () - timer processing))) {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. Boja (0, 0, 0)); } strip.show (); }

#4. glavna petlja - provjera i osjetljivost obrade i ciklusa

Ovo je najvažniji dio cijelog sustava.

Prvo provjerite vrijeme potrebno za izvršavanje cijelog koda i prilagodite vrijeme LED izlaza po ciklusu.

Vrijeme osjetljivo pri svakom okretanju kotača predviđa vrijeme sljedećeg ciklusa.

Ubrzanje se može procijeniti oduzimanjem posljednjeg izmjerenog vremena ciklusa od vremena mjerenja uključenog na vrijeme.

Sustav izračunava vrijeme obrade i ubrzanje kako bi izračunao koliko dugo se LED diode neprestano uključuju.

timer obrade = mikros ();

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

Korak 13: Korištenje softvera

Korištenje softvera
Korištenje softvera
Korištenje softvera
Korištenje softvera
Korištenje softvera
Korištenje softvera

*Pomoću softvera pretvorite sliku i umetnite podatke o procesiji u kôd

1. Umetnite sliku iz gornjeg koraka u mapu slika u mapi R. C. P instaliranu u koraku pripreme.

- Kako postaviti sliku je kako slijedi.- Preimenujte 4 animirane slike proizvoda # 1 po redoslijedu 1.png, 2.png, 3-p.webp

2. Pokrenite datoteku Ver.5.exe.

3. Provjerite je li 12 datoteka pro_1_code_1.txt do pro_3_code_4.txt stvoreno u mapi R. C. P.

4. Ako nije kreiran, promijenite sadržaj config.txt kao sljedeću konfiguracijsku datoteku.

5. Nakon što je datoteka stvorena, kopirajte cijeli sadržaj iz datoteke pro_1_code_1.txt i zalijepite je u dio prikazan u donjem kodu.

6. Dodajte sadržaje pro_1_code_2.txt, pro_1_code_3.txt i pro_1_code_4.txt u označeni dio u 5. redu.

7. Pozivajući se na 5 i 6, pro_2_code…, pro_3_code dovršava kôd na isti način.

Korak 14: Dovršite

Potpuno
Potpuno
Potpuno
Potpuno
Potpuno
Potpuno

Završena proizvodnja POV -a koji stvara jednu sliku s tri kotača.

Preporučeni: