Orodha ya maudhui:

Maonyesho ya Digilog_Bike POV: Hatua 14
Maonyesho ya Digilog_Bike POV: Hatua 14

Video: Maonyesho ya Digilog_Bike POV: Hatua 14

Video: Maonyesho ya Digilog_Bike POV: Hatua 14
Video: Rome, Italy Walking Tour - 4K60fps with Captions - Prowalk Tours 2024, Julai
Anonim
Image
Image

Digilog

Digital + Analog

Digital hukutana na analog

POV

Mtazamo wa Kuonekana

Pia inajulikana kama onyesho la baada ya siku, ikiwa linatikiswa kwa mwendo wa kasi, picha ya baadaye inabaki.

Watu wanadhani wanaangalia video wakati wanaangalia TV. Lakini kwa kweli, anaangalia picha kadhaa mfululizo. Hii ni makosa kwa picha kwa sababu ya athari za baadaye zinazobaki kwenye retina zetu wakati wa kutazama picha mfululizo. Aina hii ya udanganyifu inaitwa POV.

Hatua ya 1: Dhana ya Wazo

Dhana ya Wazo
Dhana ya Wazo

POV inatekelezwa kwa kuambatisha kamba ya LED kwenye gurudumu la baiskeli.

Hatua ya 2: Orodha ya Vifaa

Orodha ya Vifaa
Orodha ya Vifaa
Orodha ya Vifaa
Orodha ya Vifaa

Kompyuta na I / O

1. Arduino Mega 2560 [arduino] x3

2. Moduli ya sensa ya ukumbi V2 [YwRobot] x3

3. WS2812-5050 Neopixel inayobadilika [Adafruit] x3

4. Magnetic (kipenyo cha 15mm, unene wa 50mm) x3

5. Kesi ya Mega ya Arduino x3

Njia ya Nguvu

5. 5000mAh / 3.7V Lithium Battery [TheHan] x3

6. Mdhibiti wa AVR 5V & kuchaji na moduli ya PCM: JBATT-U5-LC [Jcnet] x3

7. 4Kiti ya waya ya juu 65PCS / SET [OR0012] x3

Hatua ya 3: Zana

Zana
Zana

Sio vifaa vingi sana vinavyohitajika hata hivyo utahitaji:

1. Mashine ya Soldering

2. Chuma cha Soldering

3. Bunduki ya gundi

4. Nipper

Hatua ya 4: Kufanya Sura

Image
Image
Kutengeneza fremu
Kutengeneza fremu

Kukata Baiskeli na Kuunganisha Msingi

Grinder ilitumika kukata magurudumu ya baiskeli mbali ya baiskeli na svetsade sahani za chuma ili kupata magurudumu.

Hatua ya 5: Kuchora Picha za mwisho na Dhana

Kuchora Picha za mwisho na Dhana
Kuchora Picha za mwisho na Dhana
Kuchora Picha za mwisho na Dhana
Kuchora Picha za mwisho na Dhana
Kuchora Picha za mwisho na Dhana
Kuchora Picha za mwisho na Dhana

Tulichagua joka kama picha ya mwisho. Kwa sababu wimbi la joka lilionekana kuwa linawakilishwa vyema na athari ya baadaye.

Hatua ya 6: Tengeneza Kusonga kwa Picha

Fanya Picha ya Kusonga
Fanya Picha ya Kusonga
Fanya Picha ya Kusonga
Fanya Picha ya Kusonga

Gawanya picha hiyo katika sehemu tatu ambazo zitatoshea kwenye kila baiskeli na ugawanye jumla ya picha 12 kwa rangi na mwendo.

Hatua ya 7: Kuandaa Programu

Kuandaa Programu
Kuandaa Programu
Kuandaa Programu
Kuandaa Programu

Sehemu ndogo ya 1. Sakinisha Arduino

Upakuaji wa Arduino:

(Sakinisha kutoshea toleo na mfumo wako wa OS.)

-

Sehemu ndogo ya 2. Sakinisha maktaba

* (Ikiwa ungependa kusanikisha kupitia Github, tafadhali tembelea kiunga hapo juu Maktaba ya Github Arduino:

1. Endesha programu ya Arduino

Ruhusu kiunga Menyu ya juu - mchoro - ni pamoja na maktaba - ongeza maktaba ya Zip

3. Unapaswa kuchagua faili ya. Zip ambayo tayari imeweka maktaba ya github4

* (Ikiwa unataka kutumia huduma za programu ya Arduino)

1. Endesha programu za Arduino

2. Ruhusu kiunga Menyu ya juu - mchoro - ni pamoja na maktaba - maktaba ya usimamizi - unatafuta 'Adafruit neopixel' - unaweza kuona 'Adafruit Neopixel na Adafruit'

3. Sakinisha na usasishe maktaba

-

Sehemu ndogo ya 3. Sakinisha programu ya kubadilisha fedha

1. Sakinisha Programu ya Mzunguko wa Mzunguko (R. C. P):

2. Unahitaji kusoma faili ya README

Hatua ya 8: Kutengeneza Ugavi wa Umeme wa Vifaa

Kufanya Ugavi wa Umeme wa Vifaa
Kufanya Ugavi wa Umeme wa Vifaa
Kufanya Ugavi wa Umeme wa Vifaa
Kufanya Ugavi wa Umeme wa Vifaa
Kufanya Ugavi wa Umeme wa Vifaa
Kufanya Ugavi wa Umeme wa Vifaa

* Hii ndio njia ya kusambaza voltage ya Arduino 5V kupitia betri. Tafadhali fuata hatua zifuatazo.

1. Unganisha betri ya Lithiamu na moduli ya kuchaji ya JBATT. (Kwa kumbukumbu, moduli ya JBATT ina swichi ya nguvu iliyojengwa.)

2. Unganisha kituo cha pato cha JBATT kwa Vin terminal ya Arduino na Ground terminal.

3. Unganisha bandari ya usb ya Micro 5pin kwenye bandari ya kuchaji ili kuangalia ikiwa bidhaa hiyo imekuwa ikifanya kazi vizuri.

4. Ifuatayo, washa swichi iliyojengwa kuwasha.

5. Ikiwa nyekundu iliyoongozwa inaangaza na kijani kilichoongozwa kijani kibichi huko Arduino, usanidi wa hatua ya nguvu ya bidhaa hukamilika kawaida.

Hatua ya 9: Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)

Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)
Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)
Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)
Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)
Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)
Kufanya vifaa vya I / O na kuangalia OUTPUT (NeoPixel Working)

* Sehemu hii ina sensa na hatua ya pato

1. Unganisha sensorer za Arduino na Hall. Pini ya data inaunganisha na siri ya Arduino 2.

2. Arduino inapowashwa na sumaku iko katika mawasiliano ya karibu na sensa ya Ukumbi, mwongozo mwekundu utawaka.

3. Unganisha Arduino na Neopixel. Neopixels 30 tu hutumiwa.

4. Unganisha pini ya data na pini ya Arduino 6.

5. Unganisha Arduino na upakue kebo kwenye bandari ya usb ya kompyuta yako na uendesha Arduino kwenye kompyuta yako.

6. Chagua Zana - bodi - "Arduino / Genuino Mega au Mega 2560" kutoka kwenye menyu ya juu ya programu ya Arduino.

7. Angalia ikiwa kuna orodha ya bidhaa ambazo zinaweza kushikamana moja kwa moja na bandari. Ikiwa haijakaguliwa, bonyeza ili uichague.

8. Bandika nambari hapa chini na ubonyeze Pakia juu kushoto. (Baadaye, upakiaji wote wa programu hufuata hatua 5-8.)

9. Usanidi umekamilika wakati saizi zote 30 za neoled zinawasha.

# 1. pamoja na faili ya kichwa na utayarishaji

Kwanza tunahitaji kuleta maktaba Adafruit_NeoPixel ambayo inaweza kuigiza Neopixels.

Maktaba inaweza kutumika kwa kutangaza vitu.

Darasa la Adafruit_NeoPixel linaweza kuingiza parameta 3 hadharani.

Kigezo cha kwanza ni idadi ya LED.

parameter ya sekunde ni nambari ya pini iliyounganishwa na pembejeo ya dijitali ya Neopixel.

Kigezo cha tatu ni chaguzi za kuingiza kulingana na sifa za bidhaa. bidhaa ya rangi tatu ya WS2812b hutumia pembejeo ya 'NEO_GRB'

# pamoja

#fafanua PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB + NEO_KHZ800);

# 2. kuanzisha

Katika sehemu ya usanidi, anzisha kitu na uitayarishe kwa matumizi.

'Adafruit_Neopixle_Object.begin ()' inaweka LED zote kuzima.

'Adafruit_Neopixle_Object.show ()' matokeo na mwangaza uliowekwa kwenye LED.

usanidi batili () {

strip. kuanza (); onyesha (); }

# 3. kitanzi kuu

Kitendo cha kitanzi kuu hutumia kitanzi kwa kutoa kwa mtiririko (sekunde 0.1) LED zilizo nyeupe

kitanzi batili () {

kwa (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); onyesha (); kuchelewesha (100); }}

Hatua ya 10: Kukusanyika na Kuambatanisha na Gurudumu

Kukusanyika na Kuambatanisha na Gurudumu
Kukusanyika na Kuambatanisha na Gurudumu
Kukusanyika na Kuambatanisha na Gurudumu
Kukusanyika na Kuambatanisha na Gurudumu

1. Unganisha Neopixels. (Zingatia ukaguzi wa nambari ya siri)

2. Unganisha Sensor ya Ukumbi. (Rejea Hatua ya 9)

3. Ambatisha sura kwa Arduino kati ya baiskeli. (Ambatisha kesi ya Arduino inayofanana na fremu ya baiskeli).

4. Ingiza Arduino iliyounganishwa na Neopixel. (Kuwa mwangalifu kwa sababu bunduki ya gundi ni moto).

5. Ingiza sensorer iliyounganishwa ya Jumba ndani ya Arduino, (Salama tai ya kebo ili sensor ya Jumba isianguke).

6. Solder kuunganisha betri. (Kuwa mwangalifu wakati unauza).

7. Rekebisha na bunduki ya gundi. (Ambatisha moduli ya kuchaji kwenye betri ili kupata nafasi).

8. Chomeka kila mstari kabla ya kuunganisha kwa Arduino, 9. Chomeka kulingana na kila nambari ya siri. (Unganisha mistari ya kuruka kwa moduli ya kuchaji bila kuwachanganya).

10. Maliza kwa bunduki ya gundi mara moja, (Tafadhali kuwa mwangalifu usianguke).

Hatua ya 11: Kuangalia Pembejeo (Takwimu za Sura za SURA)

Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)
Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)
Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)
Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)
Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)
Kuangalia Pembejeo (Takwimu za Sensorer ya HALL)

* Angalia msimbo wa programu ili uone ikiwa sensor inafanya kazi.

1. Bandika na pakia nambari hapa chini.

2. Bonyeza kitufe cha Monitor Monitor juu kulia kwa Arduino.

3. Wakati sumaku inawasiliana na sensorer ya Hall kwa zaidi ya sekunde 1, usanidi unakamilika wakati neno "mawasiliano ya sumaku" linaonekana kwenye mfuatiliaji wa serial.

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- # 1. Fafanua nambari ya pini na usanidi

Nambari ya pini ya usanidi wa kwanza kutumia sensa ya Jumba na weka nambari ya pini kama bandari ya Kuingiza tu.

Weka mawasiliano ili kuangalia data ya sensorer ya Jumba kwenye mfuatiliaji wa serial.

#fafanua Jumba 2

kuanzisha batili () {pinMode (HALL, INPUT); Kuanzia Serial (9600); }

# 2. kitanzi kuu

Angalia data ya sensa ya Jumba kwa vipindi vya sekunde 0.1.

Ikiwa sumaku imehisi na data hubadilishwa, "mawasiliano ya sumaku" ni pato kwa mfuatiliaji wa serial.

kitanzi batili () {

ikiwa (digitalRead (HALL)) {Serial.println ("wasiliana na magnetic"); } kuchelewa (100); }

Hatua ya 12: Algorithm ya Usimbuaji

* Unda mantiki na usimbuaji kudhibiti Neopixels kulingana na maadili ya sensa.

1. Bandika na pakia nambari hapa chini.

2. Ni kawaida kwa picha kutoonyeshwa vizuri kwa sababu hakuna fremu inayozalishwa. Lakini unaweza kuona inafanya kazi takribani.

3. Gusa haraka na utoe sensa ya Ukumbi na sumaku ndani ya sekunde 1. Rudia operesheni hii karibu mara 10.

4. Usanidi umekamilika wakati rangi za Neopixels hubadilika mara kwa mara.

# 1. Ikijumuisha faili za kichwa na utayarishaji

Kwanza, lazima tuelewe kuwa kumbukumbu ya Arduino Mega haitoshi kushikilia faili ya picha.

Kwa hivyo, faili ya kichwa cha 'avr / pgmspace' hutumiwa kutumia nafasi tofauti ya kumbukumbu.

Kutumia Neopixels, unatangaza kitu na usanidi nambari ya siri ya I / O.

Upangaji wa picha ni mkubwa sana kwa usimbuaji, kwa hivyo pakua na ubandike faili zilizoambatishwa.

# pamoja

#jumuisha #fafanua PIN 6 #fafanua NUMPIXELS 30 #fafanua Jumba 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // panga safu katika 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

# 2. Utofauti wa kimataifa na usanidi

Weka tofauti ya ulimwengu.

Jambo kuu ni kuweka mwangaza, ilikuwa ikiamua mzunguko wa maisha wa bidhaa.

hesabu = 0;

mara mbili v = 0; mara mbili mwisho_v = 0; timer mara mbili = micros (); ex_timer mara mbili = micros (); mara mbili ya mwisho_timer = micros (); int deg = 36; pix = int 35; int rgb = 3; q_arr mara mbili [2] = {0, 0}; int HALL_COUNT = 0; mara mbili VELO; kusindika mara mbili_timer = micros (); kuanzisha batili () {strip.setBrightness (255); strip. kuanza (); onyesha (); Kuanzia Serial (230400); }

# 3. kitanzi kuu - sehemu ya kutoa picha

Nambari hii ni taarifa ya masharti juu ya jinsi ya kutoa wakati gurudumu linazunguka kwa azimio.

Sehemu hii hutumia mzunguko wa kugeuza gurudumu la baiskeli mara moja kama kigezo muhimu sana.

Pia, ni muhimu kusoma data ya safu ya picha kutoka kwa kumbukumbu.

kitanzi batili () {

ikiwa ((hesabu (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); ikiwa (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 (na (image_1 [count] [0])))); } onyesha (); } vingine ikiwa (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 (na (picha_2 [hesabu] [0])))); } onyesha (); } vingine ikiwa (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 (na (picha_3 [hesabu] [0])))); } onyesha (); } vingine ikiwa (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip Rangi (0, 0, 0)); } onyesha (); }

# 4. kitanzi kuu - usindikaji na kuangalia wakati wa mzunguko na kuhisi

Hii ndio sehemu muhimu zaidi ya mfumo mzima.

Kwanza, angalia wakati uliochukuliwa kutekeleza nambari nzima na urekebishe wakati wa pato la LED kwa kila mzunguko.

Wakati uliohisi kila wakati gurudumu linapozunguka hutabiri wakati wa mzunguko unaofuata.

Kuongeza kasi kunaweza kukadiriwa kwa kutoa muda wa mwisho wa mzunguko uliopimwa kutoka kwa wakati wa mzunguko uliopimwa wakati.

Mfumo huhesabu wakati wa usindikaji na kuongeza kasi ili kuhesabu ni muda gani LED zinawashwa mfululizo.

usindikaji_timer = micros ();

ikiwa ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - mwisho_timer; ex_timer = q_arr [0] - q_arr [1] + v; mwisho_timer = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; hesabu = 0; HALL_COUNT = 0; } kingine ikiwa (digitalRead (HALL) == CHINI) {HALL_COUNT = 1; }}

Hatua ya 13: Kutumia Programu

Kutumia Programu
Kutumia Programu
Kutumia Programu
Kutumia Programu
Kutumia Programu
Kutumia Programu

* Tumia programu kubadilisha picha na kuingiza data ya maandamano kwenye nambari

1. Ingiza picha kutoka hatua ya juu kwenye folda ya picha kwenye folda ya R. C. P iliyosanikishwa katika hatua ya maandalizi.

- Jinsi ya kuweka picha ni kama ifuatavyo - Badili jina picha 4 za uhuishaji za bidhaa # 1 kwa mpangilio wa 1.png, 2.png, 3.png, na 4-p.webp

2. Endesha faili ya Ver.5.exe.

3. Thibitisha kuwa faili 12 pro_1_code_1.txt kwa pro_3_code_4.txt zimeundwa kwenye folda ya R. C. P.

4. Ikiwa haijaundwa, badilisha yaliyomo kwenye config.txt kama faili ifuatayo ya usanidi.

5. Mara faili itakapoundwa, nakili yaliyomo yote kutoka kwa faili pro_1_code_1.txt na ubandike kwenye sehemu iliyoonyeshwa kwenye nambari hapa chini.

6. Ongeza pro_1_code_2.txt, pro_1_code_3.txt, na pro_1_code_4.txt yaliyomo kwenye sehemu iliyowekwa alama katika mpangilio wa 5.

7. Ikimaanisha 5 na 6, nambari ya pro_2_…, pro_3_code inakamilisha nambari kwa njia ile ile.

Hatua ya 14: Kamilisha

Kukamilisha
Kukamilisha
Kukamilisha
Kukamilisha
Kukamilisha
Kukamilisha

Imekamilisha utengenezaji wa POV ambayo inaunda picha moja na magurudumu matatu.

Ilipendekeza: