Orodha ya maudhui:

Piano ya Arduino Na Kitufe cha Kubonyeza: 3 Hatua
Piano ya Arduino Na Kitufe cha Kubonyeza: 3 Hatua

Video: Piano ya Arduino Na Kitufe cha Kubonyeza: 3 Hatua

Video: Piano ya Arduino Na Kitufe cha Kubonyeza: 3 Hatua
Video: 28 панфиловцев. Самая полная версия. Panfilov's 28 Men (English subtitles) 2024, Novemba
Anonim
Piano ya Arduino Na Kitufe cha Kushinikiza
Piano ya Arduino Na Kitufe cha Kushinikiza
Piano ya Arduino Na Kitufe cha Bonyeza
Piano ya Arduino Na Kitufe cha Bonyeza

Iliundwa na: Haotian Ye

Maelezo ya jumla

Hii ni bodi ya piano iliyo na swichi za kushinikiza nane ambazo hukuruhusu kucheza octave moja (Do Re Mi Fa So La Si Do) na kwa octave hii moja unaweza kujaribu kucheza nyimbo kadhaa unazopenda. Kwa mradi huu kuna maarifa muhimu unayohitaji kujua kabla ya kuanza.

Kwanza, tunahitaji kujua masafa ya maelezo ya kimsingi ya piano.

Masafa yameorodheshwa hapa chini:

Fanya - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Kwa hivyo - 392Hz

La - 440Hz

Si - 493Hz

Fanya - 523Hz

Pili, nitakuonyesha jinsi ya kujenga mzunguko kwa kutumia sehemu ambazo zinaweza kununuliwa kutoka Duka la Elektroniki la Lee. Mwishowe, nitawasilisha na kuelezea nambari ambayo inahitaji kupakiwa kwenye bodi ya Arduino.

Sehemu utakazohitaji:

Arduino Uno R3 (Kitambulisho cha Bidhaa: 10997)

USB A hadi B Cable M / M (Kitambulisho cha Bidhaa: 29861)

Kizuizi cha 10K * 8 (Kitambulisho cha Bidhaa: 91516)

Rangi tofauti za Tack Switch * 8 (Kitambulisho cha Bidhaa: 3124, 31242, 31243, 31245, 31246)

Spika ndogo (Kitambulisho cha Bidhaa: 41680)

Bodi ya mkate (Kitambulisho cha Bidhaa: 106861)

Waya za Jumper (Kitambulisho cha Bidhaa: 21801)

Hatua ya 1: Hatua ya 1: Kuunda Mzunguko

Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko
Hatua ya 1: Kuunda Mzunguko

Kwanza, ingiza swichi zote za kitufe cha kushinikiza na spika mini kwenye ubao wa mkate moja kwa moja na uzilingane na safu moja. Kisha unganisha pini za kila swichi ya kitufe cha kushinikiza chini. Pili unganisha vipinga 10k kati ya nguvu chanya na pini zingine za kila swichi ya kitufe cha kushinikiza. Na, unganisha safu hii na pini 2-9 kwenye Bodi ya Arduino. Pia, unganisha ardhi na pini ya ardhi na nguvu nzuri kwa pini 3.3v kwenye Arduino. Mwishowe, unganisha spika ndogo na pini 10 kwenye Arduino.

Hatua ya 2: Hatua ya 2: Kanuni na Ufafanuzi

Nambari iliyo hapa chini ndio niliyoandika

const int nyeusi = 2;

const int nyeupe = 3;

nyekundu int nyekundu = 4;

kijani kibichi = 5;

bluu ya bluu = 6;

const int nyeusi2 = 7;

const int kijani2 = 8;

const int nyekundu2 = 9;

const int speaker = 10; // Unganisha swichi zote za kitufe cha kushinikiza na spika na pini za ishara ya arduino

int frequency = {262, 294, 330, 349, 392, 440, 493, 523}; // safu zina masafa yote ya octave moja

usanidi batili () {

// weka nambari yako ya usanidi hapa, kukimbia mara moja:

pinMode (nyeusi, INPUT);

pinMode (nyeupe, INPUT);

pinMode (nyekundu, INPUT);

pinMode (kijani, INPUT);

pinMode (bluu, INPUT);

pinMode (nyeusi2, INPUT);

pinMode (kijani2, INPUT);

pinMode (nyekundu2, INPUT);

pinMode (spika, OUTPUT);

toni (spika, 2000);

Kuanzia Serial (9600);

}

kitanzi batili () {

// weka nambari yako kuu hapa, kukimbia mara kwa mara:

ikiwa (digitalRead (nyeusi) == LOW) // unapobonyeza kitufe cha "DO" cha kushinikiza

{toni (spika, masafa [0], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (nyeupe) == LOW) // unapobonyeza kitufe cha "RE" cha kushinikiza

{toni (spika, masafa [1], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (nyekundu) == LOW) // unapobonyeza kitufe cha kushinikiza cha "MI"

{toni (spika, masafa [2], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (kijani) == LOW) // unapobonyeza kitufe cha kushinikiza cha "FA"

{toni (spika, masafa [3], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (blue) == LOW) // unapobonyeza kitufe cha "SO" cha kushinikiza

{toni (spika, masafa [4], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (black2) == LOW) // unapobonyeza kitufe cha kushinikiza cha "LA"

{toni (spika, masafa [5], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (green2) == LOW) // unapobonyeza kitufe cha kushinikiza cha "SI"

{toni (spika, masafa [6], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

vinginevyo ikiwa (digitalRead (red2) == LOW) // unapobonyeza kitufe cha "DO" cha kushinikiza

{toni (spika, masafa [7], 50);

kuchelewesha (50);

Hakuna Sauti (spika);}

mwingine // wakati bonyeza kitu

NoTone (spika);

}

Kwanza, tunapaswa kutangaza swichi zote za kushinikiza na spika kama pini kutoka 2 hadi 10 kwenye Arduino. Kila swichi inawakilisha kwa noti moja. Kisha, tumia safu moja kuweka masafa yote ndani. Ifuatayo, ikiwa na taarifa nyingine ndio ninayotumia kumruhusu Arduino kujua ni kitufe gani cha kushinikiza kitufe cha kubonyeza.

Mwishowe, unganisha bodi yako ya Arduino kwenye kompyuta yako au kompyuta ndogo na kebo ya usb A hadi B. Kabla ya kupakia nambari yako, bado unahitaji kupakua programu ya Arduino na ufanye mipangilio chaguomsingi. Chagua Zana -> Bodi -> Arduino / Genuino Uno; Kisha tunahitaji kuchagua bandari ya mawasiliano iliyounganishwa na bodi ya Arduino. Chagua Zana -> Bandari, kisha jina lolote la bandari limeandikwa "(Arduino / Genuino Uno)." Kisha, unaweza kupakia nambari kwenye bodi ya Arduino.

Ilipendekeza: