Obsah:

Displej Digilog_Bike POV: 14 kroků
Displej Digilog_Bike POV: 14 kroků

Video: Displej Digilog_Bike POV: 14 kroků

Video: Displej Digilog_Bike POV: 14 kroků
Video: Как работает ЖК-дисплей? (Анимация) 2024, Červenec
Anonim
Image
Image

Digilog

Digitální + analogový

Digitální se setkává s analogovým

POV

Persistence zraku

Také známý jako zobrazení afterimage, pokud je otřesen vysokou rychlostí, zůstane afterimage.

Lidé si myslí, že při sledování televize sledují video. Ale ve skutečnosti se dívá na několik po sobě jdoucích obrázků. To je mylně považováno za obraz kvůli efektu zbývajících obrazů, které zůstávají na našich sítnicích při sledování po sobě jdoucích obrázků. Tento druh iluze se nazývá POV.

Krok 1: Idea koncept

Idea koncept
Idea koncept

POV je implementován připevněním LED pásku na kolo na kole.

Krok 2: Seznam materiálů

Seznam materiálů
Seznam materiálů
Seznam materiálů
Seznam materiálů

Výpočetní technika a I/O

1. Arduino Mega 2560 [arduino] x3

2. Hallův senzorový modul V2 [YwRobot] x3

3. WS2812-5050 Flexibilní Neopixel [Adafruit] x3

4. Magnetické (průměr 15 mm, tloušťka 50 mm) x3

5. Arduino Mega Case x3

Elektrické vedení

5. 5000mAh/3,7V lithiová baterie [TheHan] x3

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

7. Sada 4 propojovacích vodičů 65 ks/sada [OR0012] x3

Krok 3: Nástroje

Nástroje
Nástroje

Není potřeba příliš mnoho nástrojů, ale budete potřebovat:

1. Pájecí stroj

2. Páječka

3. Lepicí pistole

4. Kleště

Krok 4: Vytvoření rámečku

Image
Image
Vytváření rámů
Vytváření rámů

Řezání kola a připevnění základny

Bruska byla použita k odříznutí kol kola z kola a svařené ocelové plechy k zajištění kol.

Krok 5: Načrtnutí finálních obrázků a konceptů

Skicování finálních obrázků a konceptů
Skicování finálních obrázků a konceptů
Skicování finálních obrázků a konceptů
Skicování finálních obrázků a konceptů
Skicování finálních obrázků a konceptů
Skicování finálních obrázků a konceptů

Jako finální obrázek jsme vybrali draka. Protože se zdálo, že vlnu draka nejlépe reprezentuje efekt následného obrazu.

Krok 6: Proveďte oříznutí pohyblivého obrázku

Proveďte řez pohyblivého obrazu
Proveďte řez pohyblivého obrazu
Proveďte řez pohyblivého obrazu
Proveďte řez pohyblivého obrazu

Rozdělte obrázek na tři části, které se vejdou na každé kolo, a rozdělte celkem 12 obrázků podle barev a pohybu.

Krok 7: Příprava softwaru

Příprava softwaru
Příprava softwaru
Příprava softwaru
Příprava softwaru

Dílčí část 1. Nainstalujte Arduino

Stažení Arduina:

(Nainstalujte jej tak, aby odpovídal verzi a systému vašeho operačního systému.)

-

Dílčí část 2. Nainstalujte knihovnu

*(Pokud byste chtěli instalovat přes Github, navštivte odkaz nad knihovnou Github Arduino:

1. Spusťte program Arduino

2. Povolte odkaz Horní nabídka - skica - zahrnout knihovnu - přidat knihovnu. Zip

3. Měli byste zvolit soubor. Zip, který již nainstaloval knihovnu github4

*(Pokud chcete používat programové služby Arduino)

1. Spusťte programy Arduino

2. Povolit odkaz Horní nabídka - skica - zahrnout knihovnu - knihovna pro správu - vyhledávání „Adafruit neopixel“- můžete vidět „Adafruit Neopixel od Adafruit“

3. Nainstalujte a aktualizujte knihovnu

-

Dílčí část 3. Nainstalujte program převaděče

1. Nainstalujte si program Rotation Circle (R. C. P):

2. Potřebujete přečíst soubor README

Krok 8: Výroba hardwarového napájecího zdroje

Výroba hardwarového napájecího zdroje
Výroba hardwarového napájecího zdroje
Výroba hardwarového napájecího zdroje
Výroba hardwarového napájecího zdroje
Výroba hardwarového napájecího zdroje
Výroba hardwarového napájecího zdroje

*Takto lze prostřednictvím baterie dodávat napětí Arduino 5V. Postupujte podle níže uvedených kroků.

1. Připojte lithiovou baterii a nabíjecí modul JBATT. (Pro informaci, modul JBATT má vestavěný vypínač.)

2. Připojte výstupní terminál JBATT k terminálu Vin Arduina a zemnímu terminálu.

3. Připojte Micro 5pin USB port k nabíjecímu portu a zkontrolujte, zda produkt funguje správně.

4. Dále přepněte vestavěný přepínač do polohy ON.

5. Pokud se v Arduinu rozsvítí červená LED a zelená LED, konfigurace výkonového stupně produktu je normálně dokončena.

Krok 9: Provedení hardwarových I/O a kontrola VÝSTUPU (NeoPixel funguje)

Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)
Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)
Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)
Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)
Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)
Vytváření I/O hardwaru a kontrola VÝSTUPU (práce s NeoPixelem)

*Tato část se skládá ze snímače a koncového stupně

1. Připojte senzory Arduino a Hall. Datový pin se připojuje k pinu Arduino 2.

2. Když je Arduino zapnuto a magnet je v těsném kontaktu s Hallovým senzorem, rozsvítí se červená LED.

3. Připojte Arduino a Neopixel. Používá se pouze 30 Neopixelů.

4. Připojte datový pin k pinu Arduino 6.

5. Připojte Arduino a stáhněte kabel do USB portu vašeho počítače a spusťte Arduino na vašem počítači.

6. Vyberte Tool - board - „Arduino / Genuino Mega or Mega 2560“z horního panelu nabídek programu Arduino.

7. Zkontrolujte, zda existuje seznam produktů, které lze přímo připojit k portu. Pokud není zaškrtnuto, kliknutím jej vyberte.

8. Vložte níže uvedený kód a vlevo nahoře klikněte na Nahrát. (Poté se všechna nahrávání programu postupují podle kroků 5-8.)

9. Konfigurace je dokončena, když se zapne všech 30 neoledových pixelů.

#1. včetně hlavičkového souboru a předzpracování

Nejprve musíme přinést knihovnu Adafruit_NeoPixel, která je schopna působit jako Neopixely.

Knihovnu lze použít k deklaraci objektů.

Třída Adafruit_NeoPixel může veřejně zadat 3 parametry.

Prvním parametrem je počet LED diod.

sekundový parametr je číslo pinu připojeného k digitálnímu vstupu Neopixel.

Třetím parametrem je zadání možností podle charakteristik produktu. tříbarevný produkt WS2812b používá vstup 'NEO_GRB'

#zahrnout

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

#2. založit

V části nastavení inicializujte objekt a připravte jej k použití.

'Adafruit_Neopixle_Object.begin ()' nastaví, aby se všechny LED diody vypnuly.

Výstupy 'Adafruit_Neopixle_Object.show ()' s jasem nastaveným v LED.

neplatné nastavení () {

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

#3. hlavní smyčka

Činnost hlavní smyčky využívá smyčku for k postupnému výstupu (0,1 sekundy) LED diod v bílé barvě

prázdná smyčka () {

pro (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); zpoždění (100); }}

Krok 10: Sestavení a připevnění na kolo

Sestavení a připevnění na kolo
Sestavení a připevnění na kolo
Sestavení a připevnění na kolo
Sestavení a připevnění na kolo

1. Připojte Neopixely. (Věnujte pozornost kontrole čísla PINu)

2. Připojte Hallův snímač. (Viz krok 9.)

3. Připevněte rám k Arduinu mezi kola. (Pouzdro Arduino připevněte rovnoběžně s rámem jízdního kola).

4. Vložte Arduino připojené k Neopixelu. (Buďte opatrní, protože lepicí pistole je horká).

5. Vložte připojené Hallovo čidlo do Arduina, (zajistěte stahovací pásku, aby Hallovo čidlo nespadlo).

6. Pájka pro připojení baterie. (Buďte opatrní při pájení).

7. Opravte to lepicí pistolí. (Připevněte nabíjecí modul k baterii, abyste zajistili místo).

8. Připojte každý řádek před připojením k Arduinu, 9. Zapojte podle každého čísla pinu. (Připojte propojovací vedení pro nabíjecí modul, aniž byste je zaměnili).

10. Dokončete jednou lepicí pistolí (Dávejte pozor, abyste nespadli).

Krok 11: Kontrola INPUT (HALL Sensor Data)

Kontrola INPUT (HALL Sensor Data)
Kontrola INPUT (HALL Sensor Data)
Kontrola INPUT (HALL Sensor Data)
Kontrola INPUT (HALL Sensor Data)
Kontrola INPUT (HALL Sensor Data)
Kontrola INPUT (HALL Sensor Data)

*Zkontrolujte softwarový kód, abyste zjistili, zda senzor funguje.

1. Vložte a nahrajte níže uvedený kód.

2. Klikněte na tlačítko Serial Monitor v pravém horním rohu Arduina.

3. Pokud je magnet v kontaktu s Hallovým senzorem déle než 1 sekundu, konfigurace je dokončena, když se na sériovém monitoru objeví slovo „kontaktní magnet“.

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

První konfigurační číslo pinu, které používá Hallovo čidlo a nastavuje číslo pinu jako port pouze pro vstup.

Nastavte komunikaci tak, aby kontrolovala data Hallova senzoru na sériovém monitoru.

#define HALL 2

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

#2. hlavní smyčka

Zkontrolujte údaje Hallova senzoru v intervalech 0,1 sekundy.

Pokud je magnet snímán a data jsou změněna, je na sériový monitor vyveden „kontaktní magnet“.

prázdná smyčka () {

if (digitalRead (HALL)) {Serial.println ("contact magnetic"); } zpoždění (100); }

Krok 12: Kódovací algoritmus

*Vytvořte logiku a kódování pro ovládání Neopixelů na základě hodnot senzorů.

1. Vložte a nahrajte níže uvedený kód.

2. Je normální, že se obraz nezobrazuje správně, protože se nevytváří rámeček. Ale vidíte, že to funguje zhruba.

3. Rychle se dotkněte Hallova senzoru a magnetu a uvolněte je do 1 sekundy. Tuto operaci opakujte asi 10krát.

4. Konfigurace je dokončena, když se barvy Neopixelů pravidelně mění.

#1. Včetně hlavičkových souborů a předzpracování

Nejprve musíme pochopit, že paměť Arduino Mega není dostatečně velká, aby pojala soubor obrázku.

Záhlavový soubor 'avr/pgmspace' se proto používá k využití jiného paměťového prostoru.

Chcete -li používat Neopixely, deklarujete objekt a konfiguraci číslo PIN I/O.

Pole obrázku je na kódování příliš velké, proto si stáhněte a vložte připojené soubory.

#zahrnout

#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 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

#2. Globální proměnná a nastavení

Nastavte globální proměnnou.

Hlavní věcí je nastavit jas, který určuje životní cyklus produktu.

int count = 0;

dvojnásobek v = 0; double 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 (); neplatné nastavení () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }

#3. hlavní smyčka - výstupní část obrazového výrazu

Tento kód je podmíněným prohlášením o tom, jak zobrazit čas otáčení kola podle rozlišení.

Tato část používá cyklus otáčení kola jednou jako velmi důležitý parametr.

Také je důležité číst data pole obrázků z paměti.

prázdná smyč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í smyčka - kontrola a snímání doby zpracování a cyklu

Toto je nejdůležitější část celého systému.

Nejprve zkontrolujte čas potřebný k provedení celého kódu a upravte čas výstupu LED na cyklus.

Čas zaznamenaný při každém roztočení kola předpovídá čas dalšího cyklu.

Zrychlení lze odhadnout odečtením času posledního měřeného cyklu od času naměřeného cyklu v čase.

Systém vypočítá dobu zpracování a zrychlení, aby vypočítal, jak dlouho LED nepřetržitě svítí.

processing_timer = micros ();

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žití softwaru

Používání softwaru
Používání softwaru
Používání softwaru
Používání softwaru
Používání softwaru
Používání softwaru

*Použijte software k transformaci obrázku a vložení procesních dat do kódu

1. Vložte obrázek z výše uvedeného kroku do složky s obrázky ve složce R. C. P nainstalované v kroku přípravy.

- Postup vložení obrázku je následující.- Přejmenujte 4 animované obrázky produktu č. 1 v pořadí 1. png, 2. png, 3.-p.webp

2. Spusťte soubor Ver.5.exe.

3. Ověřte, že je ve složce R. C. P vytvořeno 12 souborů pro_1_code_1.txt až pro_3_code_4.txt.

4. Pokud není vytvořen, změňte obsah souboru config.txt jako následující konfigurační soubor.

5. Jakmile je soubor vytvořen, zkopírujte celý obsah ze souboru pro_1_code_1.txt a vložte jej do části zobrazené v níže uvedeném kódu.

6. Přidejte obsah pro_1_code_2.txt, pro_1_code_3.txt a pro_1_code_4.txt do označené části v 5. pořadí.

7. S odkazem na 5 a 6 kód pro_2_code…, pro_3_code doplňuje kód stejným způsobem.

Krok 14: Dokončete

Kompletní
Kompletní
Kompletní
Kompletní
Kompletní
Kompletní

Dokončena výroba POV, který vytváří jeden obraz se třemi koly.

Doporučuje: