Sisukord:

Digilog_Bike POV -ekraan: 14 sammu
Digilog_Bike POV -ekraan: 14 sammu

Video: Digilog_Bike POV -ekraan: 14 sammu

Video: Digilog_Bike POV -ekraan: 14 sammu
Video: Servo Motor with Arduino | Arduino Starter kit by Digilog.pk 2024, November
Anonim
Image
Image

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

Idee kontseptsioon
Idee kontseptsioon

POV rakendatakse, kinnitades jalgratta rattale LED -rihma.

Samm: materjalide loend

Materjalide loend
Materjalide loend
Materjalide loend
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

Tööriistad
Tööriistad

Vaja pole liiga palju tööriistu, kuid teil on vaja:

1. Jootmismasin

2. Jootekolb

3. Liimipüstol

4. Nipper

Samm: raami tegemine

Image
Image
Raami tegemine
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õpppiltide ja kontseptsioonide visandamine
Lõpppiltide ja kontseptsioonide visandamine
Lõpppiltide ja kontseptsioonide visandamine
Lõpppiltide ja kontseptsioonide visandamine
Lõpppiltide ja kontseptsioonide visandamine
Lõpppiltide 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

Tee liikuva pildi lõikamine
Tee liikuva pildi lõikamine
Tee liikuva pildi lõikamine
Tee 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

Tarkvara ettevalmistamine
Tarkvara ettevalmistamine
Tarkvara ettevalmistamine
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

Riistvara toiteallika valmistamine
Riistvara toiteallika valmistamine
Riistvara toiteallika valmistamine
Riistvara toiteallika valmistamine
Riistvara toiteallika valmistamine
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)

Riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
Riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
Riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
Riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
Riistvara I/O tegemine ja väljundi kontrollimine (NeoPixel töötab)
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

Kokkupanek ja ratta külge kinnitamine
Kokkupanek ja ratta külge kinnitamine
Kokkupanek ja ratta külge kinnitamine
Kokkupanek ja ratta külge 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

SISENDI (HALL -anduri andmete) kontrollimine
SISENDI (HALL -anduri andmete) kontrollimine
SISENDI (HALL -anduri andmete) kontrollimine
SISENDI (HALL -anduri andmete) kontrollimine
SISENDI (HALL -anduri andmete) kontrollimine
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

Tarkvara kasutamine
Tarkvara kasutamine
Tarkvara kasutamine
Tarkvara kasutamine
Tarkvara kasutamine
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

Täielik
Täielik
Täielik
Täielik
Täielik
Täielik

Lõpetas POV -i tootmise, mis loob ühe pildi kolme rattaga.

Soovitan: