INHOUDSOPGAWE:
- Stap 1: idee -konsep
- Stap 2: Materiaallys
- Stap 3: gereedskap
- Stap 4: Maak raam
- Stap 5: Skets finale beelde en konsepte
- Stap 6: Maak bewegende prentjies sny
- Stap 7: Berei sagteware voor
- Stap 8: Maak hardeware -kragtoevoer
- Stap 9: Maak hardeware -I/O en kyk na UITPUT (NeoPixel werk)
- Stap 10: Monteer en bevestig aan die wiel
- Stap 11: Gaan INPUT (HALL Sensor Data) na
- Stap 12: Koderingsalgoritme
- Stap 13: Gebruik sagteware
- Stap 14: Voltooi
Video: Digilog_Bike POV -skerm: 14 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Digilog
Digitaal + analoog
Digitaal ontmoet analoog
POV
Volharding van visuele
Dit staan ook bekend as 'n na -beeld -vertoning, as dit met hoë spoed geskud word, bly die na -beeld oor.
Mense dink dat hulle na video kyk as hulle TV kyk. Maar eintlik kyk hy na verskeie opeenvolgende foto's. Dit word verkeerdelik beskou as 'n beeld vanweë die effek van na -beelde wat op ons netvlies oorbly wanneer ons opeenvolgende foto's kyk. Hierdie soort illusie word 'n POV genoem.
Stap 1: idee -konsep
POV word geïmplementeer deur 'n LED -band aan die wiel van 'n fiets vas te maak.
Stap 2: Materiaallys
Rekenaars en I/O
1. Arduino Mega 2560 [arduino] x3
2. Hallsensormodule V2 [YwRobot] x3
3. WS2812-5050 Buigsame Neopixel [Adafruit] x3
4. Magneties (deursnee van 15 mm, dikte van 50 mm) x3
5. Arduino Mega Case x3
Kraglyn
5. 5000mAh/3.7V litiumbattery [TheHan] x3
6. AVR 5V-reguleerder en laai en PCM-module: JBATT-U5-LC [Jcnet] x3
7. 4Jumper draadstel 65PCS/SET [OR0012] x3
Stap 3: gereedskap
Nie te veel gereedskap nodig nie, maar u benodig:
1. Soldeermasjien
2. 'n Soldeerbout
3. Plak pistool
4. Nipper
Stap 4: Maak raam
Sny die fiets en maak die voetstuk vas
Die slypmasjien is gebruik om die fietswiele van die fiets af te sny en gelaste staalplate om die wiele vas te maak.
Stap 5: Skets finale beelde en konsepte
Ons het 'n draak gekies as die laaste beeld. Omdat die golf van die draak die beste blyk te wees deur die na -beeld -effek.
Stap 6: Maak bewegende prentjies sny
Verdeel die prent in drie dele wat op elke fiets pas en deel die totaal van 12 beelde volgens kleur en beweging.
Stap 7: Berei sagteware voor
Onderdeel 1. Installeer Arduino
Arduino -aflaai:
(Installeer om by u bedryfstelselweergawe en -stelsel te pas.)
-
Onderdeel 2. Installeer biblioteek
*(As u deur Github wil installeer, besoek die skakel hierbo Github Arduino -biblioteek:
1. Begin die Arduino -program
2. Laat die skakel toe Top menu - skets - sluit biblioteek in - voeg. Zip biblioteek by
3. U moet die. Zip -lêer kies wat reeds github library4 geïnstalleer het
*(As u die Arduino -programdienste wil gebruik)
1. Begin Arduino -programme
2. Laat die skakel toe Top menu - skets - sluit biblioteek in - bestuur biblioteek - soek 'Adafruit neopixel' - u kan 'Adafruit Neopixel by Adafruit' sien
3. Installeer en werk biblioteek op
-
Onderdeel 3. Installeer omskakelingsprogram
1. Installeer Rotation Circle Program (R. C. P):
2. U moet 'n README -lêer lees
Stap 8: Maak hardeware -kragtoevoer
*So kan u Arduino 5V -spanning deur die battery verskaf. Volg die onderstaande stappe.
1. Koppel die litiumbattery en die JBATT -laaimodule aan. (Ter verwysing het die JBATT-module 'n ingeboude kragskakelaar.)
2. Koppel die uitgangsklem van JBATT aan die Vin -terminaal van die Arduino- en die grondterminale.
3. Koppel die Micro 5pin usb -poort aan die laaipoort om te kyk of die produk behoorlik werk.
4. Skakel vervolgens die ingeboude skakelaar na AAN.
5. As die rooi led brand en die groen LED in Arduino, word die konfigurasie van die produksiestadium normaalweg voltooi.
Stap 9: Maak hardeware -I/O en kyk na UITPUT (NeoPixel werk)
*Hierdie deel bestaan uit sensor en uitsetstadium
1. Koppel die Arduino- en Hall -sensors. Die gegewenspen word verbind met Arduino -pen 2.
2. As die Arduino aangeskakel word en die magneet in noue kontak met die Hall -sensor is, brand die rooi led.
3. Koppel Arduino en Neopixel. Slegs 30 Neopixels word gebruik.
4. Koppel die gegewenspen met Arduino -pen 6.
5. Koppel die Arduino en laai die kabel af na die USB -poort van u rekenaar en voer Arduino op u rekenaar uit.
6. Kies Gereedskapbord - “Arduino / Genuino Mega of Mega 2560” in die boonste menubalk van die Arduino -program.
7. Kyk of daar 'n lys produkte is wat direk aan die poort gekoppel kan word. As dit nie gemerk is nie, klik om dit te kies.
8. Plak die onderstaande kode en klik op Upload links bo. (Daarna volg alle programoplaaie stappe 5-8.)
9. Konfigurasie is voltooi wanneer al 30 neoled pixels aangeskakel word.
#1. insluitend koplêer en voorafverwerking
Eerstens moet ons die biblioteek Adafruit_NeoPixel saambring wat Neopixels kan verwerk.
Biblioteek kan gebruik word deur voorwerpe te verklaar.
Adafruit_NeoPixel -klas kan 3 parameters in die openbaar invoer.
Die eerste parameter is die aantal LED's.
sekondes parameter is die speldnommer wat gekoppel is aan die digitale invoer van Neopixel.
Die derde parameter is om opsies in te voer volgens die produkeienskappe. drie-kleur WS2812b-produk gebruik die 'NEO_GRB'-invoer
#insluit
#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);
#2. stel op
In die opsetgedeelte, initialiseer die voorwerp en berei dit voor vir gebruik.
'Adafruit_Neopixle_Object.begin ()' stel alle LED's aan om uit te skakel.
'Adafruit_Neopixle_Object.show ()' uitsette met die helderheid in die LED.
ongeldige opstelling () {
strip.begin (); strip.show (); }
#3. hooflus
Die werking van die hooflus gebruik 'n for -lus om die LED's in wit opeenvolgend uit te voer (0.1 sekondes)
leemte -lus () {
vir (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); vertraging (100); }}
Stap 10: Monteer en bevestig aan die wiel
1. Koppel Neopixels. (Gee aandag aan pin -tjek)
2. Koppel die Hall Sensor. (Verwys na Stap 9)
3. Heg die raam tussen die fietse aan die Arduino vas. (Bevestig die Arduino -omhulsel parallel met die fietsraam).
4. Plaas die Arduino wat op Neopixel gekoppel is. (Wees versigtig, want die gomgeweer is warm).
5. Steek die gekoppelde Hall -sensor in die Arduino (bevestig die kabelbinder sodat die Hall -sensor nie val nie).
6. Soldeer om battery aan te sluit. (Wees versigtig as u soldeer).
7. Maak dit reg met 'n gomgeweer. (Bevestig die laai -module op die battery om ruimte te beveilig).
8. Koppel elke lyn aan voordat u met Arduino aansluit, 9. Koppel volgens elke speldnommer aan. (Koppel die springlyne vir die laai -module sonder om dit te verwar).
10. Sluit een keer met 'n gomgeweer af (wees versigtig om nie te val nie).
Stap 11: Gaan INPUT (HALL Sensor Data) na
*Gaan die sagtewarekode na om te sien of die sensor werk.
1. Plak en laai die onderstaande kode op.
2. Klik op die Serial Monitor -knoppie regs bo in die Arduino.
3. As die magneet meer as 1 sekonde in aanraking is met die Hall -sensor, word die opstelling voltooi wanneer die woord "kontakmagneties" op die seriële monitor verskyn.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Definieer speldnommer en opstelling
Die eerste konfigurasie-speldnommer om die Hall-sensor te gebruik en die speldnommer in te stel as slegs 'n invoerpoort.
Stel die kommunikasie in om die data van die Hall -sensor op die seriële monitor na te gaan.
#definieer HALL 2
ongeldige opstelling () {pinMode (HALL, INPUT); Serial.begin (9600); }
#2. hooflus
Kontroleer die Hall sensor data met tussenposes van 0.1 sekondes.
As die magneet waargeneem word en die data verander word, word 'kontakmagneet' na die seriële monitor gestuur.
leemte -lus () {
if (digitalRead (HALL)) {Serial.println ("kontak magneties"); } vertraging (100); }
Stap 12: Koderingsalgoritme
*Skep logika en kodering om Neopixels te beheer op grond van sensorwaardes.
1. Plak en laai die onderstaande kode op.
2. Dit is normaal dat die beeld nie behoorlik vertoon word nie, omdat daar geen raam gemaak word nie. Maar jy kan sien dat dit ongeveer werk.
3. Raak die hall sensor en magneet vinnig binne 1 sekonde los. Herhaal hierdie operasie ongeveer 10 keer.
4. Die opset is voltooi wanneer die kleure van die Neopixels gereeld verander.
#1. Insluitend koptekstlêers en voorafverwerking
Eerstens moet ons verstaan dat die geheue van die Arduino Mega nie groot genoeg is om 'n beeldlêer te hou nie.
Daarom word die 'avr/pgmspace' -koplêer gebruik om verskillende geheue ruimte te benut.
Om Neopixels te gebruik, verklaar u 'n voorwerp en konfigurasie as 'n I/O -speldnommer.
Die beeldreeks is te groot om te kodeer, dus laai die aangehegte lêers af en plak dit.
#insluit
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // plak skikking in 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'
#2. Globale veranderlike en opstelling
Stel 'n globale veranderlike op.
Die belangrikste ding is om die helderheid in te stel, dit bepaal die lewensiklus van die produk.
int telling = 0;
dubbel v = 0; dubbel laaste_v = 0; dubbele timer = mikros (); dubbel ex_timer = micros (); dubbel laaste_timer = mikros (); int deg = 36; int pix = 35; int rgb = 3; dubbel q_arr [2] = {0, 0}; int HALL_COUNT = 0; dubbel VELO; dubbele verwerkingstyd = mikros (); ongeldige opstelling () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }
#3. hooflus - beelduitdrukkingsuitsetdeel
Hierdie kode is 'n voorwaardelike verklaring oor hoe om die tyd wat die wiel draai deur resolusie te lewer.
Hierdie deel gebruik die siklus om die fietswiel een keer te draai as 'n baie belangrike parameter.
Dit is ook belangrik om beeldreeksdata uit die geheue te lees.
leemte -lus () {
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 (); } anders as (VELO 264000) {vir (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 (); } anders as (VELO 204000) {vir (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 (); } anders as (VELO <= 204000) {vir (int i = 0 + 5; i = 120)) {vir (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (0, 0, 0)); } strip.show (); }
#4. hooflus - verwerking en siklustydkontrole en -waarneming
Dit is die belangrikste deel van die hele stelsel.
Kontroleer eers die tyd wat dit neem om die hele kode uit te voer en pas die LED -uitsetyd per siklus aan.
Die tyd wat waargeneem word elke keer as die wiel draai, voorspel die tyd van die volgende siklus.
Versnelling kan beraam word deur die laaste gemete siklustyd af te trek van die tydsgemete siklustyd.
Die stelsel bereken die verwerkingstyd en versnelling om te bereken hoe lank die LED's aanhoudend aanskakel.
verwerkingstyd = mikros ();
as ((digitalRead (HALL) == HOOG) && (HALL_COUNT == 1)) {VELO = v; v = micros () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; laaste_timer = mikros (); q_arr [0] = q_arr [1]; q_arr [1] = v; telling = 0; HALL_COUNT = 0; } anders as (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
Stap 13: Gebruik sagteware
*Gebruik sagteware om die prentjie te transformeer en prosessiedata in die kode in te voeg
1. Voeg die prent van die bogenoemde stap in die prentemap in die R. C. P -gids wat in die voorbereidingsstap geïnstalleer is.
- Hoe om die prentjie te plaas, is soos volg.- Hernoem 4 geanimeerde beelde van produk # 1 in volgorde van 1.png, 2.png, 3-p.webp
2. Begin die Ver.5.exe -lêer.
3. Verifieer dat 12 lêers pro_1_code_1.txt na pro_3_code_4.txt in die R. C. P -lêergids geskep word.
4. As dit nie geskep is nie, verander die inhoud van config.txt as die volgende konfigurasielêer.
5. Sodra die lêer geskep is, kopieer die hele inhoud van die lêer pro_1_code_1.txt en plak dit in die deel wat in die onderstaande kode verskyn.
6. Voeg die pro_1_code_2.txt, pro_1_code_3.txt en pro_1_code_4.txt inhoud by die gemerkte deel in die 5de orde.
7. Met verwysing na 5 en 6, voltooi die pro_2_code…, pro_3_code die kode op dieselfde manier.
Stap 14: Voltooi
Die vervaardiging van 'n POV is voltooi wat een beeld met drie wiele skep.
Aanbeveel:
Maak u eie POV LED Globe: 5 stappe (met foto's)
Maak u eie POV LED Globe: In hierdie projek sal ek u wys hoe ek 'n paar staalstukke gekombineer het met 'n Arduino, 'n APA102 LED Strip en 'n Hall -effek sensor om 'n POV (persistentie van visie) RGB LED Globe te skep. Daarmee kan u allerhande sferiese prente maak
ESP8266 POV -waaier met klok- en webblad -teksopdatering: 8 stappe (met foto's)
ESP8266 POV -waaier met klok- en webblad -teksopdatering: dit is 'n veranderlike spoed, POV (Persistence Of Vision), waaier wat met tussenposes die tyd wys en twee sms'e wat onmiddellik bygewerk kan word. "The POV Fan is ook 'n enkele bediener se webbediener waarmee u die twee teks my kan verander
Maak u eie POV -vertoning: 3 stappe
Maak u eie POV -vertoning: Die persepsie van visie (POV) of Persistence of Vision (dit het verskeie variasies) is 'n interessante verskynsel van menslike sig wat voorkom wanneer die visuele waarneming van 'n voorwerp nie ophou nie, ondanks die verandering van die voorwerp. Die mens sien 'n beeld
Hoe om eenvoudige POV te maak: 6 stappe (met foto's)
Hoe om eenvoudige POV te maak: Hiii, vandag is ek terug met 'n interessante projek LED POV (Persistence of Vision) Met hierdie projek kan u 'n naam met 5 letters vertoon. Dit is baie maklik om met arduino te werk. Moenie bekommerd wees as u as jy beginner is met arduino, dan moet jy beslis
BIG POV Fan: HACKED !!: 7 stappe (met foto's)
BIG POV Fan: HACKED !!: DIT is 'n eenvoudige, prettige en maklike selfdoenprojek wat kinders en volwassenes kan geniet om te maak. POV of volharding van visieprojekte is interessante en prettige projekte om te bou. Al wat u nodig het, is 'n motor gelei, en 'n paar maklik om te vind komponente, as u daarvan hou