Sadržaj:
- Korak 1: Idejni koncept
- Korak 2: Popis materijala
- Korak 3: Alati
- Korak 4: Izrada okvira
- Korak 5: Skiciranje konačnih slika i koncepata
- Korak 6: Izrežite pokretnu sliku
- Korak 7: Priprema softvera
- Korak 8: Napravite hardversko napajanje
- Korak 9: Uvođenje I/O hardvera i provjera izlaza (NeoPixel radi)
- Korak 10: Sastavljanje i pričvršćivanje na kotač
- Korak 11: Provjera ULAZA (Podaci senzora HALL)
- Korak 12: Algoritam kodiranja
- Korak 13: Korištenje softvera
- Korak 14: Dovršite
Video: Digilog_Bike POV zaslon: 14 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Digilog
Digitalni + analogni
Digitalno se susreće s analognim
POV
Vizualna postojanost
Također poznat kao prikaz naknadne slike, ako se protrese velikom brzinom, slika ostaje.
Ljudi misle da gledaju video kad gledaju televiziju. No, zapravo gleda nekoliko uzastopnih slika. To 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: Idejni koncept
POV se provodi pričvršćivanjem LED remena na kotač bicikla.
Korak 2: Popis materijala
Računanje i I/O
1. Arduino Mega 2560 [arduino] x3
2. Hollov senzorski modul V2 [YwRobot] x3
3. WS2812-5050 Fleksibilni neopiksel [Adafruit] x3
4. Magnetski (promjera 15 mm, debljine 50 mm) x3
5. Arduino Mega futrola x3
Dalekovod
5. 5000mAh/3.7V litijeva 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
Nije potrebno previše alata, ali trebat će vam:
1. Stroj za lemljenje
2. Lemilica
3. Pištolj za ljepilo
4. Štipaljka
Korak 4: Izrada okvira
Rezanje bicikla i pričvršćivanje baze
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
Za konačnu sliku odabrali smo zmaja. Budući da se činilo da je val zmaja najbolje predstavljen efektom slike.
Korak 6: 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
Pododjeljak 1. Instalirajte Arduino
Arduino preuzimanje:
(Instalirajte tako da odgovara vašoj verziji OS -a i sustavu.)
-
Pododjeljak 2. Instalirajte knjižnicu
*(Ako želite instalirati putem Githuba, posjetite gornju vezu Github Arduino knjižnica:
1. Pokrenite Arduino program
2. Dopustite vezu Glavni izbornik - skica - uključi biblioteku - dodajte.zip knjižnicu
3. Trebali biste odabrati. Zip datoteku u kojoj je već instalirana github knjižnica4
*(Ako želite koristiti programske usluge Arduino)
1. Pokrenite Arduino programe
2. Dopustite vezu Gornji izbornik - skica - uključi biblioteku - knjižnica za upravljanje - pretraga "Adafruit neopixel" - možete vidjeti "Adafruit Neopixel by Adafruit"
3. Instalirajte i ažurirajte knjižnicu
-
Pododjeljak 3. Instalirajte program pretvarača
1. Instalirajte program Rotation Circle Program (R. C. P):
2. Morate pročitati datoteku README
Korak 8: Napravite hardversko napajanje
*Ovako se napaja Arduino 5V napon kroz bateriju. Slijedite korake u nastavku.
1. Spojite litijevu bateriju i JBATT modul za punjenje. (Za referencu, JBATT modul ima ugrađeni prekidač za napajanje.)
2. Spojite izlazni terminal JBATT -a na terminal Vin na Arduinu 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)
*Ovaj dio se sastoji od senzora i izlaznog stupnja
1. Spojite Arduino i Hall senzore. Podatkovni pin se spaja na Arduino pin 2.
2. Kad se Arduino uključi i magnet je u bliskom kontaktu s Hall -ovim senzorom, crvena LED lampica će zasvijetliti.
3. Spojite Arduino i Neopixel. Koristi se samo 30 neopiksela.
4. Spojite podatkovni pin s Arduino pin 6.
5. Spojite Arduino i kabel za preuzimanje na USB priključak vašeg računala i pokrenite Arduino na svom računalu.
6. Odaberite Alatna ploča - „Arduino / Genuino Mega ili Mega 2560“s gornje trake izbornika programa Arduino.
7. Provjerite postoji li popis proizvoda koji se mogu izravno povezati s priključkom. Ako nije označeno, kliknite za odabir.
8. Zalijepite donji kôd i kliknite Upload u gornjem lijevom kutu. (Nakon toga, svi prijenosi programa slijede korake 5-8.)
9. Konfiguracija je dovršena kada se uključi svih 30 neool piksela.
#1. uključujući datoteku zaglavlja i prethodnu obradu
Prvo moramo donijeti knjižnicu Adafruit_NeoPixel koja može djelovati neopiksele.
Knjižnica se može koristiti deklariranjem objekata.
Klasa Adafruit_NeoPixel može javno unijeti 3 parametra.
Prvi parametar je broj LED dioda.
parametar seconds je pin broj spojen na Neopixel digitalni ulaz.
Treći parametar je unos opcija prema karakteristikama proizvoda. trobojni proizvod WS2812b koristi ulaz 'NEO_GRB'
#uključi
#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 isključivanje.
'Adafruit_Neopixle_Object.show ()' emitira sa svjetlinom postavljenom u LED -u.
void setup () {
strip.begin (); strip.show (); }
#3. glavna petlja
Djelovanje glavne petlje koristi petlju for 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: Sastavljanje i pričvršćivanje na kotač
1. Spojite Neopiksele. (Obratite pažnju na provjeru broja PIN -a)
2. Spojite Hall senzor. (Pogledajte korak 9)
3. Pričvrstite okvir na Arduino između bicikala. (Arduino kućište pričvrstite 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. Lemiti za spajanje 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 svaki redak prije spajanja na Arduino, 9. Priključite prema svakom broju pina. (Spojite 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)
*Provjerite programski kod kako biste provjerili radi li senzor.
1. Zalijepite i prenesite donji kod.
2. Pritisnite 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.
#definiraj DVORANU 2
void setup () {pinMode (HALL, INPUT); Serial.begin (9600); }
#2. glavna petlja
Provjerite podatke Hall senzora u intervalima od 0,1 sekunde.
Ako je magnet osjetljiv i podaci se mijenjaju, "magnetski kontakt" se šalje na serijski monitor.
void loop () {{100} {101}
if (digitalRead (HALL)) {Serial.println ("magnetski kontakt"); } kašnjenje (100); }
Korak 12: Algoritam kodiranja
*Stvorite logiku i kodiranje za kontrolu neopiksela na temelju vrijednosti senzora.
1. Zalijepite i prenesite 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 dovršena kada se boje neopiksela redovito mijenjaju.
#1. Uključujući datoteke zaglavlja i prethodnu obradu
Prvo, moramo shvatiti da memorija Arduino Mega nije dovoljno velika za pohranu slikovne datoteke.
Stoga se datoteka zaglavlja 'avr/pgmspace' koristi za korištenje različitog memorijskog prostora.
Za korištenje Neopixela deklarirate objekt i konfiguraciju I/O pin broja.
Niz slika je prevelik za kodiranje, pa preuzmite i zalijepite priložene datoteke.
#uključi
#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 ciklus proizvoda.
int broj = 0;
dvostruki v = 0; dvostruki last_v = 0; dvostruki mjerač vremena = mikros (); dvostruki eks_timer = mikros (); 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 ispisati vrijeme okretanja kotača rezolucijom.
Ovaj dio koristi ciklus okretanja biciklističkog kotača jednom kao vrlo važan parametar.
Također, važno je čitati podatke o nizu slika iz memorije.
void loop () {{100} {101}
if ((count (ex_timer / 120.0) - (micros () - timer processing))) {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. Boja (0, 0, 0)); } strip.show (); }
#4. glavna petlja - provjera i osjetljivost obrade i ciklusa
Ovo je najvažniji dio cijelog sustava.
Prvo provjerite vrijeme potrebno za izvršavanje cijelog koda i prilagodite vrijeme LED izlaza po ciklusu.
Vrijeme osjetljivo pri svakom okretanju kotača predviđa vrijeme sljedećeg ciklusa.
Ubrzanje se može procijeniti oduzimanjem posljednjeg izmjerenog vremena ciklusa od vremena mjerenja uključenog na vrijeme.
Sustav 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 () - zadnji_timer; ex_timer = q_arr [0] - q_arr [1] + v; zadnji_timer = mikros (); 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
*Pomoću softvera pretvorite sliku i umetnite podatke o procesiji u kôd
1. Umetnite sliku iz gornjeg koraka u mapu slika u mapi R. C. P instaliranu 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 mapi R. C. P.
4. Ako nije kreiran, promijenite sadržaj config.txt kao sljedeću konfiguracijsku datoteku.
5. Nakon što je datoteka stvorena, 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
Završena proizvodnja POV -a koji stvara jednu sliku s tri kotača.
Preporučeni:
Kako napraviti POV zaslon ventilatora: 6 koraka (sa slikama)
Kako napraviti ventilatorski POV zaslon: U ovom projektu pokazat ću vam kako sam običan stari ventilator pretvorio u LED POV zaslon koji vam može predstaviti svjetlosne uzorke, riječi ili čak vrijeme. Započnimo
Napravite vlastiti POV zaslon: 3 koraka
Napravite vlastiti POV prikaz: Percepcija vida (POV) ili Postojanost vida (ima nekoliko varijacija) zanimljiv je fenomen ljudskog vida koji se javlja kada vizualna percepcija objekta ne prestane unatoč tome što objekt mijenja položaj. Ljudska bića vide im
TTGO (kolor) zaslon s mikropythonom (TTGO T-zaslon): 6 koraka
TTGO (kolor) zaslon s Micropythonom (TTGO T-zaslon): TTGO T-zaslon je ploča temeljena na ESP32 koja uključuje zaslon u boji od 1,14 inča. Ploča se može kupiti za nagradu manju od 7 USD (uključujući dostavu, nagrada viđena na banggood -u). To je nevjerojatna nagrada za ESP32 uključujući zaslon. T
I2C / IIC LCD zaslon - Upotrijebite SPI LCD za I2C LCD zaslon Korištenje SPI do IIC modula s Arduinom: 5 koraka
I2C / IIC LCD zaslon | Upotrijebite SPI LCD na I2C LCD zaslonu Korištenje SPI na IIC modula s Arduinom: Zdravo dečki, budući da normalni SPI LCD 1602 ima previše žica za povezivanje pa je vrlo teško povezati ga s arduinom, ali na tržištu postoji jedan modul koji može pretvoriti SPI zaslon u IIC zaslon pa morate spojiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD u I2C LCD zaslon: 5 koraka
I2C / IIC LCD zaslon | Pretvorite SPI LCD u I2C LCD zaslon: za korištenje spi lcd zaslona potrebno je previše povezivanja, što je zaista teško učiniti pa sam pronašao modul koji može pretvoriti i2c lcd u spi lcd pa krenimo