Kazalo:
- 1. korak: Idejni koncept
- 2. korak: Seznam materialov
- 3. korak: Orodja
- 4. korak: Izdelava okvirja
- 5. korak: Skiciranje končnih slik in konceptov
- 6. korak: Izrežite gibljivo sliko
- 7. korak: Priprava programske opreme
- 8. korak: Napajanje strojne opreme
- 9. korak: Vhodno/izhodni strojni vmesnik in preverjanje IZHODA (NeoPixel deluje)
- 10. korak: Sestavljanje in pritrditev na kolo
- 11. korak: Preverjanje vhoda (podatki senzorja HALL)
- 12. korak: Algoritem kodiranja
- Korak: Uporaba programske opreme
- Korak 14: Dokončajte
Video: Digilog_Bike POV zaslon: 14 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Digilog
Digitalni + analogni
Digitalno se ujema z analognim
POV
Vizualna obstojnost
Znan tudi kot prikaz posnetka, če ga pretresite pri visoki hitrosti, ostane slika.
Ljudje mislijo, da gledajo video, ko gledajo televizijo. Toda v resnici gleda več zaporednih slik. To se zamenjuje s sliko zaradi učinka zaostalih slik na naših mrežnicah pri ogledu zaporednih slik. Ta vrsta iluzije se imenuje POV.
1. korak: Idejni koncept
POV je izveden s pritrditvijo LED traku na kolo kolesa.
2. korak: Seznam materialov
Računalništvo in V/I
1. Arduino Mega 2560 [arduino] x3
2. Hallov senzorski modul V2 [YwRobot] x3
3. WS2812-5050 Prilagodljiv neopixel [Adafruit] x3
4. Magnetni (premer 15 mm, debelina 50 mm) x3
5. Arduino Mega etui x3
Daljnovod
5. 5000mAh/3.7V litijeva baterija [TheHan] x3
6. Regulator AVR 5V in modul za polnjenje in PCM: JBATT-U5-LC [Jcnet] x3
7. 4 Komplet premostitvenih žic 65PCS/SET [OR0012] x3
3. korak: Orodja
Ne potrebujete preveč orodij, vendar boste potrebovali:
1. Spajkalni stroj
2. Spajkalnik
3. Pištola za lepilo
4. Stiskalnica
4. korak: Izdelava okvirja
Rezanje kolesa in pritrditev podlage
Brusilnik je bil uporabljen za rezanje kolesnih koles s kolesa in varjene jeklene plošče za pritrditev koles.
5. korak: Skiciranje končnih slik in konceptov
Za končno podobo smo izbrali zmaja. Ker se je zdelo, da je zmajev val najbolje predstavljen z učinkom poslikave.
6. korak: Izrežite gibljivo sliko
Podelite sliko na tri dele, ki se prilegajo vsakemu kolesu, in skupaj razdelite 12 slik po barvi in gibanju.
7. korak: Priprava programske opreme
Pododdelek 1. Namestite Arduino
Arduino prenos:
(Namestite, da ustreza vaši različici OS in sistemu.)
-
Poddel 2. Namestite knjižnico
*(Če želite namestiti prek Github -a, obiščite zgornjo povezavo Knjižnica Github Arduino:
1. Zaženite program Arduino
2. Dovolite povezavo Glavni meni - skica - vključi knjižnico - dodajte knjižnico.zip
3. Izberite datoteko. Zip, v kateri je že nameščena knjižnica github4
*(Če želite uporabljati programske storitve Arduino)
1. Zaženite programe Arduino
2. Dovoli povezavo Zgornji meni - skica - vključi knjižnico - knjižnica za upravljanje - iskanje »Adafruit neopixel« - lahko vidite »Adafruit Neopixel by Adafruit«
3. Namestite in posodobite knjižnico
-
Pododdelek 3. Namestite program pretvornika
1. Namestite program Rotation Circle Program (R. C. P):
2. Morate prebrati datoteko README
8. korak: Napajanje strojne opreme
*Tako napajate napetost Arduino 5V skozi baterijo. Sledite spodnjim korakom.
1. Priključite litijevo baterijo in polnilni modul JBATT. (Za referenco ima modul JBATT vgrajeno stikalo za vklop.)
2. Priključite izhodni priključek JBATT na Vin priključek Arduino in ozemljitveni terminal.
3. Priključite vrata USB 5pin USB na vrata za polnjenje, da preverite, ali izdelek deluje pravilno.
4. Nato vklopite vgrajeno stikalo na ON.
5. Če rdeča LED lučka zasveti in zelena LED lučka zasveti v Arduinu, je konfiguracija stopnje napajanja izdelka običajno dokončana.
9. korak: Vhodno/izhodni strojni vmesnik in preverjanje IZHODA (NeoPixel deluje)
*Ta del je sestavljen iz senzorja in izhodne stopnje
1. Priključite senzorja Arduino in Hall. Podatkovni pin se poveže z Arduino pin 2.
2. Ko je Arduino vklopljen in je magnet v tesnem stiku s Hallovim senzorjem, zasveti rdeča LED.
3. Povežite Arduino in Neopixel. Uporablja se le 30 neopikslov.
4. Povežite podatkovni zatič z Arduino pin 6.
5. Priključite Arduino in prenesite kabel v USB vrata vašega računalnika in zaženite Arduino v računalniku.
6. V zgornji menijski vrstici programa Arduino izberite Orodje - "Arduino / Genuino Mega ali Mega 2560".
7. Preverite, ali obstaja seznam izdelkov, ki jih je mogoče neposredno povezati z vrati. Če ni označeno, kliknite, da ga izberete.
8. Prilepite spodnjo kodo in kliknite Naloži v zgornjem levem kotu. (Nato vsi prenosi programa sledijo korakom 5-8.)
9. Konfiguracija je končana, ko se vklopi vseh 30 neoliranih pik.
#1. vključno z datoteko glave in predhodno obdelavo
Najprej moramo prinesti knjižnico Adafruit_NeoPixel, ki lahko deluje kot neopikseli.
Knjižnico lahko uporabljate z razglasitvijo predmetov.
Razred Adafruit_NeoPixel lahko javno vnese 3 parametre.
Prvi parameter je število LED.
parameter seconds je številka pin, priključena na digitalni vhod Neopixel.
Tretji parameter je vnos možnosti glede na značilnosti izdelka. tribarvni izdelek WS2812b uporablja vnos 'NEO_GRB'
#vključi
#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);
#2. nastaviti
V nastavitvenem delu inicializirajte predmet in ga pripravite za uporabo.
'Adafruit_Neopixle_Object.begin ()' nastavi vse LED, da se izklopijo.
'Adafruit_Neopixle_Object.show ()' oddaja z nastavljeno svetlostjo v LED.
void setup () {
strip.begin (); strip.show (); }
#3. glavna zanka
Dejanje glavne zanke uporablja zanko for za zaporedno oddajanje (0,1 sekunde) LED v beli barvi
void loop () {
for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); zamuda (100); }}
10. korak: Sestavljanje in pritrditev na kolo
1. Povežite Neopixel. (Bodite pozorni na preverjanje številke pin)
2. Priključite Hallov senzor. (Glejte korak 9)
3. Okvir pritrdite na Arduino med kolesi. (Ohišje Arduino pritrdite vzporedno z okvirjem kolesa).
4. Vstavite Arduino, priključen na Neopixel. (Bodite previdni, ker je pištola za lepilo vroča).
5. Priključeni Hall senzor vstavite v Arduino, (pritrdite kabelsko vezico, da senzor Hall ne pade).
6. Spajkanje za priključitev baterije. (Pri spajkanju bodite previdni).
7. Popravite ga s pištolo za lepilo. (Polnilni modul pritrdite na baterijo, da zagotovite prostor).
8. Pred priključitvijo na Arduino priključite vsako vrstico, 9. Priključite v skladu s številko vsakega zatiča. (Povežite skakalne vrvice za polnilni modul, ne da bi jih zamenjali).
10. Enkrat zaključite s pištolo za lepilo (pazite, da ne padete).
11. korak: Preverjanje vhoda (podatki senzorja HALL)
*Preverite kodo programske opreme in preverite, ali senzor deluje.
1. Prilepite in naložite spodnjo kodo.
2. Kliknite gumb Serijski monitor v zgornjem desnem kotu Arduina.
3. Ko je magnet več kot 1 sekundo v stiku s Hallovim senzorjem, se konfiguracija zaključi, ko se na serijskem monitorju pojavi beseda »kontaktni magnetni«.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Določite številko pin in nastavitev
Prva konfiguracijska številka pin, ki uporablja Hallov senzor in številko pin nastavi kot vrata samo za vhod.
Nastavite komunikacijo za preverjanje podatkov Hallovega senzorja na serijskem monitorju.
#define HALL 2
void setup () {pinMode (HALL, INPUT); Serial.begin (9600); }
#2. glavna zanka
V intervalih po 0,1 sekunde preverite podatke Hallovega senzorja.
Če magnet zaznamo in podatke spremenimo, se na kontaktni monitor prikaže "kontaktni magnet".
void loop () {
if (digitalRead (HALL)) {Serial.println ("magnetni kontakt"); } zamuda (100); }
12. korak: Algoritem kodiranja
*Ustvarite logiko in kodiranje za nadzor neopikslov na podlagi vrednosti senzorjev.
1. Prilepite in naložite spodnjo kodo.
2. Normalno je, da slika ni pravilno prikazana, ker ni okvirja. Vidite pa, da deluje približno.
3. Hitro se dotaknite in spustite Hall senzor in magnet v 1 sekundi. To operacijo ponovite približno 10 -krat.
4. Konfiguracija je končana, ko se barve neopikslov redno spreminjajo.
#1. Vključno z datotekami glave in predhodno obdelavo
Najprej moramo razumeti, da pomnilnik Arduino Mega ni dovolj velik za shranjevanje slikovne datoteke.
Zato se naslovna datoteka 'avr/pgmspace' uporablja za uporabo različnega pomnilniškega prostora.
Za uporabo neopikslov predmet in konfiguracijo označite kot številko vhodno -izhodnega zatiča.
Slika je prevelika za kodiranje, zato prenesite in prilepite priložene datoteke.
#vključi
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // prilepi matriko v 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'
#2. Globalna spremenljivka in nastavitev
Nastavite globalno spremenljivko.
Glavna stvar je nastaviti svetlost, ki določa življenjski cikel izdelka.
int count = 0;
dvojno v = 0; dvojni last_v = 0; dvojni časovnik = mikroskopi (); dvojni eks_timer = mikroskopi (); dvojni zadnji_timer = mikroskopi (); int deg = 36; int pix = 35; int rgb = 3; dvojni q_arr [2] = {0, 0}; int HALL_COUNT = 0; dvojni VELO; dvojni časovnik_obdelave = mikroskopi (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }
#3. glavna zanka - izhodni del izraza slike
Ta koda je pogojna izjava o tem, kako prikazati čas vrtenja kolesa z ločljivostjo.
Ta del uporablja cikel obračanja kolesa enkrat kot zelo pomemben parameter.
Pomembno je tudi branje podatkovnih nizov iz pomnilnika.
void loop () {
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. Barva (0, 0, 0)); } strip.show (); }
#4. glavna zanka - preverjanje in zaznavanje časa obdelave in cikla
To je najpomembnejši del celotnega sistema.
Najprej preverite čas, potreben za izvedbo celotne kode, in prilagodite čas izhoda LED na cikel.
Čas, zaznan vsakič, ko se kolo vrti, napoveduje čas naslednjega cikla.
Pospešek lahko ocenite tako, da od zadnjega izmerjenega časa cikla odštejete zadnji izmerjeni čas cikla.
Sistem izračuna čas obdelave in pospešek, da izračuna, kako dolgo LED svetijo neprekinjeno.
time_time = micros ();
if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - zadnji_čas; ex_timer = q_arr [0] - q_arr [1] + v; zadnji_timer = mikroskopi (); q_arr [0] = q_arr [1]; q_arr [1] = v; count = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
Korak: Uporaba programske opreme
*S programsko opremo pretvorite sliko in v kodo vstavite podatke o procesiji
1. Vstavite sliko iz zgornjega koraka v mapo slik v mapi R. C. P, nameščeni v koraku priprave.
- Kako postaviti sliko, je naslednje.- Preimenujte 4 animirane slike izdelka # 1 v vrstnem redu 1.png, 2.png, 3-p.webp
2. Zaženite datoteko Ver.5.exe.
3. Preverite, ali je v mapi R. C. P ustvarjenih 12 datotek pro_1_code_1.txt v pro_3_code_4.txt.
4. Če ni ustvarjen, spremenite vsebino config.txt kot naslednjo konfiguracijsko datoteko.
5. Ko je datoteka ustvarjena, kopirajte celotno vsebino iz datoteke pro_1_code_1.txt in jo prilepite v del, prikazan v spodnji kodi.
6. Dodajte vsebino pro_1_code_2.txt, pro_1_code_3.txt in pro_1_code_4.txt v označeni del v 5. vrstnem redu.
7. Glede na 5 in 6 koda pro_2_code…, pro_3_code dokonča kodo na enak način.
Korak 14: Dokončajte
Dokončana je proizvodnja POV, ki ustvari eno podobo s tremi kolesi.
Priporočena:
Kako narediti ventilatorski POV zaslon: 6 korakov (s slikami)
Kako narediti ventilatorski POV zaslon: V tem projektu vam bom pokazal, kako sem navaden stari ventilator spremenil v LED POV zaslon, ki vam lahko predstavi svetlobne vzorce, besede ali celo čas. Začnimo
TTGO (barvni) zaslon z mikropythonom (T-zaslon TTGO): 6 korakov
TTGO (barvni) zaslon z Micropythonom (TTGO T-zaslon): TTGO T-zaslon je plošča, ki temelji na ESP32 in vključuje 1,14-palčni barvni zaslon. Ploščo lahko kupite za nagrado manj kot 7 $ (vključno z ladijskim prometom, nagrado na banggoodu). To je neverjetna nagrada za ESP32, vključno z zaslonom
I2C / IIC LCD zaslon - Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: 5 korakov
I2C / IIC LCD zaslon | Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: Pozdravljeni, saj ima navaden SPI LCD 1602 preveč žic za povezavo, zato ga je zelo težko povezati z arduinom, vendar je na trgu na voljo en modul, ki lahko pretvorite zaslon SPI v zaslon IIC, tako da morate priključiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD v LCD zaslon I2C: 5 korakov
I2C / IIC LCD zaslon | Pretvorite SPI LCD v LCD zaslon I2C: uporaba spi lcd zaslona zahteva preveč povezav, kar je res težko narediti, zato sem našel modul, ki lahko i2c lcd pretvori v spi lcd, zato začnimo
ESP8266 Vremenski zaslon in informacijski zaslon KVG: 5 korakov
ESP8266 Vremenski in informacijski zaslon KVG: To je preprost informacijski zaslon za vremensko napoved prek darksky.net in zaslonov v živo za avtobuse v Kielu prek " KVG Echtzeitabfahrten ". Zaslon temelji na NodeMCU (ESP8266) in LCD zaslonu ILI9341