Obsah:
- Krok 1: Idea koncept
- Krok 2: Seznam materiálů
- Krok 3: Nástroje
- Krok 4: Vytvoření rámečku
- Krok 5: Načrtnutí finálních obrázků a konceptů
- Krok 6: Proveďte oříznutí pohyblivého obrázku
- Krok 7: Příprava softwaru
- Krok 8: Výroba hardwarového napájecího zdroje
- Krok 9: Provedení hardwarových I/O a kontrola VÝSTUPU (NeoPixel funguje)
- Krok 10: Sestavení a připevnění na kolo
- Krok 11: Kontrola INPUT (HALL Sensor Data)
- Krok 12: Kódovací algoritmus
- Krok 13: Použití softwaru
- Krok 14: Dokončete
Video: Displej Digilog_Bike POV: 14 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
POV je implementován připevněním LED pásku na kolo na kole.
Krok 2: 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
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
Ř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ů
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
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
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
*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)
*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
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)
*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ž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
Dokončena výroba POV, který vytváří jeden obraz se třemi koly.
Doporučuje:
Jak vytvořit ventilátor POV displej: 6 kroků (s obrázky)
Jak vyrobit ventilátor POV displej: V tomto projektu vám ukážu, jak jsem transformoval obyčejný starý ventilátor na LED POV displej, který vám může představit světelné vzory, slova nebo dokonce čas. Začněme
Používejte jeden displej Velký a 4 Cifre 8886 displej Con Wemos ESP8266 Arduino NodeMCU: 6 kroků
Používejte jeden velký displej se 4 Cifre 8886 displejem s ESP8266 Arduino NodeMCU: Vybírejte ze všech semiplic, abyste získali více než 8886 displejů, zobrazte více než jednu skladbu, D1 - potřebujete více Arduino nebo NodeMCU o kvalitní mikrokontrolér, který můžete použít pro každý další
TTGO (barevný) displej s mikropythonem (TTGO T-displej): 6 kroků
TTGO (barevný) displej s mikropythonem (TTGO T-displej): TTGO T-Display je deska založená na ESP32, která obsahuje 1,14 palcový barevný displej. Desku je možné zakoupit za cenu nižší než 7 $ (včetně poštovného, cena viditelná v Banggoodu). To je neuvěřitelná cena za ESP32 včetně displeje
LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků
LCD displej I2C / IIC | Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: Ahoj lidi, protože normální SPI LCD 1602 má příliš mnoho vodičů na připojení, takže je velmi obtížné propojit jej s arduino, ale na trhu je k dispozici jeden modul, který může převést SPI displej na IIC displej, takže pak potřebujete připojit pouze 4 vodiče
LCD displej I2C / IIC - Převeďte SPI LCD na I2C LCD displej: 5 kroků
LCD displej I2C / IIC | Převeďte SPI LCD na I2C LCD displej: použití spi lcd displeje vyžaduje příliš mnoho připojení, což je opravdu těžké, takže jsem našel modul, který dokáže převést i2c lcd na spi lcd, takže můžeme začít