Բովանդակություն:
Video: Arduino հանելուկ արկղ `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս նախագծի համար մենք պատրաստելու ենք հանելուկ տուփ, որն աշխատում է երաժշտության հետ: Դրա հիմնական էությունն այն է, որ երբ սեղմում ես կոճակը, այն թողնում է մեղեդի, և Arduino- ն հաշվարկում է, թե որ կոճակները սեղմված են, որպեսզի նա իմանա, թե որն է ճիշտ և ինչը սխալ պատասխանը:
Պարագաներ
1 x Arduino uno
1 x 1k Օմ դիմադրություն
5 x 220 Օմ դիմադրիչներ
1 xPiezo ազդանշան
5 x սեղմիչ 6x6 մմ
1 x հավաքածու Jumper լարեր
1 x perf/strip տախտակ
1 x զոդման հավաքածու
1 x ծխնին
1 x սեղմիչ
1 x գզրոց/փայտ
1x տաք սոսինձ ատրճանակ + սոսինձ ձողիկներ
1 x 9v մարտկոց + պահոց
մի քիչ վորբլա
ներկել
Քայլ 1:
Սկսելու համար դուք պետք է սեղմեք ձեր կապում ձեր տախտակի վրա: Այժմ անալոգային 2 -ը մետաղալարով միացրեք տախտակի անկյունին: Մենք պատրաստվում ենք դրան միացնել երկու դիմադրություն մի գծի մեջ: Առաջինը 10k Օմ ռեզիստոր է: Այս դիմադրության մյուս ծայրին մենք մետաղալարերը միացնում ենք անալոգային գետնին: Երկրորդ ռեզիստորը 220 Օմ դիմադրություն է, որը մենք միացնում ենք առաջին կոճակին: Կոճակի երկրորդ բաց կողմը երկրորդ կոճակին միացնելու համար օգտագործեք նույն արժեքի մեկ այլ դիմադրություն: Շարունակեք միացնել այսպիսի կոճակները մինչև վերջինը: Վերջինը բռնում եք մետաղալարից և միացնում այն կոճակի համապատասխան փակ կողմին և այն միացնում հերթում հաջորդին: Դուք այժմ կրկնում եք այն գործընթացը, որն արել եք դիմադրողների հետ միայն պարզ լարերով: Միացրեք առաջին կոճակը ձեր Arduino- ի անալոգային 3, 3V պորտին: Ընդհանուր առմամբ, դուք կստանաք մի տեսակ խաչ հայր, ինչպես նկարագրված է ստորև:
Քայլ 2:
Հաջորդը միացրեք սեղանի տախտակին և մի կողմը ամրացրեք թվային հիմքին, իսկ մյուսը `12 պորտին: Խելամիտ է արդեն վերբեռնել հետևյալ կոդը ձեր Arduino- ում, որպեսզի կարողանաք ստուգել, արդյոք ամեն ինչ ճիշտ է աշխատում: Եթե դա այդպես է, կարող եք սկսել բաղադրիչները միասին զոդել: Դա արեք դրանք հացաթղթից հանելով և լարերն ու միացումներն ուղղակիորեն իրար կպցնելով: Եթե կարծում եք, որ ձեզ ավելի շատ երկարություն է պետք կոճակների միջև, կարող եք լրացուցիչ մետաղալար ավելացնել ռեզիստորների միջև: Այս պահին հացահատիկն այլևս անհրաժեշտ չէ:
Քայլ 3:
Ամեն ինչ կպցնելուց հետո ժամանակն է պատրաստել տուփը ինքնին: Ես որպես էժան գզրոց հավաքածու օգտագործեցի որպես իմ հիմք: Ես ուղղակի կիսով չափ կիսեցի և հեռացրեցի մեջքն ու այն կողմը, որով կտրեցի: Այժմ դուք պետք է ունենաք գ ձևավորված երկու կտոր: Կտրեք դրանցից մեկի մի կողմը `որպես կափարիչ օգտագործելու համար: Այժմ պտտեք մնացած կտորներից մեկը այնպես, որ դրանք առանց կափարիչի տուփի պես տեղավորվեն միասին և սոսնձեք դրանք միասին: Սոսինձը ճիշտ ամրացնելուց հետո տուփի յուրաքանչյուր կողմում մի փոքր անցք բացեք կոճակների համար, իսկ ավելի մեծ `կափարիչի ազդանշանի համար:
Քայլ 4:
Այժմ դուք կարող եք սկսել նկարել տուփը: Ես իմը արեցի BOTW- ի վրա հիմնված ծաղկի դիզայնով, բայց դուք իսկապես կարող եք ընտրել ցանկացած դիզայն, որը ցանկանում եք: Դա անելուց հետո կարող եք կոճակները դնել անցքերի ներսում և կոճակի հետևի մասում և շրջապատող փայտից սոսինձ տեղադրել: Նույն սկզբունքը վերաբերում է զնգոցին, բայց իմը հիանալի տեղավորվում է անցքի մեջ ՝ այն դարձնելով ավելորդ: Հաջորդը դուք վերցնում եք ինչ -որ վուրբլա և տաքացնում և կտրում այն, որպեսզի պատրաստեք փոքր կոճակներ: Careգուշորեն կպցրեք դրանք կոճակների վրա, բայց համոզվեք, որ դրանք շատ չօգտագործեք, քանի որ կարող եք պատահաբար կոճակները խրվել: Այժմ դուք կարող եք դրանք ներկել, որպեսզի դրանք ավելի համակցվեն տուփի հետ:
Քայլ 5:
Վերջապես, դուք կպչում կամ պտուտակում եք, սեղմիչը և ծխնին երկուսը միացնող տուփի և կափարիչի վրա:
Քայլ 6:
Այժմ, երբ ձեր տուփն ավարտված է, մնում է միայն տեղադրել Arduino- ն և մարտկոցը դրա ներսում և փակել կափարիչը:
Քայլ 7: Կոդ
// Սա eldելդայի թեմատիկ հանելուկ/երաժշտական տուփի կոդն է:
// սա ձեր կոդը կապում է մյուս ներդիրի գրառումների ցանկի հետ
#ներառել «դաշտերը.հ»
// այս փոփոխականը կապահովի, որ Arduino- ն կոճակի ավելի երկար սեղմում տեսնի որպես ընդամենը մեկ սեղմում
int նույնը = 0;
// այստեղից այն կկարդա ձեր մուտքագրումը
int k = 2;
// սա ձեր ելքային փինն է
int խոսնակ = 12;
// ստորև ներկայացված են վերջնական մեղեդիները
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, NOTE_G5, NOTE_D5, NOTE_C5, NOTE_B4, NOTE_A5};
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};
int 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, NOTE44, NOTE4, NOTE_4, int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// գրառման նորմալ տևողությունը
int BEATTIME = 300;
// հաշվիչը, որը պատրաստվում է հետևել, եթե մենք լուծման մեջ լինենք
int teller = 0;
void setup () {
Serial.begin (9600);
pinMode (2, Մուտք);
pinMode (1, Մուտք);
}
դատարկ շրջան () {
// կարդում է մուտքագրումը կապումներից
k = analogRead (2);
int p = analogRead (1);
// եթե որևէ կոճակ սեղմված չէ, չպետք է լինի հնչերանգ
եթե (պատմող == 0) {
noTone (12);
}
// եթե ընթերցված տվյալները համապատասխանում են պարամետրերին, գործարկեք նկարագրված բիտը
եթե (k> 320 && k <350) {
rechts ();
}
//""
այլապես, եթե (k 290) {
հղումներ ();
}
//""
այլապես, եթե (k> 260 && k <280) {
հյուսված ();
}
//""
այլապես, եթե (k> 240 && k <260) {
onder ();
}
//""
այլապես, եթե (k> 220 && k <240) {
ա ();
}
// եթե դա այդպես չէ (երբ ոչ մի կոճակ սեղմված չէ), գործարկեք այս կոդը
ուրիշ {
// վերականգնել նույնը, որպեսզի այն կարողանա օգտագործվել հաջորդ անգամ կոճակը սեղմելիս
նույնը = 0;
// եթե հաշվիչը մինչև որոշակի թիվ է, գործարկեք նկարագրված բիտը
եթե (փոխանցող == 166) {
զելդա ();
}
//""
այլապես, եթե (ասող == 386) {
սարիա ();
}
//""
այլապես, եթե (ասող == 266) {
epona ();
}
//""
այլապես, եթե (ասող == 999) {
// նվագել այս տոնով ՝ սխալը նշելու համար
հնչերանգ (բարձրախոս, NOTE_C3, BEATTIME);
// հաշվիչը զրոյի հասցնել 0 -ի
ասող = 0;
}
}
// մուտքի և ելքի միջև ուշացումը
ուշացում (100);
// տպում է ձեր մուտքի արժեքները սերիական մոնիտորում
Serial.println (k);
}
// սա առաջին մեղեդին է
դատարկ զելդա () {
// սա սահմանում է հաշվիչ, որը թարմացվում է մեղեդին նվագելիս, որպեսզի կարողանա կարդալ այն և դադարել, երբ դա անհրաժեշտ է
համար (int i = 0; i <sizeof (Zelda); i ++) {
// ասում է, թե որքան պետք է տևի գրառումը
int ZTime = 1000 / ZeldaTime ;
// առաջացնում է հնչերանգներ
տոն (խոսնակ, Zelda , ZTime);
// ստեղծում է ճիշտ ուշացում
int դադար = ZTime * 1.30;
հետաձգում (դադար);
// վերականգնում է հաշվիչը
ասող = 0;
// տպում է ձեր մուտքի արժեքները սերիական մոնիտորում
Serial.println (պատմող);
}
}
//""
դատարկ epona () {
համար (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / EponaTime ;
հնչերանգ (խոսնակ, Epona , ETime);
int դադար = ETime * 1.30;
հետաձգում (դադար);
ասող = 0;
Serial.println (պատմող);
}
}
//""
դատարկ սարիա () {
համար (int i = 0; i <sizeof (Saria); i ++) {
int STime = 1000 / SariaTime ;
հնչերանգ (խոսնակ, Սարիա , STime);
int դադար = STIME * 1.30;
հետաձգում (դադար);
ասող = 0;
Serial.println (պատմող);
}
}
դատարկ rec
hts () {
// եթե սա արդեն սեղմված չէր
եթե (նույն == 0) {
// եթե հաշվիչը ներկայումս ունի այս արժեքներից մեկը, դրան ավելացրեք
եթե (հաշվիչ == 0 || գող == 132 || գող == 165 || գող == 232 || գող == 265 || գող == 331 || գող == 374) {
ասող = պատմող + 1;
}
// այլապես դրեք այն 999 -ի վրա, որպեսզի լսեք սխալի աղմուկը
ուրիշ {
գանձող = 999;
}
// նույնը դնել մեկի վրա, որպեսզի Arduino- ն երկարատև մամուլը չկարդա որպես բազմաթիվ սեղմումներ
նույնը = 1;
}
// նվագել տոնը
ուրիշ {
հնչերանգ (բարձրախոս, NOTE_A4, BEATTIME);
}
// տպում է ձեր մուտքի արժեքները սերիական մոնիտորում
Serial.println (պատմող); }
//""
դատարկ հղումներ () {
եթե (նույն == 0) {
եթե (գանձող == 133 || գող == 254 || գող == 244 || գող == 332 || գող == 375 || գող == 221) {
ասող = պատմող + 11;
}
այլապես, եթե (ասող == 0) {
ասող = 111;
}
ուրիշ {
գանձող = 999;
}
նույնը = 1;
} ուրիշ {
հնչերանգ (բարձրախոս, NOTE_B4, BEATTIME);
} Serial.println (պատմող);
}
//""
դատարկ հյուսված () {
եթե (նույն == 0) {եթե (պատմող == 111 || պատմող == 144 || ասող == 233) {
ասող = պատմող + 21;
}
այլապես, եթե (ասող == 0) {
ասող = 221;
}
ուրիշ {
գանձող = 999;
}
նույնը = 1;
}
ուրիշ {
հնչերանգ (բարձրախոս, NOTE_D5, BEATTIME);
Serial.println (պատմող);
}
}
//""
void onder () {
եթե (նույն == 0) {
եթե (ասող == 343) {
ասող = պատմող + 31;
}
այլապես, եթե (ասող == 0) {
ասող = 331;
} ուրիշ {
գանձող = 999;
} նույնը = 1;
} ուրիշ {
հնչերանգ (բարձրախոս, NOTE_F4, BEATTIME);
Serial.println (պատմող);
}
}
//""
դատարկություն a () {
եթե (նույն == 0) {
եթե (պատմող == 0) {
ասող = 461;
}
ուրիշ {
գանձող = 999;
}
նույնը = 1;
}
հնչերանգ (բարձրախոս, NOTE_D4, BEATTIME);
Serial.println (պատմող);
}
Խորհուրդ ենք տալիս:
Հիշողության հանելուկ խաղ ՝ օգտագործելով BBC MicroBit: 7 քայլ
Հիշողության հանելուկ խաղ օգտագործելով BBC MicroBit- ը. Եթե չգիտեք, թե ինչ է BBC MicroBit- ը, դա հիմնականում իսկապես փոքր սարք է, որը կարող եք ծրագրավորել մուտքեր և ելքեր ունենալու համար: Արդունոյի պես լավատես, բայց ավելի մարմնավոր: MicroBit- ի մեջ ինձ իսկապես դուր եկավ այն, որ այն ունի երկու ներկառուցված մուտք
Crack the Code Game, Arduino- ի վրա հիմնված հանելուկ արկղ. 4 քայլ (նկարներով)
Crack the Code Game, Arduino- ի վրա հիմնված հանելուկ արկղ. Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես կառուցել ձեր սեփական կոտրած կոդը, որտեղ դուք օգտագործում եք պտտվող կոդավորիչի հավաքիչ ՝ պատահականորեն առաջացած ծածկագիրը չհրկիզվող պահելու համար: Սեյֆի դիմային մասում կա 8 լուսադիոդ, որը կասի ձեզ, թե քանի
Ազիմութալ պրոյեկցիոն 3D քարտեզի ձևավորում X ժողովրդական երաժշտություն հանելուկ խաղ - Arduino: 7 քայլ
Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino. ՆԵՐԱՈԹՅՈՆ Հետևյալ էջը ձեզ կսովորեցնի, թե ինչպես ստեղծել Arduino նախագիծ, որն ունի երկու հիմնական գործառույթ ՝ լուսավորության պարզ ձևավորում և ժողովրդական երաժշտական հանելուկ խաղ, որը ներառում է աշխարհագրության, երկրաչափության ոլորտները: , քարտեզներ, Միավորված ազգերի կազմակերպություն և
Arduino 'breadbot' հանելուկ խաղ. 6 քայլ (նկարներով)
Arduino 'breadbot' հանելուկ խաղ. Oh no! Իմ նորածին ռոբոտին անհրաժեշտ է մի քանի լար, որպեսզի նորից կենդանանա: Այսօր մենք հանելուկ խաղ ենք պատրաստելու, որը գուցե arduino- ի սկսնակ օգտվողներին ինչ -որ բան կսովորեցնի ուտեստ ուտելու մասին: Ահա թե ինչու ես սա պատրաստեցի: Դուք կարող եք այն դարձնել այնքան բարդ, որքան ցանկանում եք, բայց ես ընտրեցի
Arduino- ի հետ համարների հանելուկ. 4 քայլ (նկարներով)
Համարի հանելուկ Arduino- ի հետ. Բարև ընկերներ, այսօր ցանկանում եմ կիսվել այս մեկ նախագծով: Խոսքը arduino- ով թվային հանելուկ խաղի մասին է, որը խաղը ցուցադրվում է հեռուստատեսությամբ և կառավարվում է (4x4) ստեղնաշարով: Տես տեսանյութը այստեղՀանելուկի քառակուսին սահեցնելու կամ տեղափոխելու համար սեղմեք բանալին