Sadržaj:
- Korak 1: Koncept ideje
- Korak 2: Lista 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: Uključivanje hardverskog napajanja
- Korak 9: Uvođenje I/O hardvera i provjera izlaza (NeoPixel radi)
- Korak 10: Sklapanje i pričvršćivanje na točak
- Korak 11: Provjera ULAZA (Podaci senzora HALL)
- Korak 12: Algoritam kodiranja
- Korak 13: Korištenje softvera
- Korak 14: Dovršite
Video: Digilog_Bike POV prikaz: 14 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Digilog
Digitalni + analogni
Digitalno i analogno
POV
Vizuelna postojanost
Poznat i kao prikaz naknadne slike, ako se protrese velikom brzinom, slika ostaje.
Ljudi misle da gledaju video kad gledaju televiziju. Ali u stvari gleda nekoliko uzastopnih slika. Ovo 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: Koncept ideje
POV se implementira pričvršćivanjem LED trake na kotač bicikla.
Korak 2: Lista materijala
Računanje i I/O
1. Arduino Mega 2560 [arduino] x3
2. Modul Hall senzora V2 [YwRobot] x3
3. WS2812-5050 Fleksibilni neopiksel [Adafruit] x3
4. Magnetski (promjera 15 mm, debljine 50 mm) x3
5. Arduino Mega futrola x3
Električni vod
5. 5000mAh/3.7V litijumska 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. Mašina za lemljenje
2. Lemilica
3. Pištolj za ljepilo
4. Štipaljka
Korak 4: Izrada okvira
Rezanje bicikla i pričvršćivanje osnove
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. Zato što se činilo da je zmajev val 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 da odgovara vašoj verziji OS -a i sistemu.)
-
Pododjeljak 2. Instalirajte biblioteku
*(Ako želite instalirati putem Githuba, posjetite gornju vezu Github Arduino biblioteka:
1. Pokrenite Arduino program
2. Dozvolite vezu Gornji meni - skica - uključi biblioteku - dodaj.zip biblioteku
3. Trebali biste izabrati. Zip datoteku u kojoj je već instalirana github biblioteka4
*(Ako želite koristiti programske usluge Arduino)
1. Pokrenite Arduino programe
2. Dozvolite vezu Gornji meni - skica - uključi biblioteku - biblioteka za upravljanje - pretražujući „Adafruit neopixel“- možete vidjeti „Adafruit Neopixel by Adafruit“
3. Instalirajte i ažurirajte biblioteku
-
Pododjeljak 3. Instalirajte program pretvarača
1. Instalirajte program Rotation Circle Program (R. C. P):
2. Morate pročitati README datoteku
Korak 8: Uključivanje hardverskog napajanja
*Ovako se napaja Arduino 5V napon kroz bateriju. Slijedite donje korake.
1. Povežite litijumsku bateriju i JBATT modul za punjenje. (Za referencu, JBATT modul ima ugrađeni prekidač za napajanje.)
2. Spojite izlazni terminal JBATT -a na Vin terminal Arduina 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. Pin za podatke se povezuje sa Arduino pin 2.
2. Kada se Arduino uključi i magnet je u bliskom kontaktu sa Hall senzorom, crvena LED lampica će zasvijetliti.
3. Povežite Arduino i Neopixel. Koristi se samo 30 neopiksela.
4. Spojite podatkovni pin sa Arduino pin 6.
5. Spojite Arduino i preuzmite kabel na USB priključak računara i pokrenite Arduino na svom računaru.
6. Odaberite Alatna ploča - „Arduino / Genuino Mega ili Mega 2560“s gornje trake izbornika programa Arduino.
7. Provjerite postoji li lista proizvoda koji se mogu direktno povezati s priključkom. Ako nije označeno, kliknite da biste ga odabrali.
8. Zalijepite donji kôd i kliknite Otpremi u gornjem lijevom kutu. (Nakon toga, svi otpremljeni programi slijede korake 5-8.)
9. Konfiguracija je završena kada se uključi svih 30 neool piksela.
#1. uključujući datoteku zaglavlja i prethodnu obradu
Prvo moramo donijeti biblioteku Adafruit_NeoPixel koja može djelovati neopiksele.
Biblioteka se može koristiti deklarisanjem objekata.
Klasa Adafruit_NeoPixel može javno unijeti 3 parametra.
Prvi parametar je broj LED dioda.
Parametar seconds je pin broj povezan s Neopixel digitalnim ulazom.
Treći parametar je unos opcija prema karakteristikama proizvoda. trobojni proizvod WS2812b koristi ulaz 'NEO_GRB'
#include
#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 gašenje.
'Adafruit_Neopixle_Object.show ()' emitira sa svjetlinom postavljenom u LED diodi.
void setup () {
strip.begin (); strip.show (); }
#3. glavna petlja
Radnja glavne petlje koristi for petlju 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: Sklapanje i pričvršćivanje na točak
1. Povežite Neopiksele. (Obratite pažnju na provjeru broja pina)
2. Povežite Hall senzor. (Pogledajte korak 9)
3. Pričvrstite okvir na Arduino između bicikala. (Pričvrstite Arduino kućište 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. Lemljenje za povezivanje 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 svaku liniju prije povezivanja na Arduino, 9. Priključite prema svakom broju pina. (Povežite 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 da vidite da li senzor radi.
1. Zalijepite i učitajte donji kod.
2. Kliknite 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.
#define HALL 2
void setup () {pinMode (HALL, INPUT); Serial.begin (9600); }
#2. glavna petlja
Provjerite podatke Hallovog senzora u intervalima od 0,1 sekunde.
Ako se magnet osjet i podaci se promijene, "kontaktni magnet" se šalje na serijski monitor.
void loop () {{100} {101}
if (digitalRead (HALL)) {Serial.println ("kontakt magnetski"); } kašnjenje (100); }
Korak 12: Algoritam kodiranja
*Kreirajte logiku i kodiranje za kontrolu neopiksela na osnovu vrijednosti senzora.
1. Zalijepite i učitajte 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 završena kada se boje neopiksela redovno mijenjaju.
#1. Uključujući datoteke zaglavlja i prethodnu obradu
Prvo, moramo shvatiti da memorija Arduino Mega nije dovoljno velika da može pohraniti datoteku slike.
Stoga se datoteka zaglavlja 'avr/pgmspace' koristi za korištenje različitog memorijskog prostora.
Da biste koristili Neopiksele, objekat i konfiguraciju deklarirate kao I/O pin broj.
Niz slika je prevelik za kodiranje, pa preuzmite i zalijepite priložene datoteke.
#include
#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 vijek proizvoda.
int broj = 0;
dvostruki v = 0; dvostruki last_v = 0; dvostruki tajmer = mikro ((); dvostruki ex_timer = micros (); 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 prikazati vrijeme okretanja kotača rezolucijom.
Ovaj dio koristi ciklus okretanja biciklističkog kotača jednom kao vrlo važan parametar.
Također je važno čitati podatke iz niza slika iz memorije.
void loop () {{100} {101}
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 [broj] [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 [broj] [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 sensing obrade i ciklusa
Ovo je najvažniji dio cijelog sistema.
Prvo provjerite vrijeme potrebno za izvršavanje cijelog koda i podesite LED izlazno vrijeme po ciklusu.
Vreme osetljivo pri svakom okretanju točka predviđa vreme sledećeg ciklusa.
Ubrzanje se može procijeniti oduzimanjem posljednjeg izmjerenog vremena ciklusa od mjerenog vremena ciklusa na vrijeme.
Sistem 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 () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; last_timer = micros (); 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
*Koristite softver za pretvaranje slike i unos podataka o procesiji u kôd
1. Umetnite sliku iz gornjeg koraka u fasciklu sa slikama u fascikli R. C. P instaliranoj 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 fascikli R. C. P.
4. Ako nije kreiran, promijenite sadržaj config.txt kao sljedeću konfiguracijsku datoteku.
5. Kada se datoteka kreira, 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čuje se:
Prikaz CO2: 9 koraka (sa slikama)
Prikaz CO2: Kao što mu ime govori, projekat prikaza ekrana je mali senzor CO2 za plin koji se priključuje na USB radi lakšeg praćenja unutarnjeg i vanjskog zagađenja. Razina CO2 prikazuje se uživo, ali je to moguće uz malu aplikaciju koja je navedena u dokumentaciji
Mehanički sat sa sedam segmenata za prikaz: 7 koraka (sa slikama)
Mehanički sat sa sedam segmenata prikaza: Prije nekoliko mjeseci napravio sam dvocifreni mehanički ekran sa 7 segmenata koji sam pretvorio u mjerač vremena za odbrojavanje. Ispalo je prilično dobro i mnogi su ljudi predložili udvostručavanje ekrana kako bi napravili sat. Problem je bio u tome što sam već trčao
VELIKI Alfanumerički prikaz: 7 koraka (sa slikama)
VELIKI alfanumerički displej: Postoji nekoliko mogućnosti ako vam je potreban ekran koji se može vidjeti sa druge strane sobe, veliki ekran. Možete napraviti jedan poput moga „vrijeme na kvadrat“ili „LED diode na staklu“, ali za to je potrebno oko 40 sati dosadnog rada. Dakle, ovdje je LAKO napraviti veliki ekran
8051 Povezivanje sa DS1307 RTC i prikaz vremenske oznake na LCD -u: 5 koraka
8051 Povezivanje sa DS1307 RTC -om i prikaz vremenske oznake na LCD -u: U ovom vodiču smo vam objasnili kako možemo povezati 8051 mikrokontroler sa ds1307 RTC. Ovdje prikazujemo RTC vrijeme na LCD -u pomoću simulacije proteusa
Kako napraviti praćenje podataka uživo protiv koronavirusa COVID 19 s ESP8266, prikaz na e-papiru: 7 koraka
Kako napraviti živi prijenos podataka o koronavirusu COVID 19 s ESP8266, ekran e-papira: 1