Mundarija:
Video: Arduino jumboq qutisi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Ushbu loyiha uchun biz musiqa bilan ishlaydigan jumboq qutisini tayyorlaymiz. Uning asosiy mohiyati shundaki, siz tugmachani bosganingizda, u ohang chiqaradi va Arduino qaysi tugma bosilganligini hisoblab, nima to'g'ri va nima noto'g'ri ekanligini biladi.
Ta'minotlar
1 x Arduino bilan
1 x 1k Ohm qarshilik
5 x 220 Ohmli rezistorlar
1 xPiezo Buzzer
5 x 6x6 mm tugmachasi
1 x o'tish simlari
1 x perf/lenta taxtasi
1 x lehim
1 x menteşe
1 x qisqich
1 x kichik sandiq/yog'och
1x issiq yopishtiruvchi qurol + yopishtiruvchi tayoqlar
1 x 9v batareya + ushlagich
ozgina worbla
bo'yamoq
1 -qadam:
Ishni boshlash uchun siz non panelidagi pimlarni bosishingiz kerak. Endi analog 2 ni taxtaning burchagiga sim bilan ulang. Biz unga ikkita rezistorni chiziqqa ulaymiz. Birinchisi, 10 k Ohmlik qarshilik. Ushbu rezistorning boshqa uchiga biz simni analog erga ulaymiz. Ikkinchi qarshilik - biz birinchi tugmachaga ulanadigan 220 Ohmli rezistor. Tugmaning ikkinchi ochiq tomonini ikkinchi tugma bilan ulash uchun bir xil qiymatdagi boshqa rezistordan foydalaning. Shu kabi tugmachalarni oxirigacha ulashda davom eting. Oxirgisida siz simni ushlab, tugmachaning tegishli yopiq tomoniga ulang va keyingi qatorga navbat bilan ulang. Siz rezistorlar bilan qilgan jarayonni faqat oddiy simlar bilan takrorlaysiz. Birinchi tugmani Arduino -dagi analog 3, 3V portiga ulang. Umuman olganda, siz quyida tasvirlangan bir xil xoch otasini olasiz.
2 -qadam:
Keyingi signalni signal paneliga ulang va bir tomonini raqamli erga, ikkinchisini 12 portga mahkamlang. Quyidagi kodni Arduino -ga yuklash aqlli, shuning uchun hamma narsa to'g'ri ishlayotganini tekshirishingiz mumkin. Agar shunday bo'lsa, siz komponentlarni bir -biriga lehimlashni boshlashingiz mumkin. Buning uchun ularni taxtadan chiqarib oling va simlar va ulanishlarni to'g'ridan -to'g'ri lehimlang. Agar siz tugmalar orasiga ko'proq uzunlik kerak deb hisoblasangiz, rezistorlar orasiga qo'shimcha sim qo'shishingiz mumkin. Bu vaqtda non taxtasi kerak emas.
3 -qadam:
Hammasi lehimlangandan so'ng, qutini o'zi qilish vaqti keldi. Men o'zim uchun asos sifatida arzon tortmalar to'plamidan foydalandim. Men shunchaki uzunligini yarmini kesib tashladim va orqa va yon qismini kesib tashladim. Sizda v shaklidagi ikkita bo'lak bo'lishi kerak. Qopqoq sifatida foydalanish uchun ulardan birining bir tomonini kesib oling. Qolgan qismlardan birini aylantiring, shunda ular qopqoqsiz qutiga o'xshab bir -biriga yopishib oladi. Yelim to'g'ri o'rnatilgandan so'ng, qutining har ikki tomonida tugmachalar uchun kichik teshik oching va qopqog'idagi zimmer uchun kattaroq.
4 -qadam:
Endi siz qutini bo'yashga o'tishingiz mumkin. Men o'z dizaynimni BOTW -ga asoslangan gullar dizayni bilan qildim, lekin siz xohlagan dizaynni tanlashingiz mumkin. Bu tugagandan so'ng, siz tugmachalarni teshiklar ichiga qo'yib, tugmachaning orqa tomoniga va atrofidagi yog'ochga yopishtiruvchi globus qo'yishingiz mumkin. Xuddi shu printsip buzzerga ham tegishli, lekin meniki teshikka juda mos keladi va bu keraksiz bo'ladi. Keyin siz ozgina tugmachalarni yasash uchun ozgina worbla va isitgichni ushlaysiz. Ehtiyotkorlik bilan ularni tugmachalarga yopishtiring, lekin ko'p yopishtirmang, chunki tasodifan tugmachalarga yopishib qolishingiz mumkin. Endi siz ularni qutiga ko'proq aralashtirish uchun bo'yashingiz mumkin.
5 -qadam:
Oxir -oqibat, siz ikkalasini bog'laydigan quti va qopqoqdagi qisqich va menteşalarni yopishtirasiz yoki burab qo'yasiz.
6 -qadam:
Endi sizning qutingiz tugagandan so'ng, Arduino va batareyani ichiga joylashtiring va qopqog'ini yoping.
7 -qadam: kod
// Bu Zelda nomli jumboq/musiqa qutisining kodi.
// bu sizning kodingizni boshqa varaqdagi eslatmalar ro'yxatiga bog'laydi
#"pitch.h" ni qo'shing
// bu o'zgaruvchi Arduino tugmani uzoqroq bosilishini faqat bitta bosish kabi ko'rishini ta'minlaydi
int same = 0;
// bu yerdan sizning kirishingiz o'qiladi
int k = 2;
// bu sizning chiqish piningiz
int dinamik = 12;
// quyida ohang ohanglari
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_B5, NOTE_A4; NOTE_A4;
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, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_E4;
int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// eslatmaning normal davomiyligi
int BEATTIME = 300;
// biz hal qiladigan bo'lsak, kuzatib boradigan hisoblagich
int teller = 0;
bo'sh o'rnatish () {
Serial.begin (9600);
pinMod (2, Kirish);
pinMod (1, Kirish);
}
void loop () {
// pinlardan kirishni o'qiydi
k = analogRead (2);
int p = analogRead (1);
// tugma bosilmasa, ohang bo'lmasligi kerak
agar (xabarchi == 0) {
noTone (12);
}
// agar o'qilgan ma'lumotlar parametrlarga mos keladigan bo'lsa, tasvirlangan kod bitini bajaring
agar (k> 320 && k <350) {
rechts ();
}
//""
aks holda (k 290) {
havolalar ();
}
//""
aks holda (k> 260 && k <280) {
boven ();
}
//""
aks holda (k> 240 && k <260) {
onder ();
}
//""
aks holda (k> 220 && k <240) {
a ();
}
// agar u bosilmasa (tugma bosilmaganda), bu kodni ishga tushiring
boshqa {
// bir xil holatga qaytarish, shuning uchun uni keyingi tugma bosilganda ishlatish mumkin
bir xil = 0;
// agar hisoblagich ma'lum songacha bo'lsa, tasvirlangan kod bitini ishlating
agar (xabarchi == 166) {
zelda ();
}
//""
aks holda (teller == 386) {
sariya ();
}
//""
aks holda (teller == 266) {
epona ();
}
//""
aks holda (teller == 999) {
// xatoni belgilash uchun shu ohangda o'ynang
ohang (karnay, NOTE_C3, BEATTIME);
// hisoblagichni 0 ga qaytaring
kassir = 0;
}
}
// kirish va chiqish o'rtasidagi kechikish
kechikish (100);
// ketma -ket monitorda kiritilgan qiymatlarni chop etadi
Serial.println (k);
}
// bu birinchi ohang
bo'sh zelda () {
// bu hisoblagichni o'rnatadi, u ohangni ijro etayotganda o'zini yangilaydi, shuning uchun uni o'qishi va kerak bo'lganda to'xtatishi mumkin
uchun (int i = 0; i <sizeof (Zelda); i ++) {
// eslatma qancha davom etishini aytadi
int ZTime = 1000 / ZeldaTime ;
// ohanglarni yaratadi
ohang (ma'ruzachi, Zelda , ZTime);
// to'g'ri kechikish hosil qiladi
int pauza = ZTime * 1.30;
kechikish (pauza);
// hisoblagichni qayta o'rnatadi
kassir = 0;
// ketma -ket monitorda kiritilgan qiymatlarni chop etadi
Serial.println (kassir);
}
}
//""
bo'sh epona () {
uchun (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / EponaTime ;
ohang (karnay, Epona , ETime);
int pauza = ETime * 1.30;
kechikish (pauza);
kassir = 0;
Serial.println (kassir);
}
}
//""
bo'sh sariya () {
for (int i = 0; i <sizeof (Saria); i ++) {
int STime = 1000 / SariaTime ;
ohang (karnay, Saria , STime);
int pauza = STime * 1.30;
kechikish (pauza);
kassir = 0;
Serial.println (kassir);
}
}
bekor rek
hts () {
// agar bu hali bosilmagan bo'lsa
agar (bir xil == 0) {
// agar hisoblagichda hozirda bu qiymatlardan biri bo'lsa, buni qo'shing
agar (xabarchi == 0 || xabarchi == 132 || tel == 165 || telet == 232 || teller == 265 || teller == 331 || teller == 374) {
kassir = kassir + 1;
}
// aks holda uni 999 ga o'rnating, shunda siz xato shovqinini eshitasiz
boshqa {
kassir = 999;
}
// bir xil qilib qo'ying, shunda Arduino uzoq bosishni bir nechta bosish sifatida o'qimaydi
bir xil = 1;
}
// ohangni o'ynang
boshqa {
ohang (karnay, NOTE_A4, BEATTIME);
}
// ketma -ket monitorda kiritilgan qiymatlarni chop etadi
Serial.println (kassir); }
//""
bo'sh havolalar () {
agar (bir xil == 0) {
agar (xabarchi == 133 || xabarchi == 254 || tel == 244 || teler == 332 || teller == 375 || teller == 221) {
kassir = kassir + 11;
}
aks holda (teller == 0) {
kassir = 111;
}
boshqa {
kassir = 999;
}
bir xil = 1;
} boshqa {
ohang (karnay, NOTE_B4, BEATTIME);
} Serial.println (kassir);
}
//""
void boven () {
if (bir xil == 0) {if (teller == 111 || xabarchi == 144 || teller == 233) {
kassir = kassir + 21;
}
aks holda (teller == 0) {
kassir = 221;
}
boshqa {
kassir = 999;
}
bir xil = 1;
}
boshqa {
ohang (karnay, NOTE_D5, BEATTIME);
Serial.println (kassir);
}
}
//""
bekor qilish () {
agar (bir xil == 0) {
agar (xabarchi == 343) {
kassir = kassir + 31;
}
aks holda (teller == 0) {
kassir = 331;
} boshqa {
kassir = 999;
} bir xil = 1;
} boshqa {
ohang (karnay, NOTE_F4, BEATTIME);
Serial.println (kassir);
}
}
//""
void a () {
agar (bir xil == 0) {
agar (xabarchi == 0) {
kassir = 461;
}
boshqa {
kassir = 999;
}
bir xil = 1;
}
ohang (karnay, NOTE_D4, BEATTIME);
Serial.println (kassir);
}
Tavsiya:
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi: 4 qadam (rasmlar bilan)
Kod o'yinini buzish, Arduino -ga asoslangan jumboq qutisi: Ushbu yo'riqnomada men sizga o'z kodingizni o'yinchini qanday yaratishni ko'rsatmoqchiman, siz tasodifiy yaratilgan kodni seyfga taxmin qilish uchun aylanuvchi kodlovchi terish vositasidan foydalanasiz. Seyfning old tomonida 8 ta svetodiod o'rnatilgan bo'lib, ular sizga qancha
Pandora - Mobil siqish qutisi LMS qutisi: 5 qadam (rasmlar bilan)
Pandora - Mobil Squeezebox LMS Box: u qayta ishlangan qismlarga to'la, juda baland va juda ko'p qirrali.+ Ajoyib ko'rinadi
Barbi qutisi: Mp3 pleeringiz uchun kamuflyajli quti/ bum qutisi: 4 qadam (rasmlar bilan)
Barbie qutisi: Mp3 pleeringiz uchun kamuflyajli sumka/ bum qutisi: bu sizning mp3 pleeringiz uchun to'ldirilgan himoya sumkasi, u eshitish vositasi uyasini chorak dyuymga aylantiradi, bum qutisi vazifasini bajaradi va mp3 pleeringizni to'qsoninchi yillarning boshidagi lenta pleyeri yoki shunga o'xshash past o'g'irlik sifatida yashiradi
Mp3 pleer qutisi ovoz qutisi: 5 qadam
Mp3 pleer Case Sound Box: bu mening birinchi ko'rsatma, shuning uchun agar tushunmasangiz. materiallar: 1.mp3 sumkasi (agar siz nimani nazarda tutayotganimni bilmasangiz, mp3ni sotib olganingizda, 2 -rasmga qarang) 2.exacto pichoq 3. audio raz'em bilan tayyorlangan spiker, sizga kerak bo'lgan hamma narsani ko'ring
Sidar (puro?) Qutisi Karnay qutisi: 8 qadam (rasmlar bilan)
Sidar (puro?) Qutisi karnay qutisi: Munni karnaylaridan ilhomlangan, lekin 10 dollardan ko'proq pul sarflamoqchi emasman, bu erda eski kompyuter karnaylari, tejamkor do'kondan yog'och quti va ko'plab issiq elim yordamida ko'rsatma beraman