Sadržaj:

Digilog_Bike POV prikaz: 14 koraka
Digilog_Bike POV prikaz: 14 koraka

Video: Digilog_Bike POV prikaz: 14 koraka

Video: Digilog_Bike POV prikaz: 14 koraka
Video: #девушка #месячные #прикол #смешно #смешноевидео #смех #приколы #девушки #весело 2024, Juli
Anonim
Image
Image

Digilog

Digitalni + analogni

Digitalno i analogno

POV

Vizuelna postojanost

Poznat i kao prikaz naknadne slike, ako se protrese velikom brzinom, slika ostaje.

Ljudi misle da gledaju video kad gledaju televiziju. Ali u stvari gleda nekoliko uzastopnih slika. Ovo 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: Koncept ideje

Ideja Concept
Ideja Concept

POV se implementira pričvršćivanjem LED trake na kotač bicikla.

Korak 2: Lista materijala

Lista materijala
Lista materijala
Lista materijala
Lista materijala

Računanje i I/O

1. Arduino Mega 2560 [arduino] x3

2. Modul Hall senzora V2 [YwRobot] x3

3. WS2812-5050 Fleksibilni neopiksel [Adafruit] x3

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

5. Arduino Mega futrola x3

Električni vod

5. 5000mAh/3.7V litijumska 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. Mašina 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 osnove

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. Zato što se činilo da je zmajev val 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 da odgovara vašoj verziji OS -a i sistemu.)

-

Pododjeljak 2. Instalirajte biblioteku

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

1. Pokrenite Arduino program

2. Dozvolite vezu Gornji meni - skica - uključi biblioteku - dodaj.zip biblioteku

3. Trebali biste izabrati. Zip datoteku u kojoj je već instalirana github biblioteka4

*(Ako želite koristiti programske usluge Arduino)

1. Pokrenite Arduino programe

2. Dozvolite vezu Gornji meni - skica - uključi biblioteku - biblioteka za upravljanje - pretražujući „Adafruit neopixel“- možete vidjeti „Adafruit Neopixel by Adafruit“

3. Instalirajte i ažurirajte biblioteku

-

Pododjeljak 3. Instalirajte program pretvarača

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

2. Morate pročitati README datoteku

Korak 8: Uključivanje hardverskog napajanja

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 donje korake.

1. Povežite litijumsku bateriju i JBATT modul za punjenje. (Za referencu, JBATT modul ima ugrađeni prekidač za napajanje.)

2. Spojite izlazni terminal JBATT -a na Vin terminal Arduina 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)

Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)
Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)
Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)
Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)
Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)
Pravljenje hardverskih I/O i provjeravanje izlaza (NeoPixel radi)

*Ovaj dio se sastoji od senzora i izlaznog stupnja

1. Spojite Arduino i Hall senzore. Pin za podatke se povezuje sa Arduino pin 2.

2. Kada se Arduino uključi i magnet je u bliskom kontaktu sa Hall senzorom, crvena LED lampica će zasvijetliti.

3. Povežite Arduino i Neopixel. Koristi se samo 30 neopiksela.

4. Spojite podatkovni pin sa Arduino pin 6.

5. Spojite Arduino i preuzmite kabel na USB priključak računara i pokrenite Arduino na svom računaru.

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

7. Provjerite postoji li lista proizvoda koji se mogu direktno povezati s priključkom. Ako nije označeno, kliknite da biste ga odabrali.

8. Zalijepite donji kôd i kliknite Otpremi u gornjem lijevom kutu. (Nakon toga, svi otpremljeni programi slijede korake 5-8.)

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

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

Prvo moramo donijeti biblioteku Adafruit_NeoPixel koja može djelovati neopiksele.

Biblioteka se može koristiti deklarisanjem objekata.

Klasa Adafruit_NeoPixel može javno unijeti 3 parametra.

Prvi parametar je broj LED dioda.

Parametar seconds je pin broj povezan s Neopixel digitalnim ulazom.

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

#include

#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 gašenje.

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

void setup () {

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

#3. glavna petlja

Radnja glavne petlje koristi for petlju 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: Sklapanje i pričvršćivanje na točak

Sklapanje i pričvršćivanje na točak
Sklapanje i pričvršćivanje na točak
Sklapanje i pričvršćivanje na točak
Sklapanje i pričvršćivanje na točak

1. Povežite Neopiksele. (Obratite pažnju na provjeru broja pina)

2. Povežite Hall senzor. (Pogledajte korak 9)

3. Pričvrstite okvir na Arduino između bicikala. (Pričvrstite Arduino kućište 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. Lemljenje za povezivanje 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 svaku liniju prije povezivanja na Arduino, 9. Priključite prema svakom broju pina. (Povežite 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 -a)
Provjera ULAZA (Podaci senzora HALL -a)
Provjera ULAZA (Podaci senzora HALL -a)
Provjera ULAZA (Podaci senzora HALL -a)
Provjera ULAZA (Podaci senzora HALL -a)
Provjera ULAZA (Podaci senzora HALL -a)

*Provjerite programski kod da vidite da li senzor radi.

1. Zalijepite i učitajte donji kod.

2. Kliknite 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.

#define HALL 2

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

#2. glavna petlja

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

Ako se magnet osjet i podaci se promijene, "kontaktni magnet" se šalje na serijski monitor.

void loop () {{100} {101}

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

Korak 12: Algoritam kodiranja

*Kreirajte logiku i kodiranje za kontrolu neopiksela na osnovu vrijednosti senzora.

1. Zalijepite i učitajte 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 završena kada se boje neopiksela redovno mijenjaju.

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

Prvo, moramo shvatiti da memorija Arduino Mega nije dovoljno velika da može pohraniti datoteku slike.

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

Da biste koristili Neopiksele, objekat i konfiguraciju deklarirate kao I/O pin broj.

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

#include

#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 vijek proizvoda.

int broj = 0;

dvostruki v = 0; dvostruki last_v = 0; dvostruki tajmer = mikro ((); dvostruki ex_timer = micros (); 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 prikazati vrijeme okretanja kotača rezolucijom.

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

Također je važno čitati podatke iz niza slika iz memorije.

void loop () {{100} {101}

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 [broj] [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 [broj] [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 sensing obrade i ciklusa

Ovo je najvažniji dio cijelog sistema.

Prvo provjerite vrijeme potrebno za izvršavanje cijelog koda i podesite LED izlazno vrijeme po ciklusu.

Vreme osetljivo pri svakom okretanju točka predviđa vreme sledećeg ciklusa.

Ubrzanje se može procijeniti oduzimanjem posljednjeg izmjerenog vremena ciklusa od mjerenog vremena ciklusa na vrijeme.

Sistem 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 () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; last_timer = micros (); 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šćenje softvera
Korišćenje softvera
Korišćenje softvera
Korišćenje softvera
Korišćenje softvera
Korišćenje softvera

*Koristite softver za pretvaranje slike i unos podataka o procesiji u kôd

1. Umetnite sliku iz gornjeg koraka u fasciklu sa slikama u fascikli R. C. P instaliranoj 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 fascikli R. C. P.

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

5. Kada se datoteka kreira, 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čuje se: