Orodha ya maudhui:

Kutengeneza Nyimbo na Arduino na DC Motor: 6 Hatua
Kutengeneza Nyimbo na Arduino na DC Motor: 6 Hatua

Video: Kutengeneza Nyimbo na Arduino na DC Motor: 6 Hatua

Video: Kutengeneza Nyimbo na Arduino na DC Motor: 6 Hatua
Video: Mambo 3 Ya Kufanya Leo Ili Uondoe Stress Maishani Mwako 2024, Julai
Anonim
Kutengeneza Nyimbo Na Arduino na DC Motor
Kutengeneza Nyimbo Na Arduino na DC Motor

Siku nyingine, wakati nilikuwa nikipitia nakala kadhaa kuhusu Arduino, niliona mradi unaovutia ambao ulitumia motors za stepper zinazodhibitiwa na Arduino kuunda nyimbo fupi. Arduino ilitumia pini ya PWM (Pulse Width Modulation) kuendesha motor stepper kwa masafa maalum, yanayofanana na maelezo ya muziki. Kwa muda ambao masafa yalicheza wakati, sauti wazi inaweza kusikika kutoka kwa motor stepper.

Walakini, nilipojaribu mwenyewe, niligundua kwamba motor stepper ninayo haiwezi kuzunguka haraka vya kutosha kuunda toni. Badala yake, nilitumia motor DC, ambayo ni rahisi kupanga na kuungana na Arduino. L293D IC ya kawaida inaweza kutumika kuendesha gari kwa urahisi kutoka kwa pini ya Arduino PWM, na kazi ya sauti ya asili () katika Arduino inaweza kutoa masafa muhimu. Kwa mshangao wangu, sikupata mifano yoyote au miradi inayotumia gari la DC mkondoni, na kwa hivyo Maagizo haya ni jibu langu la kurekebisha hilo. Tuanze!

P. S. Nadhani tayari una uzoefu na Arduino na unajua lugha yake ya programu na vifaa. Unapaswa kujua ni nini safu, ni nini PWM na jinsi ya kuitumia, na jinsi voltage na kazi ya sasa, kutaja tu vitu kadhaa. Ikiwa haupo bado au umeanza tu Arduino, usijali: jaribu ukurasa huu wa kuanza kutoka kwa tovuti rasmi ya Arduino na urudi wakati wowote utakapokuwa tayari.:)

Vifaa

  • Arduino (nilitumia UNO lakini unaweza kutumia Arduino tofauti ikiwa ungependa)
  • Kiwango cha 5V DC Motor, ikiwezekana mtu anaweza kushikamana na shabiki (angalia picha katika "Kukusanya Mzunguko"
  • L293D IC
  • Vifungo vingi vya kushinikiza kama maelezo kwenye wimbo unayotaka kucheza
  • Bodi ya mkate
  • Waya za Jumper

Hatua ya 1: Muhtasari

Hivi ndivyo mradi unavyofanya kazi: Arduino itazalisha wimbi la mraba kwa masafa yaliyopewa, ambayo hutoa kwa L293D. L293D imeunganishwa na usambazaji wa umeme wa nje ambao hutumia kuwezesha motor kwa masafa ambayo inapewa na Arduino. Kwa kuzuia shimoni la DC kutoka kuzunguka, motor inaweza kusikika ikizima na kuwasha kwa masafa, ambayo hutoa toni, au noti. Tunaweza kupanga Arduino kucheza maelezo wakati vifungo vimebanwa, au kuzicheza kiatomati.

Hatua ya 2: Kukusanya Mzunguko

Kukusanya Mzunguko
Kukusanya Mzunguko
Kukusanya Mzunguko
Kukusanya Mzunguko

Ili kukusanya mzunguko, fuata tu mchoro wa Fritzing hapo juu.

Kidokezo: Ujumbe kutoka kwa motor husikika vizuri wakati shimoni haizunguki. Niliweka shabiki kwenye shimoni la gari langu na nilitumia mkanda wa bomba kushikilia feni wakati motor inaendesha (tazama picha). Hii ilizuia shimoni kugeuka na kutoa sauti wazi, inayosikika. Unaweza kulazimika kufanya tepe ili kupata sauti safi kutoka kwa motor yako.

Hatua ya 3: Jinsi Mzunguko Unavyofanya Kazi

Jinsi Mzunguko Unavyofanya Kazi
Jinsi Mzunguko Unavyofanya Kazi

L293D ni IC inayotumika kwa kuendesha voltage ya juu sana, vifaa vya juu vya sasa kama vile relays na motors. Arduino haiwezi kuendesha gari nyingi moja kwa moja kutoka kwa pato lake (na EMF ya nyuma kutoka kwa gari inaweza kuharibu mzunguko nyeti wa dijiti wa Arduino), kwa hivyo IC kama L293D inaweza kutumika na usambazaji wa umeme wa nje kuendesha gari la DC. Kuingiza ishara kwenye L293D itatoa ishara hiyo kwa motor DC bila kuhatarisha Arduino.

Hapo juu kuna mpango / kazi ya L293D kutoka kwa data yake. Kwa kuwa tunaendesha tu gari 1 (L293D inaweza kuendesha 2), tunahitaji tu upande mmoja wa IC. Pini 8 ni nguvu, pini 4 na 5 ni GND, pini 1 ni pato la PWM kutoka Arduino, na pini 2 na 7 hudhibiti mwelekeo wa motor. Wakati pini 2 iko juu na pini 7 ni CHINI, motor inazunguka kwa njia moja, na pini 2 ikiwa chini na pin 7 iko juu, motor inazunguka kwa njia nyingine. Kwa kuwa hatujali ni njia ipi inayozunguka magari, haijalishi ikiwa pini 2 na 7 ni za chini au za juu, maadamu ni tofauti kutoka kwa kila mmoja. Pini 3 na 6 unganisha kwenye motor. Unaweza kuunganisha kila kitu kwa upande mwingine (pini 9-16) ikiwa unataka, lakini fahamu kuwa nguvu na pini za PWM hubadilisha maeneo.

Kumbuka: Ikiwa unatumia Arduino ambayo haina pini za kutosha kwa kila kitufe, unaweza kutumia mtandao wa vipinga kuunganisha swichi zote kwa pini moja ya analogi, kama vile kwenye mafundisho haya. Jinsi hii inavyofanya kazi iko nje ya wigo wa mradi huu, lakini ikiwa umewahi kutumia R-2R DAC unapaswa kuiona inajulikana. Kumbuka kuwa kutumia pini ya analogi itahitaji sehemu kubwa za nambari kuandikwa upya, kwani maktaba ya Kitufe haiwezi kutumiwa na pini za analog.

Hatua ya 4: Jinsi Kanuni inavyofanya kazi

Ili kurahisisha kushughulikia vifungo vyote, nilitumia maktaba inayoitwa "Button" na madleech. Nilijumuisha maktaba jambo la kwanza. Ifuatayo, kwenye mistari 8-22, nilielezea masafa ya noti zinazohitajika kucheza Twinkle, Twinkle, Little Star (wimbo wa mfano), pini nitakayotumia kuendesha L293D, na vifungo.

Katika kazi ya usanidi, nilianzisha Serial, vifungo, na kuweka pini ya dereva kwa L293D kwa hali ya pato.

Mwishowe, katika kitanzi kuu niliangalia ili kuona ikiwa kitufe kimesisitizwa. Ikiwa ina, Arduino hucheza maandishi yanayolingana na kuchapisha jina la dokezo kwa Serial Monitor (muhimu kwa kujua ni noti zipi zilizo kwenye ubao wako wa mkate). Ikiwa maandishi yametolewa, arduino husimamisha sauti yoyote bila Noone ().

Kwa bahati mbaya, kwa sababu ya njia ambayo maktaba imeundwa, sikuweza kupata njia ya kuangalia ikiwa kitufe kimesisitizwa au kutolewa kwa njia ndogo kuliko kutumia viyoyozi 2 kwa kila noti. Hitilafu nyingine iliyo na nambari hii ni kwamba ikiwa ungebonyeza vitufe viwili wakati huo huo kisha uachilie mojawapo, noti zote mbili zingekomeshwa, kwa sababu hakunaTone () inazuia noti zozote zinazozalishwa bila kujali ni nambari gani iliyosababisha.

Hatua ya 5: Kupanga wimbo

Badala ya kutumia vifungo kucheza maelezo, unaweza pia kupanga Arduino kukuchezea wimbo moja kwa moja. Hapa kuna toleo lililobadilishwa la mchoro wa kwanza ambao unacheza Twinkle, Twinkle, Nyota Ndogo kwenye gari. Sehemu ya kwanza ya mchoro ni sawa - kufafanua masafa ya dokezo na toniPini. Tunafika kwenye sehemu mpya saa bpm = "100". Ninaweka beats kwa dakika (bpm), halafu tumia hesabu kadhaa kujua idadi ya milliseconds kwa kila mpigo ambayo bpm inalingana nayo. Ili kufanya hivyo, nilitumia mbinu inayoitwa uchambuzi wa mwelekeo (usijali - sio ngumu kama inavyosikika). Ikiwa umewahi kuchukua kozi ya kemia ya shule ya upili, hakika umetumia uchambuzi wa mwelekeo kubadilisha kati ya vitengo. Kuelea () kunakuwepo ili kuhakikisha kuwa hakuna chochote katika equation iliyozungushwa hadi mwisho kabisa kwa usahihi.

Baada ya kuwa na idadi ya ms / beat, niligawanya au kuzidisha ipasavyo kupata viwango vya millisecond vya muda tofauti wa maandishi uliopatikana kwenye muziki. Kisha mimi hutengeneza safu ya kila maandishi kwa mpangilio, na nyingine na muda wa kila dokezo. Ni muhimu kwamba faharisi ya kila noti ilingane na faharisi ya muda wake, vinginevyo, melody yako itasikika. Niliweka maandishi kwa Twinkle, Twinkle, Little Star hapa kama mfano lakini unaweza kujaribu wimbo wowote au mlolongo wa noti ambazo ungependa.

Uchawi halisi hufanyika katika kazi ya kitanzi. Kwa kila moja ya maandishi, mimi hucheza toni kwa muda niliouelezea katika safu ya beat_values. Badala ya kutumia ucheleweshaji hapa, ambao ungesababisha sauti ichezwe, nilirekodi wakati tangu mpango uanze na kazi ya millis (), na uiondoe kutoka wakati wa sasa. Wakati wakati unazidi wakati niliyobainisha dokezo kudumu katika safu ya beat_values, mimi huacha barua hiyo. Ucheleweshaji baada ya kitanzi upo kuongeza pengo kati ya noti, kuhakikisha kuwa noti zinazofuata na masafa sawa hazitachanganyika pamoja.

Hatua ya 6: Maoni

Hiyo ni kwa mradi huu. Ikiwa kuna kitu ambacho hauelewi, au ikiwa una maoni yoyote, tafadhali usisite kuwasiliana nami. Kwa kuwa hii ndio Maagizo yangu ya kwanza, ningefurahi sana maoni na maoni juu ya jinsi ya kuboresha yaliyomo. Tutaonana wakati mwingine!

Ilipendekeza: