Përmbajtje:
- Hapi 1: Koncepti i idesë
- Hapi 2: Lista e materialeve
- Hapi 3: Mjetet
- Hapi 4: Krijimi i kornizës
- Hapi 5: Skicimi i imazheve dhe koncepteve përfundimtare
- Hapi 6: Bëni Prerjen e Imazhit në Lëvizje
- Hapi 7: Përgatitja e softuerit
- Hapi 8: Krijimi i furnizimit me energji të pajisjeve kompjuterike
- Hapi 9: Bërja e hyrjes/daljes së pajisjeve dhe kontrollimi i daljes (NeoPixel po punon)
- Hapi 10: Montimi dhe ngjitja në rrotë
- Hapi 11: Kontrollimi i INPUT (Të dhënat e sensorit të HALL)
- Hapi 12: Algoritmi i kodimit
- Hapi 13: Përdorimi i Softuerit
- Hapi 14: Përfundoni
Video: Digilog_Bike POV Shfaqja: 14 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:16
Digilog
Digital + Analog
Digital takohet analog
POV
Qëndresa e Pamjes
Gjithashtu i njohur si shfaqje pas -imazhi, nëse tronditet me shpejtësi të madhe, imazhi pasues mbetet.
Njerëzit mendojnë se po shikojnë video kur shikojnë TV. Por në fakt, ai po shikon disa fotografi të njëpasnjëshme. Ky është gabim për një imazh për shkak të efektit të imazheve të tjera që mbeten në retinat tona kur shikoni fotografi të njëpasnjëshme. Ky lloj iluzioni quhet POV.
Hapi 1: Koncepti i idesë
POV zbatohet duke bashkangjitur një rrip LED në timonin e një biçiklete.
Hapi 2: Lista e materialeve
Llogaritja & I/O
1. Arduino Mega 2560 [arduino] x3
2. Moduli i sensorit Hall V2 [YwRobot] x3
3. WS2812-5050 Neopixel fleksibël [Adafruit] x3
4. Magnetike (diametri 15mm, trashësia 50mm) x3
5. Arduino Mega Case x3
Linjë pushteti
5. Bateri litiumi 5000mAh/3.7V [TheHan] x3
6. Rregullatori AVR 5V & modulimi i karikimit & PCM: JBATT-U5-LC [Jcnet] x3
7. Komplet me tel 4 jumper 65PCS/SET [OR0012] x3
Hapi 3: Mjetet
Nuk nevojiten shumë mjete, megjithatë do t'ju nevojiten:
1. Makinë saldimi
2. Një hekur bashkues
3. Armë ngjitëse
4. Ndarës
Hapi 4: Krijimi i kornizës
Prerja e biçikletës dhe ngjitja e bazës
Mulli u përdor për të prerë rrotat e biçikletës nga biçikleta dhe pllaka çeliku të salduara për të siguruar rrotat.
Hapi 5: Skicimi i imazheve dhe koncepteve përfundimtare
Ne zgjodhëm një dragua si imazhin përfundimtar. Sepse vala e dragoit dukej se ishte e përfaqësuar më së miri nga efekti i pasimazhit.
Hapi 6: Bëni Prerjen e Imazhit në Lëvizje
Ndani imazhin në tre pjesë që do të përshtaten në çdo biçikletë dhe ndani gjithsej 12 imazhe sipas ngjyrës dhe lëvizjes.
Hapi 7: Përgatitja e softuerit
Nënpjesa 1. Instaloni Arduino
Shkarkimi i Arduino:
(Instaloni për t'iu përshtatur versionit dhe sistemit tuaj OS.)
-
Nënpjesa 2. Instaloni bibliotekën
*(Nëse dëshironi të instaloni përmes Github, ju lutemi vizitoni lidhjen sipër Bibliotekës Github Arduino:
1. Drejtoni programin Arduino
2. Lejo lidhjen Menyja kryesore - skica - përfshini bibliotekën - shtoni bibliotekën. Zip
3. Ju duhet të zgjidhni skedarin. Zip që ka instaluar tashmë bibliotekën github4
*(Nëse dëshironi të përdorni shërbimet e programit Arduino)
1. Drejtoni programet Arduino
2. Lejo lidhjen Menyja kryesore - skica - përfshi bibliotekën - bibliotekën e menaxhimit - kërkimi ‘Adafruit neopixel’ - mund të shihni ‘Adafruit Neopixel by Adafruit’
3. Instaloni dhe përditësoni bibliotekën
-
Nënpjesa 3. Instaloni programin e konvertuesit
1. Instaloni Programin e Rrethit të Rrotullimit (R. C. P):
2. Ju duhet të lexoni një skedar README
Hapi 8: Krijimi i furnizimit me energji të pajisjeve kompjuterike
*Kjo është mënyra se si të furnizoni tensionin Arduino 5V përmes baterisë. Ju lutemi ndiqni hapat e mëposhtëm.
1. Lidhni baterinë litium dhe modulin e karikimit JBATT. (Për referencë, moduli JBATT ka një ndërprerës të integruar të energjisë.)
2. Lidhni terminalin dalës të JBATT me terminalin Vin të Arduino dhe terminalin Ground.
3. Lidhni portën USB Micro 5pin me portën e karikimit për të kontrolluar nëse produkti ka punuar siç duhet.
4. Tjetra, kthejeni çelësin e integruar në ON.
5. Nëse drita e kuqe ndizet dhe drita jeshile ndizet në Arduino, konfigurimi i fazës së fuqisë së produktit përfundon normalisht.
Hapi 9: Bërja e hyrjes/daljes së pajisjeve dhe kontrollimi i daljes (NeoPixel po punon)
*Kjo pjesë përbëhet nga faza e sensorit dhe daljes
1. Lidhni sensorët Arduino dhe Hall. Pina e të dhënave lidhet me kunjin Arduino 2.
2. Kur Arduino ndizet dhe magneti është në kontakt të ngushtë me sensorin Hall, drita e kuqe do të ndizet.
3. Lidhni Arduino dhe Neopixel. Përdoren vetëm 30 neopixel.
4. Lidhni pinin e të dhënave me pinin Arduino 6.
5. Lidhni Arduino dhe shkarkoni kabllon në portën usb të kompjuterit tuaj dhe ekzekutoni Arduino në kompjuterin tuaj.
6. Zgjidhni Tool - board - “Arduino / Genuino Mega ose Mega 2560” nga shiriti i menusë së lartë të programit Arduino.
7. Kontrolloni nëse ka një listë të produkteve që mund të lidhen drejtpërdrejt me portin. Nëse nuk është i kontrolluar, klikoni për ta zgjedhur atë.
8. Ngjiteni kodin më poshtë dhe klikoni Ngarko në pjesën e sipërme të majtë. (Më pas, të gjitha ngarkimet e programit ndjekin hapat 5-8.)
9. Konfigurimi përfundon kur ndizen të 30 pikselët e neoled.
#1 përfshirë skedarin e kokës dhe përpunimin paraprak
Së pari ne duhet të sjellim bibliotekën Adafruit_NeoPixel që është në gjendje të veprojë me Neopixel.
Biblioteka mund të përdoret duke deklaruar objekte.
Klasa Adafruit_NeoPixel mund të fusë 3 parametra në publik.
Parametri i parë është numri i LED -ve.
parametri i sekondave është numri i pinit i lidhur me hyrjen dixhitale Neopixel.
Parametri i tretë është futja e opsioneve sipas karakteristikave të produktit. produkti me tre ngjyra WS2812b përdor hyrjen 'NEO_GRB'
#përfshi
#përcaktoni PIN -in 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);
#2 konfigurim
Në pjesën e konfigurimit, inicializoni objektin dhe përgatiteni atë për përdorim.
'Adafruit_Neopixle_Object.begin ()' vendos që të gjitha LED -të të fiken.
'Adafruit_Neopixle_Object.show ()' del me ndriçimin e vendosur në LED.
void setup () {
strip.filloj (); shirit.shfaq (); }
#3 lak kryesor
Veprimi i lakut kryesor përdor një lak for për të nxjerrë vazhdimisht (0.1 sekonda) LED -të në ngjyrë të bardhë
lak void () {
për (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); shirit.shfaq (); vonesë (100); }}
Hapi 10: Montimi dhe ngjitja në rrotë
1. Lidhni neopixelët. (Kushtojini vëmendje kontrollit të numrit të kunjave)
2. Lidhni Sensorin e Sallës. (Referojuni Hapit.9)
3. Bashkangjitni kornizën në Arduino midis biçikletave. (Bashkojeni kutinë Arduino paralelisht me kornizën e biçikletës).
4. Fut Arduino të lidhur me Neopixel. (Kini kujdes sepse arma e zamit është e nxehtë).
5. Futni sensorin e lidhur të Hallit në Arduino, (Siguroni lidhësen e kabllit në mënyrë që sensori Hall të mos bjerë).
6. Saldator për të lidhur baterinë. (Kini kujdes kur lidhni).
7. Fiksoni atë me një armë zam. (Bashkoni modulin e karikimit në bateri për të siguruar hapësirë).
8. Lidheni çdo rresht para se të lidheni me Arduino, 9. Lidheni sipas secilit numër pin. (Lidhni linjat e kërcimit për modulin e karikimit pa i ngatërruar ato).
10. Përfundoni me një armë zam një herë, (Ju lutemi kini kujdes që të mos bini).
Hapi 11: Kontrollimi i INPUT (Të dhënat e sensorit të HALL)
*Kontrolloni kodin e softuerit për të parë nëse sensori po punon.
1. Ngjiteni dhe ngarkoni kodin më poshtë.
2. Klikoni butonin Serial Monitor në të djathtën e sipërme të Arduino.
3. Kur magneti është në kontakt me sensorin Hall për më shumë se 1 sekondë, konfigurimi përfundon kur fjala "magnetike e kontaktit" shfaqet në monitorin serik.
------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ #1 Përcaktoni numrin pin dhe konfigurimin
Numri i parë pin i konfigurimit për të përdorur sensorin Hall dhe për të vendosur numrin pin si një port vetëm për hyrje.
Vendosni komunikimin për të kontrolluar të dhënat e sensorit Hall në monitorin serik.
#përcakto SALLALLN 2
void setup () {pinMode (HALL, INPUT); Serial.filloj (9600); }
#2 lak kryesor
Kontrolloni të dhënat e sensorit Hall në intervale prej 0,1 sekondash.
Nëse magneti ndihet dhe të dhënat ndryshohen, "magnetika e kontaktit" del në monitorin serik.
lak void () {
if (digitalRead (HALL)) {Serial.println ("kontakt magnetik"); } vonesë (100); }
Hapi 12: Algoritmi i kodimit
*Krijoni logjikë dhe kodim për të kontrolluar neopixelët bazuar në vlerat e sensorit.
1. Ngjiteni dhe ngarkoni kodin më poshtë.
2. normalshtë normale që imazhi të mos shfaqet siç duhet sepse nuk prodhohet kornizë. Por mund ta shihni që funksionon përafërsisht.
3. Prekni dhe lëshoni shpejt sensorin dhe magnetin Hall brenda 1 sekonde. Përsëriteni këtë operacion rreth 10 herë.
4. Konfigurimi është i plotë kur ngjyrat e Neopixels ndryshojnë rregullisht.
#1 Përfshirë skedarët e kokës dhe përpunimin paraprak
Së pari, ne duhet të kuptojmë se kujtesa e Arduino Mega nuk është aq e madhe sa të mbajë një skedar imazhi.
Prandaj, skedari i titullit 'avr/pgmspace' përdoret për të shfrytëzuar hapësirë të ndryshme të kujtesës.
Për të përdorur Neopixels, ju deklaroni një objekt dhe konfigurimin një numër pin I/O.
Grupi i imazhit është shumë i madh për kodim, kështu që shkarkoni dhe ngjisni skedarët e bashkangjitur.
#përfshi
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // ngjitni grupin në 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'
#2 Ndryshore dhe konfigurim global
Vendosni një ndryshore globale.
Gjëja kryesore është të vendosni shkëlqimin, ai përcaktoi ciklin e jetës së produktit.
int numërimi = 0;
dyshe v = 0; dyshe last_v = 0; kohëmatës i dyfishtë = mikros (); ex_timer dyfish = mikros (); kohëzgjatja e fundit e dyfishtë = mikros (); int deg = 36; int pix = 35; int rgb = 3; dyfish q_arr [2] = {0, 0}; int HALL_COUNT = 0; dyshe VELO; kohëzgjatja e përpunimit të dyfishtë = mikros (); void setup () {strip.setBrightness (255); strip.filloj (); shirit.shfaq (); Serial.fillo (230400); }
#3 lak kryesor - pjesa dalëse e shprehjes së imazhit
Ky kod është një deklaratë e kushtëzuar se si të nxjerrë kohën kur rrota rrotullohet sipas rezolucionit.
Kjo pjesë përdor ciklin e rrotullimit të timonit të biçikletës një herë si një parametër shumë i rëndësishëm.
Gjithashtu, është e rëndësishme të lexoni të dhënat e grupit të imazhit nga kujtesa.
lak void () {
nëse ((numëroni (ex_timer / 120.0) - (mikrosh () - kohëzgjatja e përpunimit))) {kohëmatësi = mikro (); nëse (VELO> 360000) {për (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, shirit. Ngjyra (pgm_read_byte (& (image_1 [numërimi] [1])), pgm_read_byte (& (image_1 [numërimi] [2])), pgm_read_byte (& (image_1 [numërimi] [0])))); } strip.shfaq (); } tjetër nëse (VELO 264000) {për (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_2 [numërimi] [1])), pgm_read_byte (& (image_2 [numërimi] [2])), pgm_read_byte (& (image_2 [numërimi] [0])))); } strip.shfaq (); } tjetër nëse (VELO 204000) {për (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_3 [numërimi] [1])), pgm_read_byte (& (image_3 [numërimi] [2])), pgm_read_byte (& (image_3 [numërimi] [0])))); } strip.shfaq (); } tjetër nëse (VELO <= 204000) {për (int i = 0 + 5; i = 120)) {për (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, shirit. Ngjyra (0, 0, 0)); } strip.shfaq (); }
#4 lak kryesor - përpunimi dhe kontrolli dhe sensimi i kohës së ciklit
Kjo është pjesa më e rëndësishme e të gjithë sistemit.
Së pari, kontrolloni kohën e marrë për të ekzekutuar të gjithë kodin dhe rregulloni kohën e daljes LED për cikël.
Koha e ndjerë sa herë që rrota po rrotullohet parashikon kohën e ciklit tjetër.
Përshpejtimi mund të vlerësohet duke zbritur kohën e fundit të matur të ciklit nga koha e ciklit të matur në kohë.
Sistemi llogarit kohën dhe përshpejtimin e përpunimit për të llogaritur sa kohë LED ndizen vazhdimisht.
kohëzgjatja e përpunimit = mikros ();
nëse ((digitalRead (HALL) == LART) && (HALL_COUNT == 1)) {VELO = v; v = mikros () - kohëmatësi i fundit; ex_timer = q_arr [0] - q_arr [1] + v; kohëmatësi i fundit = mikros (); q_arr [0] = q_arr [1]; q_arr [1] = v; numërimi = 0; HALL_COUNT = 0; } tjetër if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
Hapi 13: Përdorimi i Softuerit
*Përdorni softuer për të transformuar imazhin dhe futur të dhënat e procesionit në kod
1. Futni imazhin nga hapi i mësipërm në dosjen e imazhit në dosjen R. C. P të instaluar në hapin e përgatitjes.
- Si të vendosni imazhin është si më poshtë.- Riemërtoni 4 imazhe të animuara të produktit # 1 në rendin e 1.png, 2.png, 3-p.webp
2. Drejtoni skedarin Ver.5.exe.
3. Verifikoni që 12 skedarë pro_1_code_1.txt në pro_3_code_4.txt janë krijuar në dosjen R. C. P.
4. Nëse nuk është krijuar, ndryshoni përmbajtjen e config.txt si skedari i mëposhtëm i konfigurimit.
5. Pasi të krijohet skedari, kopjoni të gjithë përmbajtjen nga skedari pro_1_code_1.txt dhe ngjiteni në pjesën e treguar në kodin më poshtë.
6. Shtoni përmbajtjen pro_1_code_2.txt, pro_1_code_3.txt dhe pro_1_code_4.txt në pjesën e shënuar në rendin e 5 -të.
7. Duke iu referuar 5 dhe 6, pro_2_code…, pro_3_code plotëson kodin në të njëjtën mënyrë.
Hapi 14: Përfundoni
Përfundoi prodhimin e një POV që krijon një imazh me tre rrota.
Recommended:
Shfaqja e dritës së Krishtlindjeve e sinkronizuar me muzikën!: 4 hapa
Christmas Light Show Synchronized to Music !: Në këtë udhëzues, unë do t'ju tregoj se si të bëni një shfaqje të dritës së Krishtlindjes të sinkronizuar me muzikën e Krishtlindjeve duke përdorur piksele RGB. Mos lejoni që ky emër t'ju trembë! Nuk është shumë e vështirë të mësosh se si ta bësh këtë. Unë do t'ju paralajmëroj edhe pse kjo mund të jetë mjaft
Shfaqja e 7 segmenteve me Arduino: 3 hapa
Shfaqja e 7 segmenteve me Arduino: Ju do të gjeni kodin dhe diagramin e qarkut si për katodën e zakonshme ashtu edhe për anodën e zakonshme të shtatë ekraneve të segmenteve në këtë artikull.7 Ekranet e segmenteve nuk duken mjaft moderne për ju, por ato janë mënyra më praktike për të shfaqur numrat. Ato janë të lehta për t’u përdorur,
Shfaqja Covid19 Stat IoT: 5 hapa
Covid19 Stat IoT Display: Bota aktualisht në pandeminë e koronavirusit dhe si shumë vende të tjera bllokimi i saj në Indi gjithashtu, kështu që unë mora këtë ide për të krijuar një ekran IoT që do të japë një azhurnim në kohë reale të Corona Statistics të vendit. Unë përdor një API që siguron të dhëna
Shfaqja e tekstit në OLED përmes internetit: 9 hapa
Shfaqja e Tekstit në OLED Përmes Internetit: Përshëndetje dhe Mirësevini, Ky tutorial i shkurtër do t'ju mësojë të shfaqni tekstin në një Magicbit duke përdorur Magicblocks. Ekzistojnë 2 metoda kryesore për arritjen e këtij qëllimi; Duke përdorur bllokun e injektimit. Duke përdorur Panelin. Para së gjithash hyni në Magicb tuaj
DIY Big 7-Segmenti Shfaqja në Internet: 5 hapa
DIY Big 7-Segment Internet Display: Në këtë projekt do t'ju tregoj se si i kam kombinuar ekranet 4 inç me 7 segmente dhe një modul ESP8266 Wifi për të krijuar një ekran 8 shifror që mund të paraqesë të dhënat tuaja më të rëndësishme nga interneti. Le të fillojmë