Orodha ya maudhui:
- Hatua ya 1: Badilisha alama ya Muziki kuwa Vidokezo vya Dijiti: Thamani za Kuchelewesha
- Hatua ya 2: Badilisha alama ya Muziki kuwa Vidokezo vya Dijiti: Thamani za Hertz
- Hatua ya 3: Ubunifu wa Mzunguko
- Hatua ya 4: Kupakia Nambari: Jinsi-Kwa
- Hatua ya 5: Kupakia Nambari: Yote Inamaanisha Nini?
- Hatua ya 6: Imemalizika !!
Video: Tengeneza wimbo na Arduino: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Nilitaka kuunda mradi uliojumuisha masomo mawili ninayopenda: sayansi na muziki. Nilifikiria njia zote ambazo ningeweza kuchanganya vikoa hivi viwili, na, nilifikiri kuwa itakuwa ya kupendeza kufanya Arduino kucheza Fur Elise wakati wa kuonyesha alama ya maandishi huko Hertz. Sasa, wacha tuanze kujenga!
Utahitaji Arduino Uno moja au Mega, nyaya nyingi za kuruka, buzzer ya Piezo, ubao wa mkate, skrini ya LCD 16 * 2 na pini zote za wiper mahali, na Potentiometer ya 10k (unaweza pia kuwasikia wakitajwa kama vipodozi). Ni bora kupata vifaa hivi pamoja kabla ya kuanza kujenga.
Hatua ya 1: Badilisha alama ya Muziki kuwa Vidokezo vya Dijiti: Thamani za Kuchelewesha
Kuna hatua mbili za kunakili daftari kutoka kwa alama kuwa sawa na dijiti. Kwanza, tutahitaji kuandika wakati barua inakaa kwa milliseconds. Niliajiri chati iliyopatikana mkondoni kwa kazi hii. Kulingana na iwapo noti ilikuwa nusu noti, robo noti, nukuu ya nane, nk, niliandika urefu wa noti hiyo kuwa milliseconds. Unaweza kuona nambari hizi kwenye nambari yangu kama kuchelewesha (); kazi na nambari iliyo ndani ya mabano itakuwa thamani ya ucheleweshaji kwa milliseconds tulizoamua katika hatua hii.
Hatua ya 2: Badilisha alama ya Muziki kuwa Vidokezo vya Dijiti: Thamani za Hertz
Kabla ya kuanza hatua hii, wacha nifafanue maneno kadhaa ya kiufundi. "Thamani" ya dokezo inaweza kutumiwa kwa kutumia maneno "lami", "thamani", na "dokezo". Sasa, lazima usome kila maandishi ya wimbo kutoka kwa alama. Utalazimika kutafsiri kila maandishi kuwa Hertz ukitumia muziki kwenye meza ya Hertz, ambayo unaweza kupata kwa urahisi mkondoni. Jambo moja kukumbuka ni kwamba katikati C imeorodheshwa kama C4 kwenye meza, na octave kubwa ni C5, na kadhalika. Mara tu noti hizi zote zikiwa zimesajiliwa kwa Hertz, utakuwa unaweka maadili kwenye toni ya kazi (x, y, z); ambapo X ni nambari ya pini au const int, njia ya kufafanua anuwai ambayo nitaelezea baadaye. Y itakuwa thamani ya Hertz ambayo umeandika tu, na Z itakuwa muda wa noti katika milisekunde iliyozungushwa kwa mia ya karibu. Kucheleweshwa (); maadili yatakuwa muda wa dokezo. Sasa, wacha tubuni mzunguko ambao unaweza kucheza muziki.
Hatua ya 3: Ubunifu wa Mzunguko
Sasa kwa kuwa tumetafsiri noti zote kuwa maadili ya dijiti ambayo kompyuta inaweza kuelewa, ni wakati wa kujenga mzunguko. Anza kwa kuchukua ubao wa mkate na kuweka skrini ya LCD na pini ya kwanza (GND) katika safu ya 14. Weka buzzer mahali popote unapopenda, na uweke potentiometer karibu nayo. Lengo ni kupanga kila kitu juu, kupunguza msongamano wa waya. Weka Arduino karibu na ubao wa mkate, na unganisha pini ya 5v kwenye reli nzuri ya ubao wa mkate, na pini ya ardhini kwa reli mbaya. Sasa, tuko tayari kuunganisha kuruka kati ya Arduino na vifaa.
Sasa, wacha tuzungumze juu ya pini kwenye LCD, na jinsi ya kuzitia waya.
GND inasimama kwa ardhi, hii ni waya hasi kwa sasa ya moja kwa moja. Waya GND kwa reli mbaya ya ubao wa mkate.
VCC inasimama kwa Voltage kwa Mkusanyaji wa Kawaida, na hapa ndipo unapounganisha chanzo chako cha nguvu cha volt 5 (reli nzuri ya nguvu).
VO inasimama kwa Tofauti, waya hii kwa pini ya kati ya potentiometer. Unganisha pini ya kushoto ya potentiometer na reli chanya ya umeme, na pini ya kulia na reli ya nguvu ya ardhini.
RS inasimama kwa Chagua Sajili, na hii inatumiwa na Arduino kuambia onyesho mahali pa kuhifadhi data. Unganisha pini hii kubandika 12 kwenye Arduino.
RW inasimama kwa Soma / Andika pini, ambayo Arduino hutumia kuangalia ikiwa skrini inaonyesha kile ulichoweka programu kuonyesha. Unganisha pini hii na reli hasi kwenye ubao wa mkate.
E inasimama Wezesha, ambayo inaambia LCD ni saizi gani za kuwezesha (kuwasha) au kuzima (zima). Unganisha pini hii na pini ya Arduino 11.
D4, D5, D6, na D7 ni pini za Kuonyesha zinazodhibiti herufi na herufi zinazoonyeshwa. Waunganishe na pini za Arduino 5, 4, 3, na 2, mtawaliwa.
Pini A, wakati mwingine inaitwa LED, ni anode ya LED ya taa ya nyuma. Unganisha hii kwenye reli nzuri ya umeme na waya au kwa kontena la 220-ohm. Kontena ni bora kwa matumizi marefu kwani inahifadhi LCD, lakini ikiwa kifaa hakitatumika mchana na usiku, hauitaji kontena.
Pini K, wakati mwingine pia (iliyochanganyikiwa) inayoitwa LED, ni pini ya ardhi ya LED. Unganisha hii kwenye reli ya umeme ya ardhini.
Hatua ya 4: Kupakia Nambari: Jinsi-Kwa
Chomeka Arduino yako kwenye USB ya kompyuta yako. Pakia nambari ifuatayo kwa kutumia programu ya Arduino IDE.
# pamoja
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal LCD (rs, sw, d4, d5, d6, d7);
usanidi batili () {
// weka safu ya safu na safu za LCD: lcd. anza (16, 2); // Chapisha ujumbe kwa LCD. lcd.print ("Hertz Pitch:!"); kuchelewesha (1000); kitanzi batili () {// cheza kuchelewa e4 (600); // pumzika kwa sekunde 0.6 toni (10, 329.63, 300); 329.63 "); // onyesha ujumbe kwenye LCD" 329.63"
kuchelewa (350); // kuchelewa kwa sekunde.35
lcd. clear (); // wazi LCD na uweke upya kwa ujumbe unaofuata // cheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (350); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.66, 300); lcd.print ("293.66"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd.safi (); lcd.print ("146.63"); kuchelewesha (350); lcd wazi (); // kucheza toni f3 (10, 174.61, 300); lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 300); lcd.print ("220"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 900); lcd.print ("246.94"); kuchelewesha (1000); lcd wazi ();
// kucheza e3
toni (10, 164.81, 300); lcd.print ("164.81"); kuchelewesha (400); lcd wazi (); // kucheza g3 # toni (10, 207.65, 300); lcd.print ("207.65"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya c4 (10, 261.63, 900); lcd.print ("261.63"); kuchelewesha (1000); lcd wazi (); // kucheza sauti (10, 164.81, 300); lcd.print ("164.81"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.66, 300); lcd.print ("293.66"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya d3 (10, 146.83, 300); lcd.print ("146.83"); kuchelewesha (400); lcd wazi (); // kucheza toni ya f3 (10, 174.61, 300); // eeprom 20-6 yesno, flash 65-0 noyes lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 300); lcd.print ("220.0"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 900); lcd.print ("246.94"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya f3 (10, 174.61, 300); lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.66, 300); lcd.print ("293.66"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 900); lcd.print ("329.63"); kuchelewesha (1000); lcd wazi (); // kucheza sauti ya g3 (10, 196, 300); lcd.print ("196.0"); kuchelewesha (400); lcd wazi (); // kucheza toni f4 (10, 349.23, 300); lcd.print ("349.23"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.23, 300); lcd.print ("329.23"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.63, 900); lcd.print ("293.63"); kuchelewesha (1000); lcd wazi (); // kucheza sauti ya e3 (10, 164.81, 300); lcd.print ("164.81"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.63, 300); lcd.print ("293.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya c4 (10, 261.63, 900); lcd.print ("261.63"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya d3 (10, 146.83, 300); lcd.print ("146.83"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.63, 300); lcd.print ("293.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 900); lcd.print ("246.94"); kuchelewesha (1000); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (350); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (350); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.66, 300); lcd.print ("293.66"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya d3 (10, 146.83, 300); lcd.print ("146.83"); kuchelewesha (350); lcd wazi (); // kucheza toni ya f3 (10, 174.61, 300); lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 300); lcd.print ("220.0"); kuchelewesha (400); // kucheza b3 lcd. wazi (); toni (10, 246.94, 900); lcd.print ("246.94"); kuchelewesha (1000); lcd wazi (); // kucheza sauti ya e3 (10, 164.81, 300); lcd.print ("164.81"); kuchelewesha (400); lcd wazi (); // kucheza g # 3 toni (10, 207.65, 300); lcd.print ("207.65"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya c4 (10, 261.63, 900); lcd.print ("261.63"); kuchelewesha (1000); kuchelewesha (300); lcd wazi (); // kucheza sauti ya e3 (10, 164.81, 300); lcd.print ("164.81"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza d4 # toni (10, 311.13, 300); lcd.print ("311.13"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya e4 (10, 329.63, 300); lcd.print ("329.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya d4 (10, 293.66, 300); lcd.print ("293.66"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya d3 (10, 146.83, 300); lcd.print ("146.83"); kuchelewesha (400); lcd wazi (); // kucheza toni f3 (10, 174.61, 300); lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 300); lcd.print ("220.0"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 900); lcd.print ("246.94"); kuchelewesha (1000); lcd wazi (); // kucheza toni ya f3 (10, 174.61, 300); lcd.print ("174.61"); kuchelewesha (400); lcd wazi (); // kucheza toni ya c4 (10, 261.63, 300); lcd.print ("261.63"); kuchelewesha (400); lcd wazi (); // kucheza sauti ya b3 (10, 246.94, 300); lcd.print ("246.94"); kuchelewesha (400); lcd wazi (); // kucheza toni ya3 (10, 220, 900); lcd.print ("220.0"); kuchelewesha (1000); lcd wazi (); }
Hatua ya 5: Kupakia Nambari: Yote Inamaanisha Nini?
Wacha tufafanue kazi zingine kwa Kiingereza, ili uweze kuelewa nambari.
toni (x, y, z); = cheza toni na sauti ya y Hertz, kwa buzzer kwenye pin x, kwa z milliseconds.
lcd.print ("XYZ"); = chapisha ujumbe na herufi XYZ kwa skrini ya LCD. (kwa mfano onyesha uwanja wa Hertz)
kuchelewesha (x); = pause kwa x milliseconds.
const int X = Y = weka kutofautisha X kubandika Y, na utumie X au Y kupeana majukumu kwa kifaa.
lcd wazi (); = futa skrini ya LCD na uweke upya kwa onyesho mpya
pinMode (X, OUTPUT); = weka pin X kwa hali ya pato
Mara tu utakapoelewa kazi hizi zote, unaweza kubadilisha vigeugeu kwa urahisi na data unayokusanya wakati wa kutafsiri wimbo, na kisha unaweza kuweka wimbo wa wimbo wako mwenyewe!
Hatua ya 6: Imemalizika !!
Labda una Arduino ambayo hucheza Fur Elise na inaonyesha maadili ya maandishi huko Hertz, au umetengeneza Arduino ambayo hucheza wimbo wa wimbo uliochagua, na kuonyesha maandishi ambayo ungetaka kuonyesha. Asante kwa kutembelea mafunzo haya, na ninatumahi kwako mradi huu kwenye Arduino.
Ilipendekeza:
Pesa Heist Wimbo wa BELLA CIAO katika Arduino Uno: Hatua 9 (na Picha)
Pesa Heist Wimbo wa BELLA CIAO katika Arduino Uno: Katika mafunzo haya, nitakuonyesha jinsi unaweza kucheza Maneno ya Heist ya Bella Ciao katika Arduino yoyote kwa msaada wa buzzer ya Piezoelectric. Mradi huu mzuri umejitolea kwa mashabiki wote wa Money Heist ulimwenguni kote. Kwa hivyo, Wacha tuanze
Wimbo wa Mandhari ya PUBG + Uhuishaji Na Arduino !: Hatua 13 (na Picha)
Wimbo wa Mandhari ya PUBG + Uhuishaji Na Arduino !: Halo hapo na karibu kwenye hii raha inayofurahisha! Natumai nyote mko sawa na mnaendelea kuwa na afya njema. Mradi huu mdogo lakini wa kushangaza ni juu ya kucheza wimbo wa mandhari ya PUBG na hata kuunda uhuishaji wa mchezo ukitumia vifaa vya arduino.The used are very e
Mafunzo ya Arduino Uno # 2 - Wimbo wa Buzzer: Hatua 4 (na Picha)
Arduino Uno Tutorial # 2 - Wimbo wa Buzzer: Halo kila mtu, kwani niliona kuwa mafunzo yangu ya kwanza yalikuwa mchezo mzuri, niliamua kuwa nitafanya safu kadhaa za mafunzo ya Arduino Uno kwako
Wimbo wa Nyota - Kiashiria cha Nyota na Tracker ya Arduino inayotumiwa: Hatua 11 (na Picha)
Track Star - Arduino Powered Star Pointer na Tracker: Star track ni msingi wa Arduino, GoTo-mount mfumo wa ufuatiliaji wa nyota ulioongozwa. Inaweza kuonyesha na kufuatilia kitu chochote angani (kuratibu za Mbingu zimepewa kama pembejeo) na 2 Arduinos, gyro, moduli ya RTC, motors mbili za bei ya chini na muundo wa 3D uliochapishwa
Tengeneza wimbo wa MP3 wa Chi Run "Metronome" MP3: Hatua 6 (na Picha)
Tengeneza wimbo wa MP3 wa Chi Run "Metronome" MP3: Hapo kabla sijaanza kukimbia katika Vibram Vidole Vitano mwaka jana pia nilisoma juu ya njia ya Kukimbia Chi iliyotengenezwa na Danny Dreyer ili niweze kurekebisha mtindo wangu wa kukimbia. Niligundua haraka kuwa kipande kimoja cha gia, metronome, kitasaidia, lakini