Sisukord:
- 1. samm: ideekontseptsioon
- Samm: materjalide loend
- Samm: tööriistad
- Samm: raami tegemine
- 5. samm: lõplike piltide ja kontseptsioonide visandamine
- 6. samm: tehke liikuva pildi lõikamine
- Samm: tarkvara ettevalmistamine
- 8. samm: riistvara toiteallika valmistamine
- 9. samm: riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
- Samm: ratta kokkupanek ja kinnitamine
- Samm 11: SISENDI (HALL -anduri andmete) kontrollimine
- 12. samm: kodeerimisalgoritm
- Samm 13: Tarkvara kasutamine
- 14. samm: lõpetage
Video: Digilog_Bike POV -ekraan: 14 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Digilog
Digitaalne + analoog
Digitaalne kohtub analoogiga
POV
Visuaalne vastupidavus
Tuntud ka kui järelkujutise kuva, suurel kiirusel loksutades jääb järelpilt alles.
Inimesed arvavad, et vaatavad televiisorit vaadates videot. Kuid tegelikult vaatab ta mitut järjestikust pilti. Seda eksitatakse kujutisega, kuna järjestikuste piltide vaatamisel jäid meie võrkkestale järelkujutised. Sellist illusiooni nimetatakse POV -iks.
1. samm: ideekontseptsioon
POV rakendatakse, kinnitades jalgratta rattale LED -rihma.
Samm: materjalide loend
Arvutamine ja I/O
1. Arduino Mega 2560 [arduino] x3
2. Halli anduri moodul V2 [YwRobot] x3
3. WS2812-5050 Paindlik neopiksel [Adafruit] x3
4. Magnetiline (läbimõõt 15mm, paksus 50mm) x3
5. Arduino Mega ümbris x3
Elektriliin
5. 5000mAh/3,7V liitiumaku [TheHan] x3
6. AVR 5V regulaator, laadimis- ja PCM-moodul: JBATT-U5-LC [Jcnet] x3
7. 4Jumper traadi komplekt 65tk/komplekt [OR0012] x3
Samm: tööriistad
Vaja pole liiga palju tööriistu, kuid teil on vaja:
1. Jootmismasin
2. Jootekolb
3. Liimipüstol
4. Nipper
Samm: raami tegemine
Jalgratta lõikamine ja aluse kinnitamine
Veskit kasutati jalgratta rataste lõikamiseks ja keevitatud terasplaate rataste kinnitamiseks.
5. samm: lõplike piltide ja kontseptsioonide visandamine
Lõplikuks pildiks valisime draakoni. Sest draakoni lainet tundus kõige paremini kujutavat järelpildi efekt.
6. samm: tehke liikuva pildi lõikamine
Jagage pilt kolmeks osaks, mis sobivad igale rattale, ja jagage kokku 12 pilti värvi ja liikumise järgi.
Samm: tarkvara ettevalmistamine
Alamosa 1. Installige Arduino
Arduino allalaadimine:
(Installige vastavalt oma OS -i versioonile ja süsteemile.)
-
Alamosa 2. Installige kogu
*(Kui soovite installida Githubi kaudu, külastage palun Githubi Arduino raamatukogu kohal olevat linki:
1. Käivitage Arduino programm
2. Luba ülemine menüü - visand - teegi - lisa. Zip -teek
3. Peate valima. Zip -faili, mis on juba installinud githubi teegi4
*(Kui soovite kasutada Arduino programmi teenuseid)
1. Käivitage Arduino programmid
2. Luba ülemine menüü - visand - kaasake raamatukogu - haldusraamatukogu - otsige „Adafruit neopixel” - näete teksti „Adafruit Neopixel by Adafruit”
3. Installige ja värskendage kogu
-
Alamosa 3. Installige muundurprogramm
1. Installige Rotation Circle Program (R. C. P):
2. Peate lugema README -faili
8. samm: riistvara toiteallika valmistamine
*Nii saate Arduino 5V pinget aku kaudu toita. Palun järgige alltoodud samme.
1. Ühendage liitiumaku ja JBATT laadimismoodul. (Viide: JBATT-moodulil on sisseehitatud toitelüliti.)
2. Ühendage JBATT -i väljundklemm Arduino ja Ground -terminali Vin -klemmiga.
3. Ühendage Micro 5pin USB -port laadimispordiga, et kontrollida, kas toode on korralikult töötanud.
4. Seejärel keerake sisseehitatud lüliti asendisse ON.
5. Kui punane LED -tuli süttib ja roheline LED -tuli süttib Arduinos, on toote toiteastme konfiguratsioon tavapäraselt lõpule viidud.
9. samm: riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
*See osa koosneb andurist ja väljundastmest
1. Ühendage Arduino ja Halli andurid. Andmepulk ühendub Arduino tihvtiga 2.
2. Kui Arduino on sisse lülitatud ja magnet on Hall -anduriga tihedas kontaktis, süttib punane LED -tuli.
3. Ühendage Arduino ja Neopixel. Kasutatakse ainult 30 neopikslit.
4. Ühendage andmestik Arduino tihvtiga 6.
5. Ühendage Arduino ja allalaadimiskaabel arvuti USB -porti ja käivitage Arduino oma arvutis.
6. Valige Arduino programmi ülemisest menüüribalt Tool - board - “Arduino / Genuino Mega või Mega 2560”.
7. Kontrollige, kas on olemas nimekiri toodetest, mida saab otse pordiga ühendada. Kui see pole märgitud, klõpsake selle valimiseks.
8. Kleepige allolev kood ja klõpsake vasakus ülanurgas nuppu Laadi üles. (Seejärel järgige kõik programmide üleslaadimised samme 5–8.)
9. Seadistamine on lõpule jõudnud, kui kõik 30 ühendatud pikslit lülituvad sisse.
#1. sealhulgas päisefail ja eeltöötlus
Esmalt peame kaasa võtma raamatukogu Adafruit_NeoPixel, mis on võimeline toimima neopiksleid.
Raamatukogu saab kasutada objektide deklareerimisega.
Adafruit_NeoPixel klass saab avalikult sisestada 3 parameetrit.
Esimene parameeter on valgusdioodide arv.
sekundi parameeter on Neopixeli digitaalsisendiga ühendatud tihvti number.
Kolmas parameeter on sisestada suvandid vastavalt toote omadustele. kolmevärviline WS2812b toode kasutab sisendit „NEO_GRB”
#kaasake
#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);
#2. seadistamine
Häälestusosas lähtestage objekt ja valmistage see kasutamiseks ette.
„Adafruit_Neopixle_Object.begin ()” lülitab kõik LED -id välja.
'Adafruit_Neopixle_Object.show ()' väljundid, mille heledus on LED -is seatud.
tühine seadistus () {
riba.algus (); strip.show (); }
#3. peamine silmus
Põhiahela toiming kasutab silmust, et väljastada (0,1 sekundit) järjestikku valgeid LED -e
void loop () {
for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); viivitus (100); }}
Samm: ratta kokkupanek ja kinnitamine
1. Ühendage neopikslid. (Pöörake tähelepanu PIN -koodi kontrollimisele)
2. Ühendage Halli andur. (Vaadake 9. sammu)
3. Kinnitage raam jalgrataste vahele Arduino külge. (Kinnitage Arduino ümbris jalgrattaraamiga paralleelselt).
4. Sisestage Neopixeliga ühendatud Arduino. (Olge ettevaatlik, sest liimipüstol on kuum).
5. Sisestage ühendatud Halli andur Arduinosse (kinnitage kaabliühendus nii, et Halli andur ei kukuks maha).
6. Joodis aku ühendamiseks. (Olge jootmisel ettevaatlik).
7. Kinnitage see liimipüstoliga. (Kinnitage laadimismoodul aku tagamiseks ruumi tagamiseks).
8. Ühendage iga liin enne Arduinoga ühendamist, 9. Ühendage pistik iga pin -numbri järgi. (Ühendage laadimismooduli hüppenöörid neid segamata).
10. Lõpeta liimipüstoliga üks kord, (palun ole ettevaatlik, et mitte kukkuda).
Samm 11: SISENDI (HALL -anduri andmete) kontrollimine
*Kontrollige tarkvara koodi, kas andur töötab.
1. Kleepige ja laadige alla kood.
2. Klõpsake Arduino paremas ülanurgas nuppu Serial Monitor.
3. Kui magnet puutub Hall -anduriga kokku rohkem kui 1 sekund, on konfiguratsioon lõpule viidud, kui jadamonitorile ilmub sõna „kontaktmagnet”.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Määrake pin -number ja seadistus
Esimene konfiguratsiooni tihvti number, mis kasutab Halli andurit ja määrab selle numbri ainult sisendpordiks.
Seadistage side Hall -anduri andmete kontrollimiseks jadamonitoril.
#määratle saal 2
void setup () {pinMode (HALL, INPUT); Seriaalne algus (9600); }
#2. peamine silmus
Kontrollige Halli anduri andmeid 0,1 -sekundilise intervalliga.
Kui magnetit tuvastatakse ja andmeid muudetakse, väljastatakse jadamonitorile "kontaktmagnet".
void loop () {
if (digitalRead (HALL)) {Serial.println ("contact magnet"); } viivitus (100); }
12. samm: kodeerimisalgoritm
*Looge loogika ja kodeering, et juhtida neopiksleid sensori väärtuste põhjal.
1. Kleepige ja laadige alla kood.
2. On normaalne, et pilti ei kuvata õigesti, kuna kaadrit ei toodeta. Kuid näete, et see töötab umbes.
3. Puudutage Hall -andurit ja magnetit kiiresti 1 sekundi jooksul ja vabastage need. Korrake seda toimingut umbes 10 korda.
4. Seadistamine on lõppenud, kui neopikslite värvid muutuvad regulaarselt.
#1. Sealhulgas päisefailid ja eeltöötlus
Esiteks peame mõistma, et Arduino Mega mälu pole pildifaili hoidmiseks piisavalt suur.
Seetõttu kasutatakse päisefaili „avr/pgmspace” erineva mäluruumi kasutamiseks.
Neopikselite kasutamiseks kuulutate objekti ja konfiguratsiooni sisend-/väljundnumbri.
Pildimassiiv on kodeerimiseks liiga suur, seega laadige alla ja kleepige manustatud failid.
#kaasake
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // kleepige massiiv kausta 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'
#2. Globaalne muutuja ja seadistus
Määrake globaalne muutuja.
Peamine asi on heleduse määramine, see määrab toote olelusringi.
int loend = 0;
kahekordne v = 0; topelt viimane_v = 0; kahekordne taimer = mikros (); topelt ex_timer = micros (); topelt viimane_taimer = micros (); int deg = 36; int pix = 35; int rgb = 3; topelt q_arr [2] = {0, 0}; int HALL_COUNT = 0; kahekordne VELO; topelt töötlemise_taimer = micros (); void setup () {strip.setBrightness (255); riba.algus (); strip.show (); Serial.begin (230400); }
#3. peamine silmus - kujutise avaldamise väljundosa
See kood on tingimuslik avaldus selle kohta, kuidas eraldada ratta pöörlemisaega resolutsiooni järgi.
See osa kasutab jalgrattaratta ühekordse pööramise tsüklit väga olulise parameetrina.
Samuti on oluline lugeda pildimassiivi andmeid mälust.
void loop () {
if ((arv (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); kui (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 (); } muidu kui (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 (); } muidu kui (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, riba. Värv (0, 0, 0)); } strip.show (); }
#4. peamine silmus - töötlemine ja tsükli aja kontrollimine ja tuvastamine
See on kogu süsteemi kõige olulisem osa.
Esiteks kontrollige kogu koodi täitmiseks kuluvat aega ja reguleerige LED -väljundaega tsükli kohta.
Iga kord, kui ratas pöörleb, tunneb aeg järgmise tsükli aega.
Kiirendust saab hinnata, lahutades õigeaegselt mõõdetud tsükli ajast viimase mõõdetud tsükli aja.
Süsteem arvutab töötlemisaja ja kiirenduse, et arvutada, kui kaua LED -id pidevalt põlevad.
töötlemise_taimer = micros ();
if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - viimane_taimer; ex_timer = q_arr [0] - q_arr [1] + v; viimane_taimer = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; loendus = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
Samm 13: Tarkvara kasutamine
*Kasutage tarkvara pildi teisendamiseks ja protsessiooniandmete sisestamiseks koodi
1. Sisestage ülaltoodud etapi pilt ettevalmistamisetapis installitud R. C. P kausta pildikausta.
- Kuidas pilti panna, on järgmine.- Nimeta ümber toote 4 animeeritud pildid järjekorras 1.png, 2.png, 3-p.webp
2. Käivitage fail Ver.5.exe.
3. Veenduge, et kausta R. C. P on loodud 12 faili pro_1_code_1.txt kuni pro_3_code_4.txt.
4. Kui seda ei looda, muutke config.txt sisu järgmiseks konfiguratsioonifailiks.
5. Kui fail on loodud, kopeerige kogu sisu failist pro_1_code_1.txt ja kleepige see allolevas koodis näidatud ossa.
6. Lisage 5. järjekorras märgitud osale sisu pro_1_code_2.txt, pro_1_code_3.txt ja pro_1_code_4.txt.
7. Viidates punktidele 5 ja 6, lõpetab pro_2_code…, pro_3_code koodi samamoodi.
14. samm: lõpetage
Lõpetas POV -i tootmise, mis loob ühe pildi kolme rattaga.
Soovitan:
Tehke oma POV LED -gloobus: 5 sammu (piltidega)
Tehke oma POV LED -gloobus: Selles projektis näitan teile, kuidas ühendasin paar terasetükki Arduino, APA102 LED -riba ja Halli efekti anduriga, et luua POV (nägemise püsivus) RGB LED -gloobus. Selle abil saate luua igasuguseid sfäärilisi pilte
Ventilaatori POV -ekraani tegemine: 6 sammu (piltidega)
Kuidas teha ventilaatori POV -ekraani: Selles projektis näitan teile, kuidas muutsin tavalise vana ventilaatori LED -POV -kuvariks, mis võib teile näidata valgusmustreid, sõnu või isegi aega. Alustame
ESP8266 POV -ventilaator koos kella ja veebilehe teksti värskendamisega: 8 sammu (piltidega)
ESP8266 POV -ventilaator koos kella ja veebilehe teksti värskendamisega: see on muutuva kiirusega POV (visiooni püsivus), ventilaator, mis vahelduvalt kuvab kellaaega, ja kaks tekstisõnumit, mida saab vahepeal "värskendada". on ka ühelehekülgne veebiserver, mis võimaldab teil muuta kahte teksti mulle
Lihtsa POV -i tegemine: 6 sammu (piltidega)
Kuidas lihtsat POV -i teha: Hiii, täna olen tagasi huvitava projektiga LED POV (visiooni püsivus) Selle projektiga saate kuvada nime, mis sisaldab 5 tähte. See on väga lihtne projektitöö arduinoga. Ärge muretsege, kui olete arduinoga algaja, siis peaksite määratlema
BIG POV -ventilaator: häkkinud !!: 7 sammu (piltidega)
BIG POV -fänn: häkkinud! kõik, mida vajate, on mootori led ja mõned hõlpsasti leitavad komponendid, kui teile see meeldis