Obsah:

Digilog_Bike POV Displej: 14 krokov
Digilog_Bike POV Displej: 14 krokov

Video: Digilog_Bike POV Displej: 14 krokov

Video: Digilog_Bike POV Displej: 14 krokov
Video: Девушка разбила мой компьютер🤬 я отомстил и сломал ей ноутбук🤯 2024, November
Anonim
Image
Image

Digilog

Digitálny + analógový

Digitálne sa stretáva s analógovým

POV

Perzistencia zraku

Tiež je známy ako zobrazenie afterimage, ak ním zatrasiete vysokou rýchlosťou, zostane obraz.

Ľudia si myslia, že pozerajú video, keď sledujú televíziu. Ale v skutočnosti si pozerá niekoľko po sebe idúcich obrázkov. Toto je omylom považované za obrázok z dôvodu účinku pozostatkových obrazov, ktoré zostávajú na našich sietniciach pri prezeraní po sebe idúcich obrázkov. Tento druh ilúzie sa nazýva POV.

Krok 1: Idea konceptu

Idea konceptu
Idea konceptu

POV sa implementuje pripevnením remienka LED k kolesu bicykla.

Krok 2: Zoznam materiálov

Zoznam materiálov
Zoznam materiálov
Zoznam materiálov
Zoznam materiálov

Výpočty a I/O

1. Arduino Mega 2560 [arduino] x3

2. Hallov senzorový modul V2 [YwRobot] x3

3. WS2812-5050 Flexibilný neopixel [Adafruit] x3

4. Magnetické (priemer 15 mm, hrúbka 50 mm) x3

5. Arduino Mega Case x3

Elektrické vedenie

5. Lítiová batéria 5000 mAh/3,7 V [TheHan] x3

6. AVR 5V regulátor a nabíjací modul & modul PCM: JBATT-U5-LC [Jcnet] x3

7. 4 Súprava prepojovacieho drôtu 65 KS/SADA [OR0012] x3

Krok 3: Nástroje

Nástroje
Nástroje

Nie je potrebných príliš veľa nástrojov, budete však potrebovať:

1. Spájkovačka

2. Spájkovačka

3. Lepiaca pištoľ

4. Kliešť

Krok 4: Vytvorenie rámu

Image
Image
Vytváranie rámov
Vytváranie rámov

Rezanie bicykla a pripevnenie základne

Brúska slúžila na odrezanie kolies bicykla z bicykla a zvárané oceľové plechy na zaistenie kolies.

Krok 5: Načrtnutie konečných obrázkov a konceptov

Náčrt konečných obrázkov a konceptov
Náčrt konečných obrázkov a konceptov
Náčrt konečných obrázkov a konceptov
Náčrt konečných obrázkov a konceptov
Náčrt konečných obrázkov a konceptov
Náčrt konečných obrázkov a konceptov

Ako konečný obrázok sme vybrali draka. Pretože vlna draka sa zdala byť najlepšie reprezentovaná efektom afterimage.

Krok 6: Vykonajte strih pohyblivého obrázku

Vykonajte strih pohyblivého obrázku
Vykonajte strih pohyblivého obrázku
Vykonajte strih pohyblivého obrázku
Vykonajte strih pohyblivého obrázku

Rozdeľte obrázok na tri časti, ktoré sa zmestia na každý bicykel, a rozdeľte celkom 12 obrázkov podľa farby a pohybu.

Krok 7: Príprava softvéru

Príprava softvéru
Príprava softvéru
Príprava softvéru
Príprava softvéru

Podčasť 1. Nainštalujte Arduino

Stiahnuť Arduino:

(Nainštalujte ho tak, aby vyhovoval verzii a systému vášho operačného systému.)

-

Podčasť 2. Inštalácia knižnice

*(Ak by ste chceli nainštalovať prostredníctvom Githubu, navštívte odkaz vyššie nad knižnicou Github Arduino:

1. Spustite program Arduino

2. Povoliť odkaz Horné menu - skica - zahrnúť knižnicu - pridať. Zip knižnicu

3. Mali by ste zvoliť súbor. Zip, v ktorom je už nainštalovaná knižnica github4

*(Ak chcete používať programové služby Arduino)

1. Spustite programy Arduino

2. Povoliť odkaz Horné menu - skica - zahrnúť knižnicu - knižnicu manažmentu - hľadanie „Adafruit neopixel“- môžete vidieť „Adafruit Neopixel od spoločnosti Adafruit“

3. Nainštalujte a aktualizujte knižnicu

-

Podčasť 3. Nainštalujte program pre prevodník

1. Nainštalujte si program Rotation Circle (R. C. P):

2. Potrebujete prečítať súbor README

Krok 8: Výroba hardvérového napájacieho zdroja

Výroba hardvérového napájacieho zdroja
Výroba hardvérového napájacieho zdroja
Výroba hardvérového napájacieho zdroja
Výroba hardvérového napájacieho zdroja
Výroba hardvérového napájacieho zdroja
Výroba hardvérového napájacieho zdroja

*Takto je možné dodávať napätie Arduino 5 V cez batériu. Postupujte podľa nižšie uvedených krokov.

1. Pripojte lítiovú batériu a nabíjací modul JBATT. (Pre informáciu, modul JBATT má vstavaný vypínač.)

2. Pripojte výstupný terminál JBATT k terminálu Vin Arduina a uzemňovaciemu terminálu.

3. Pripojte Micro 5pin USB port k nabíjaciemu portu a skontrolujte, či produkt správne funguje.

4. Potom prepnite vstavaný prepínač do polohy ON.

5. Ak sa v Arduine rozsvieti červená a zelená dióda, konfigurácia výkonového stupňa produktu je normálna.

Krok 9: Vytvorenie I/O hardvéru a kontrola VÝSTUPU (funkčný NeoPixel)

Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)
Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)
Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)
Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)
Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)
Výroba hardvérových vstupov a výstupov a kontrola VÝSTUPU (funkčný NeoPixel)

*Táto časť pozostáva zo snímača a výstupného stupňa

1. Pripojte snímače Arduino a Hall. Dátový pin sa pripája k pinu Arduino 2.

2. Keď je Arduino zapnuté a magnet je v tesnom kontakte s Hallovým senzorom, rozsvieti sa červená dióda.

3. Pripojte Arduino a Neopixel. Použitých je iba 30 Neopixelov.

4. Pripojte dátový pin k pinu Arduino 6.

5. Pripojte kábel Arduino a kábel na stiahnutie k USB portu počítača a spustite Arduino na počítači.

6. Vyberte nástroj - doska - „Arduino / Genuino Mega alebo Mega 2560“z horného pruhu ponuky programu Arduino.

7. Skontrolujte, či existuje zoznam produktov, ktoré je možné priamo pripojiť k portu. Ak nie je začiarknuté, vyberte ho kliknutím.

8. Vložte kód nižšie a vľavo hore kliknite na položku Nahrať. (Potom všetky nahrávania programu postupujte podľa krokov 5-8.)

9. Konfigurácia je dokončená, keď sa zapne všetkých 30 neoledských pixelov.

#1. vrátane hlavičkového súboru a predbežného spracovania

Najprv musíme priniesť knižnicu Adafruit_NeoPixel, ktorá je schopná pôsobiť neopixelov.

Knižnicu je možné použiť na deklarovanie objektov.

Trieda Adafruit_NeoPixel môže na verejnosti zadávať 3 parametre.

Prvým parametrom je počet LED diód.

sekundový parameter je číslo kolíka pripojeného k digitálnemu vstupu Neopixel.

Tretím parametrom je zadanie možností podľa charakteristík produktu. trojfarebný výrobok WS2812b používa vstup „NEO_GRB“

#zahrnúť

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

#2. nastaviť

V časti nastavenia inicializujte objekt a pripravte ho na použitie.

„Adafruit_Neopixle_Object.begin ()“vypne všetky LED diódy.

Výstup „Adafruit_Neopixle_Object.show ()“s jasom nastaveným v LED dióde.

neplatné nastavenie () {

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

#3. hlavná slučka

Činnosť hlavnej slučky používa slučku for na postupné vyvedenie (0,1 s) LED diód v bielej farbe

prázdna slučka () {

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

Krok 10: Zostavenie a pripevnenie k kolesu

Zostavenie a pripevnenie k kolesu
Zostavenie a pripevnenie k kolesu
Zostavenie a pripevnenie k kolesu
Zostavenie a pripevnenie k kolesu

1. Pripojte Neopixely. (Venujte pozornosť kontrole čísla PINu)

2. Pripojte Hallov snímač. (Pozri krok.9)

3. Medzi bicykle pripevnite rám k Arduinu. (Puzdro Arduino pripevnite rovnobežne s rámom bicykla).

4. Vložte Arduino pripojené k Neopixelu. (Buďte opatrní, pretože lepiaca pištoľ je horúca).

5. Pripojte pripojený Hallov senzor do Arduina ((zaistite káblovú svorku tak, aby Hallov senzor nespadol)).

6. Spájka na pripojenie batérie. (Pri spájkovaní buďte opatrní).

7. Opravte ho lepiacou pištoľou. (Na bezpečné miesto pripevnite nabíjací modul k batérii).

8. Pred pripojením k Arduinu zapojte každý riadok, 9. Pripojte podľa každého čísla pinu. (Pripojte prepojovacie mostíky pre nabíjací modul bez toho, aby ste ich zamieňali).

10. Dokončite raz lepiacou pištoľou, (dávajte pozor, aby ste nespadli).

Krok 11: Kontrola VSTUPU (údaje senzora HALL)

Kontrola INPUT (údaje senzora HALL)
Kontrola INPUT (údaje senzora HALL)
Kontrola INPUT (údaje senzora HALL)
Kontrola INPUT (údaje senzora HALL)
Kontrola INPUT (údaje senzora HALL)
Kontrola INPUT (údaje senzora HALL)

*Skontrolujte softvérový kód a zistite, či senzor funguje.

1. Prilepte a nahrajte nižšie uvedený kód.

2. Kliknite na tlačidlo Sériový monitor v pravom hornom rohu Arduina.

3. Keď je magnet v kontakte s Hallovým senzorom dlhšie ako 1 sekundu, konfigurácia je dokončená, keď sa na sériovom monitore zobrazí slovo „kontaktný magnet“.

---------------------------------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- #1. Definujte číslo PIN a nastavenie

Prvé konfiguračné číslo PIN, ktoré používalo Hallov senzor a nastavilo číslo PINu ako vstupný port.

Nastavte komunikáciu tak, aby kontrolovala údaje Hallovho senzora na sériovom monitore.

#define HALA 2

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

#2. hlavná slučka

Údaje Hallovho senzora kontrolujte v intervaloch 0,1 sekundy.

Ak je magnet snímaný a údaje sú zmenené, na sériový monitor sa vyvedie „kontaktný magnet“.

prázdna slučka () {

if (digitalRead (HALL)) {Serial.println ("contact magnetic"); } oneskorenie (100); }

Krok 12: Kódovací algoritmus

*Vytvorte logiku a kódovanie na ovládanie neopixelov na základe hodnôt senzorov.

1. Prilepte a nahrajte nižšie uvedený kód.

2. Je normálne, že sa obrázok nezobrazuje správne, pretože sa nevytvára žiadny rámček. Ale vidíte, že to funguje zhruba.

3. Do 1 sekundy sa rýchlo dotknite a uvoľnite Hallov senzor a magnet. Túto operáciu zopakujte asi 10 -krát.

4. Konfigurácia je dokončená, keď sa farby Neopixelov pravidelne menia.

#1. Vrátane hlavičkových súborov a predbežného spracovania

Najprv musíme pochopiť, že pamäť Arduino Mega nie je dostatočne veľká na uloženie súboru s obrázkom.

Hlavičkový súbor „avr/pgmspace“sa preto používa na využitie iného pamäťového priestoru.

Ak chcete používať Neopixely, deklarujete objekt a konfiguráciu číslo PIN I/O.

Pole obrázkov je na kódovanie príliš veľké, preto si stiahnite a prilepte priložené súbory.

#zahrnúť

#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // vložte pole do súboru 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

#2. Globálna premenná a nastavenie

Nastavte globálnu premennú.

Hlavnou vecou je nastaviť jas, ktorý určuje životný cyklus produktu.

počet int = 0;

dvojnásobok v = 0; zdvojnásobiť last_v = 0; dvojitý časovač = mikro (); double ex_timer = micros (); double last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; double q_arr [2] = {0, 0}; int HALL_COUNT = 0; dvojité VELO; double processing_timer = micros (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }

#3. hlavná slučka - výstupná časť obrazového výrazu

Tento kód je podmienečným vyhlásením o tom, ako na základe rozlíšenia uviesť čas, ktorý sa koleso točí.

Táto časť používa cyklus otáčania kolesa bicykla raz ako veľmi dôležitý parameter.

Je tiež dôležité načítať údaje poľa obrázkov z pamäte.

prázdna slučka () {

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. Color (0, 0, 0)); } strip.show (); }

#4. hlavná slučka - kontrola a snímanie času spracovania a cyklu

Toto je najdôležitejšia časť celého systému.

Najprv skontrolujte čas potrebný na spustenie celého kódu a upravte čas výstupu LED na cyklus.

Čas zaznamenaný pri každom pretočení kolesa predpovedá čas nasledujúceho cyklu.

Zrýchlenie možno odhadnúť odčítaním času posledného nameraného cyklu od času nameraného cyklu v čase.

Systém vypočíta čas spracovania a zrýchlenie, aby vypočítal, ako dlho sa LED diódy nepretržite zapínajú.

processing_timer = mikro ();

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; počet = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}

Krok 13: Používanie softvéru

Používanie softvéru
Používanie softvéru
Používanie softvéru
Používanie softvéru
Používanie softvéru
Používanie softvéru

*Na transformáciu obrázku a vloženie procesných údajov do kódu použite softvér

1. Vložte obrázok z vyššie uvedeného kroku do priečinka s obrázkami v priečinku R. C. P nainštalovanom v kroku prípravy.

- Ako vložiť obrázok je nasledujúci.- Premenujte 4 animované obrázky produktu č. 1 v poradí 1.png, 2.png, 3-p.webp

2. Spustite súbor Ver.5.exe.

3. Overte, či je v priečinku R. C. P vytvorených 12 súborov pro_1_code_1.txt až pro_3_code_4.txt.

4. Ak nie je vytvorený, zmeňte obsah súboru config.txt ako nasledujúci konfiguračný súbor.

5. Po vytvorení súboru skopírujte celý obsah zo súboru pro_1_code_1.txt a vložte ho do časti uvedenej v kóde nižšie.

6. Pridajte obsah pro_1_code_2.txt, pro_1_code_3.txt a pro_1_code_4.txt do označenej časti v 5. poradí.

7. S odkazom na 5 a 6 kód pro_2_code…, pro_3_code doplní kód rovnakým spôsobom.

Krok 14: Dokončite

Dokončené
Dokončené
Dokončené
Dokončené
Dokončené
Dokončené

Dokončila sa výroba POV, ktorý vytvára jeden obrázok s tromi kolesami.

Odporúča: