Orodha ya maudhui:
Video: Sanduku la Puzzle la Arduino: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Kwa mradi huu tutatengeneza kisanduku cha fumbo ambacho hufanya kazi na muziki. Kiini chake cha msingi ni kwamba unapobonyeza kitufe hutoa tune na Arduino huhesabu ni vifungo vipi vilivyobanwa ili ijue ni nini sahihi na jibu lisilo sahihi.
Vifaa
1 x Arduino uno
1 x 1k kupinga kwa Ohm
Vipimo 5 x 220 Ohm
1 xPiezo Buzzer
5 x kitufe cha kushinikiza 6x6 mm
1 x kuweka waya za Jumper
1 x perf / bodi ya ukanda
1 x solderset
1 x bawaba
1 x clamp
1 x kifua kidogo cha droo / kuni
Bunduki ya moto ya gundi 1x + vijiti vya gundi
1 x 9v betri + mmiliki
kidogo ya worbla
rangi
Hatua ya 1:
Kuanza na lazima ubonyeze pini zako kwenye ubao wako wa mkate. Sasa unganisha analog 2 na waya kwenye kona ya ubao. Tutaunganisha vipinga viwili ndani yake kwa laini. Ya kwanza ni 10k Ohm resistor. Kwa mwisho mwingine wa kipinga hiki tunaunganisha waya kwenye ardhi ya analog. Kinzani ya pili ni kontena ya 220 Ohm ambayo tunaunganisha kwenye kitufe cha kwanza. Tumia kipinzani kingine cha thamani sawa ili kuunganisha upande wa pili wa kifungo na kitufe cha pili. Endelea kuunganisha vifungo kama hii hadi mwisho. Mwishowe unachukua waya na kuiunganisha kwa upande uliofungwa wa kitufe na kuiunganisha kwa mstari unaofuata. Sasa unarudia mchakato uliofanya na wapinzani tu wanajua na waya wazi. Unganisha kitufe cha kwanza kwenye bandari ya Analog 3, 3V kwenye Arduino yako. Yote kwa yote utapata aina ya baba msalaba kama ilivyoonyeshwa hapo chini.
Hatua ya 2:
Halafu unganisha buzzer kwenye ubao wa mkate na salama upande mmoja kwenye uwanja wa dijiti na mwingine kwa bandari 12. Ni busara kupakia nambari ifuatayo kwenye Arduino yako ili uweze kujaribu ikiwa kila kitu kinafanya kazi kwa usahihi. Ikiwa ni wewe unaweza kuanza kuuza sehemu pamoja. Fanya hivi kwa kuzitoa kwenye ubao wa mkate na kuziunganisha waya na unganisho moja kwa moja. Ikiwa unafikiria unahitaji urefu zaidi kati ya vifungo unaweza kuongeza waya wa ziada kati ya vipinga. Bodi ya mkate haifai tena wakati huu.
Hatua ya 3:
Baada ya kila kitu kuuzwa ni wakati wa kutengeneza sanduku yenyewe. Nilitumia seti ya bei rahisi kama msingi wa mgodi. Nilikata tu kwa urefu wa nusu na nikaondoa nyuma na upande niliokata. Unapaswa kuwa na vipande viwili vya umbo c sasa. Kata upande mmoja wa mmoja wao kutumia kama kifuniko. Sasa zungusha moja ya vipande vilivyobaki ili viwe sawa kama sanduku lisilo na mfuniko na uunganishe pamoja. Mara gundi inapokuwa imeweka vizuri, chimba shimo dogo kwa kila upande wa sanduku kwa vifungo na kubwa kwa buzzer kwenye kifuniko.
Hatua ya 4:
Sasa unaweza kupata kuchora sanduku. Nilifanya yangu na muundo wa maua kulingana na BOTW lakini unaweza kuchagua muundo wowote unaotaka. Baada ya hii kufanywa unaweza kuweka vifungo ndani ya mashimo na kuweka glob ya gundi nyuma ya kitufe na kuni inayozunguka. Kanuni hiyo hiyo inatumika kwa buzzer lakini yangu inafaa kabisa kwenye shimo na kuifanya iwe ya lazima. Ifuatayo unachukua worbla na joto na kuikata ili kutengeneza vifungo vidogo. Gundi kwa uangalifu kwenye vifungo lakini hakikisha usitumie gundi nyingi kwa sababu unaweza kupata vifungo kwa bahati mbaya. Sasa unaweza kuwapaka rangi ili kuwafanya wachanganye na kisanduku zaidi.
Hatua ya 5:
Mwishowe gundi au unganisha, kambamba na bawaba kwenye sanduku na kifuniko kinachounganisha hizo mbili.
Hatua ya 6:
Sasa kwa kuwa sanduku lako limekamilika unachotakiwa kufanya ni kuweka Arduino na betri ndani yake na kufunga kifuniko.
Hatua ya 7: Kanuni
// Hii ndio nambari ya sanduku la fumbo / sanduku la muziki la Zelda.
// hii inaunganisha kificho chako na orodha ya vidokezo kwenye kichupo kingine
# pamoja na "viwanja."
// ubadilishaji huu utahakikisha kwamba Arduino anaona kitufe cha kifungo kirefu kama kitufe kimoja tu
int sawa = 0;
// kutoka hapa itasoma maoni yako
int k = 2;
// hii ni pini yako ya pato
msemaji wa int = 12;
// chini ni nyimbo za mwisho
int Zelda = {NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A5, SIJUI5, SIE_D5, SIE_C5, SIE_B}, SI
int ZeldaTime = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_B4, NOTE_A4};
wakati wa EponaTime = {4, 4, 1.5, 4, 4, 1.5, 4, 4, 2, 2, 1};
int Saria = {NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_E5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_G4, NOTE_E4, NOTE_D4, NOT4E, 4
Wakati wa Saria = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// muda wa kawaida wa dokezo
wakati wa BEATTIME = 300;
// hiyo ya kaunta itafuatilia tulikuwa katika suluhisho
mtangazaji = 0;
usanidi batili () {
Kuanzia Serial (9600);
pinMode (2, Pembejeo);
pinMode (1, Pembejeo);
}
kitanzi batili () {
// inasoma pembejeo kutoka kwa pini
k = analog Soma (2);
int p = analog Soma (1);
// ikiwa hakuna kitufe chochote kilichobanwa haipaswi kuwa na sauti
ikiwa (mwambiaji == 0) {
hakuna Sauti (12);
}
// ikiwa data iliyosomwa inafanana na vigezo vinaendesha nambari iliyoelezewa ya nambari
ikiwa (k> 320 && k <350) {
rechts ();
}
//""
vinginevyo ikiwa (k 290) {
viungo ();
}
//""
vinginevyo ikiwa (k> 260 && k <280) {
boven ();
}
//""
vinginevyo ikiwa (k> 240 && k <260) {
nyongeza ();
}
//""
vinginevyo ikiwa (k> 220 && k <240) {
();
}
// ikiwa haifanyi (wakati hakuna kifungo kimeshinikizwa), tumia nambari hii
mwingine {
// kuweka upya sawa ili iweze kutumiwa wakati ujao kitufe kinapobanwa
sawa = 0;
// ikiwa kaunta iko hadi nambari fulani tumia nambari iliyoelezewa
ikiwa (mwambiaji == 166) {
zelda ();
}
//""
vinginevyo ikiwa (mwambiaji == 386) {
saria ();
}
//""
vinginevyo ikiwa (mwambiaji == 266) {
epona ();
}
//""
vinginevyo ikiwa (mwambiaji == 999) {
// cheza toni hii kuashiria kosa
toni (spika, NOTE_C3, BEATTIME);
// kuweka upya kaunta hadi 0
msemaji = 0;
}
}
// kuchelewa kati ya pembejeo na pato
kuchelewesha (100);
// prints maadili ya pembejeo yako katika kufuatilia serial
Serial.println (k);
}
// huu ndio wimbo wa kwanza
batili zelda () {
// hii inaweka kaunta ambayo inajisasisha wakati inacheza wimbo ili iweze kuisoma na kusimama inapostahili
kwa (int i = 0; i <sizeof (Zelda); i ++) {
// anasema ni muda gani dokezo linapaswa kudumu
int ZTime = 1000 / ZeldaTime ;
// huzalisha tani
toni (spika, Zelda , ZTime);
// inaunda ucheleweshaji sahihi
pause = ZTime * 1.30;
kuchelewesha (pumzika);
// kuweka upya kaunta
msemaji = 0;
// prints maadili ya pembejeo yako katika kufuatilia serial
Serial.println (msemaji);
}
}
//""
utupu epona () {
kwa (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / Wakati wa Epona ;
toni (spika, Epona , ETime);
pause = ETime * 1.30;
kuchelewesha (pumzika);
msemaji = 0;
Serial.println (msemaji);
}
}
//""
utupu wa saria () {
kwa (int i = 0; i <sizeof (Saria); i ++) {
ST STime = 1000 / SariaTime ;
toni (spika, Saria , STime);
pause = STime * 1.30;
kuchelewesha (pumzika);
msemaji = 0;
Serial.println (msemaji);
}
}
utupu rec
hts () {
// ikiwa hii haikuwa imeshinikizwa tayari
ikiwa (sawa == 0) {
// ikiwa kaunta sasa ina moja ya maadili haya ongeza hii kwake
ikiwa (mwambiaji == 0 || mwambiaji == 132 || mwambiaji == 165 || mwambiaji = 232 || mwambiaji == 265 || mwambiaji == 331
msemaji = msemaji + 1;
}
// vinginevyo weka 999 ili usikie kelele za makosa
mwingine {
msemaji = 999;
}
// weka sawa kwa moja ili Arduino isome vyombo vya habari vya muda mrefu kama mashinikizo mengi
sawa = 1;
}
// cheza toni
mwingine {
toni (spika, NOTE_A4, BEATTIME);
}
// prints maadili ya pembejeo yako katika kufuatilia serial
Serial.println (msemaji); }
//""
viungo batili () {
ikiwa (sawa == 0) {
ikiwa (mwambiaji == 133 || mwambiaji == 254 || mwambiaji == 244 || mwambiaji == 332 || mwambiaji == 375 || mwambiaji = 221) {
msemaji = msemaji + 11;
}
vinginevyo ikiwa (mwambiaji == 0) {
msemaji = 111;
}
mwingine {
msemaji = 999;
}
sawa = 1;
} mwingine {
toni (spika, NOTE_B4, BEATTIME);
} Serial.println (msemaji);
}
//""
boven boven () {
ikiwa (sawa == 0) {ikiwa (mwambiaji == 111 || mwambiaji == 144 || mwambiaji == 233) {
msemaji = msemaji + 21;
}
vinginevyo ikiwa (mwambiaji == 0) {
msemaji = 221;
}
mwingine {
msemaji = 999;
}
sawa = 1;
}
mwingine {
toni (spika, NOTE_D5, BEATTIME);
Serial.println (msemaji);
}
}
//""
onder batili () {
ikiwa (sawa == 0) {
ikiwa (mwambiaji == 343) {
msemaji = msemaji + 31;
}
vinginevyo ikiwa (mwambiaji == 0) {
msemaji = 331;
} mwingine {
msemaji = 999;
} sawa = 1;
} mwingine {
toni (spika, NOTE_F4, BEATTIME);
Serial.println (msemaji);
}
}
//""
batili () {
ikiwa (sawa == 0) {
ikiwa (mwambiaji == 0) {
msemaji = 461;
}
mwingine {
msemaji = 999;
}
sawa = 1;
}
toni (spika, NOTE_D4, BEATTIME);
Serial.println (msemaji);
}
Ilipendekeza:
Jinsi ya kuunda Mirror Smart Portable / tengeneza sanduku la sanduku: Hatua 8
Jinsi ya kuunda Mirror Smart Portable / make Up Box Combo: Kama mradi wa mwisho wa jiwe langu la kichwa huko Davis & Chuo cha Elkins, niliamua kubuni na kuunda sanduku la kusafiri, pamoja na kioo kikubwa na matumizi ya pi ya rasipberry na jukwaa la programu ya kioo cha uchawi, ambayo ingefanya kazi kama bandari
Sanduku la Juke kwa Vijana Sana Aka Raspi-Muziki-Sanduku: Hatua 5
Sanduku la Juke kwa Vijana Sana … Aka Raspi-Muziki-Sanduku: Aliongozwa na anayefundishwa " Raspberry-Pi-based-RFID-Music-Robot " kuelezea mchezaji wa muziki ROALDH kujenga kwa mtoto wake wa miaka 3, niliamua kujenga sanduku la juke kwa watoto wangu hata wadogo. Kimsingi ni sanduku lenye vifungo 16 na Raspi 2 i
Sanduku la Barbie: Kesi iliyofichwa / Sanduku la Boom kwa Mchezaji wako wa Mp3: Hatua 4 (na Picha)
Sanduku la Barbie: Kesi iliyofichwa / Sanduku la Boom kwa Mchezaji wako wa Mp3: Hii ni kiboreshaji chenye kinga ya kubeba kwa mchezaji wako wa mp3 ambayo pia inabadilisha kichwa cha kichwa kuwa robo inchi, inaweza kufanya kama sanduku la boom kwenye kubonyeza swichi, na hujificha kichezaji chako cha mp3 kama kicheza mkanda mapema miaka ya tisini au wizi kama huo mdogo
Jenga Sanduku la Betri la Sanduku la Cigar kwa Redio za Tube: Hatua 4
Jenga Sanduku la Betri la Sanduku la Cigar kwa Redio za Tube: Ikiwa utajiunda na kucheza karibu na redio za bomba kama mimi, pengine una shida kama hiyo kama ninavyowawezesha. Mizunguko mingi ya zamani ilibuniwa kuendeshwa kwa betri zenye nguvu nyingi ambazo hazipatikani tena. Kwa hivyo
Cedar (Cigar?) Sanduku la Spika la Sanduku: Hatua 8 (na Picha)
Cedar (Cigar?) Sanduku la Spika la Sanduku: Ilihamasishwa na wasemaji wa Munny, lakini hawataki kutumia zaidi ya $ 10, hapa ninaweza kufundishwa kutumia spika za zamani za kompyuta, sanduku la kuni kutoka duka la kuuza, na gundi nyingi moto