فهرست مطالب:
تصویری: جعبه پازل آردوینو: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
برای این پروژه ما قصد داریم یک جعبه پازل بسازیم که با موسیقی کار می کند. نکته اصلی این است که وقتی دکمه ای را فشار می دهید ، یک آهنگ پخش می شود و آردوینو محاسبه می کند که کدام دکمه ها فشار داده می شوند تا بداند کدام پاسخ درست است و کدام اشتباه است.
تدارکات
1 x آردوینو uno
مقاومت 1 x 1k اهم
مقاومت 5 x 220 اهم
1 xPiezo Buzzer
5 دکمه 6x6 میلی متر
1 عدد سیم جامپر
1 عدد تخته پرف/نوار
1 عدد لحیم کاری
1 عدد لولا
گیره 1 عدد
1 عدد صندوق کوچک/چوب
1 عدد تفنگ چسب حرارتی + چوب چسب
1 عدد باتری 9 ولت + نگهدارنده
کمی وربلا
رنگ کردن
مرحله 1:
برای شروع باید سنجاق های خود را در تخته نان خود فشار دهید. حالا آنالوگ 2 را با سیم به گوشه برد وصل کنید. ما قصد داریم دو مقاومت را در یک خط به آن وصل کنیم. اولین مقاومت 10k اهم است. در انتهای دیگر این مقاومت ما سیم را به زمین آنالوگ متصل می کنیم. مقاومت دوم یک مقاومت 220 اهم است که ما به دکمه اول متصل می کنیم. برای اتصال طرف باز دوم دکمه با دکمه دوم ، از مقاومت دیگری با همان مقدار استفاده کنید. این دکمه ها را تا آخرین دکمه به هم متصل کنید. در آخرین مورد ، یک سیم را گرفته و آن را به یک قسمت بسته مربوط به دکمه متصل کرده و آن را به خط بعدی متصل می کنید. شما اکنون روشی را که با مقاومتها فقط با سیمهای معمولی انجام می دهید ، تکرار می کنید. اولین دکمه را به پورت آنالوگ 3 ، 3V در آردوینو وصل کنید. روی هم رفته شما یک نوع پدر متقاطع دریافت خواهید کرد همانطور که در زیر نشان داده شده است.
گام 2:
سپس زنگ را به تخته نان وصل کنید و یک طرف را به زمین دیجیتال و طرف دیگر را به پورت 12 محکم کنید. هوشمند است که کد زیر را در Arduino خود بارگذاری کنید تا بتوانید آزمایش کنید که آیا همه چیز به درستی کار می کند یا خیر. در صورت وجود ، می توانید لحیم کاری اجزا را با هم شروع کنید. این کار را با بیرون آوردن آنها از تخته نان و اتصال مستقیم سیمها و اتصالات به یکدیگر انجام دهید. اگر فکر می کنید به طول بیشتری بین دکمه ها نیاز دارید ، می توانید مقداری سیم اضافی بین مقاومتها اضافه کنید. تخته نان در این مرحله دیگر ضروری نیست.
مرحله 3:
بعد از اینکه همه چیز لحیم شد وقت آن است که خود جعبه را بسازید. من از یک کشو ارزان به عنوان پایه ای برای خودم استفاده کردم. من به سادگی نصف طول کردم و پشت و طرفی را که برش داده بودم برداشته ام. اکنون باید دو قطعه به شکل c داشته باشید. یک طرف یکی از آنها را ببرید تا به عنوان درپوش استفاده شود. حالا یکی از قطعات باقیمانده را بچرخانید تا مانند جعبه ای بدون درب به هم چسبیده و آنها را به هم بچسبانید. وقتی چسب به درستی چسبید ، یک سوراخ کوچک در هر طرف جعبه برای دکمه ها و یک سوراخ بزرگتر برای زنگ در درب ایجاد کنید.
مرحله 4:
حالا می توانید به نقاشی جعبه برسید. من کار خود را با طرح گل بر اساس BOTW انجام دادم اما شما واقعاً می توانید هر طرحی را که می خواهید انتخاب کنید. پس از انجام این کار می توانید دکمه ها را داخل سوراخ ها قرار دهید و یک تکه چسب در پشت دکمه و چوب اطراف آن قرار دهید. همین اصل در مورد زنگ صدق می کند ، اما صدای من کاملاً در سوراخ قرار می گیرد و باعث می شود آن غیر ضروری باشد. سپس مقداری وربلا را برداشته و حرارت داده و آن را برش دهید تا چند دکمه کوچک ایجاد شود. آنها را با دقت روی دکمه ها بچسبانید اما مطمئن شوید که زیاد از چسب استفاده نکنید زیرا ممکن است به طور تصادفی دکمه ها گیر کرده باشند. حالا می توانید آنها را رنگ آمیزی کنید تا بیشتر با جعبه ترکیب شوند.
مرحله 5:
در نهایت گیره و لولا را روی جعبه و درپوش که این دو را به هم متصل می کند ، می چسبانید یا پیچ می کنید.
مرحله 6:
اکنون که جعبه شما کامل شده است تنها کاری که باید انجام دهید این است که آردوینو و باتری را داخل آن قرار داده و درب آن را ببندید.
مرحله 7: کد
// این کد پازل/جعبه موسیقی با موضوع Zelda است.
// این کد شما را به لیست یادداشت های موجود در برگه دیگر متصل می کند
#شامل "pitches.h"
// این متغیر اطمینان می دهد که آردوینو یک فشار بیشتر دکمه را فقط با یک بار فشار می بیند
int یکسان = 0؛
// از اینجا ورودی شما را می خواند
int k = 2 ؛
// این پین خروجی شماست
int بلندگو = 12؛
// در زیر ملودی های پایانی آمده است
اعضای هیات موبایل و کامپیوتر = {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 ، NOTE_4 ، NOTE_4 ، NOTE4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE_4 ، NOTE4 ، NOTE4 ، NOTE4 ،
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) ؛
// اگر هیچ دکمه ای فشرده نشده باشد ، نباید لحنی وجود داشته باشد
if (شمارشگر == 0) {
noTone (12) ؛
}
// اگر داده های خوانده شده با پارامترها مطابقت داشته باشد ، بیت توصیف شده کد را اجرا کنید
if (k> 320 && k <350) {
rechts ()؛
}
//""
else if (k 290) {
پیوندها () ؛
}
//""
else if (k> 260 && k <280) {
بافته شده ()؛
}
//""
else if (k> 240 && k <260) {
onder ()؛
}
//""
else if (k> 220 && k <240) {
آ()؛
}
// اگر این کار را نکرد (وقتی دکمه ای فشار داده نمی شود) ، این کد را اجرا کنید
دیگری {
// همان تنظیم مجدد را انجام می دهد تا بتواند دفعه بعد که دکمه ای فشار داده می شود مورد استفاده قرار گیرد
همان = 0 ؛
// اگر شمارنده تا تعداد معینی باشد ، بیت توصیف شده کد را اجرا کنید
اگر (شمارشگر == 166) {
zelda ()؛
}
//""
else if (teller == 386) {
ساریا ()؛
}
//""
در غیر این صورت (teller == 266) {
epona ()؛
}
//""
else if (مترجم == 999) {
// این علامت را برای علامت گذاری خطا پخش کنید
تن (بلندگو ، NOTE_C3 ، BEATTIME) ؛
// شمارنده را به 0 بازنشانی کنید
مترجم = 0 ؛
}
}
// تأخیر بین ورودی و خروجی
تأخیر (100) ؛
// مقادیر ورودی شما را در مانیتور سریال چاپ می کند
Serial.println (k)؛
}
// این اولین ملودی است
void zelda () {
// این یک شمارنده را تنظیم می کند که هنگام پخش ملودی خود را به روز می کند تا بتواند آن را بخواند و در مواقع لازم متوقف شود
برای (int i = 0 ؛ i <sizeof (Zelda) ؛ i ++) {
// می گوید یک یادداشت چقدر باید دوام بیاورد
int ZTime = 1000 / ZeldaTime ؛
// تن ها را تولید می کند
تن (بلندگو ، Zelda ، ZTime) ؛
// تأخیر صحیح را ایجاد می کند
int pause = ZTime * 1.30 ؛
تاخیر (مکث) ؛
// تنظیم مجدد شمارنده
مترجم = 0 ؛
// مقادیر ورودی شما را در مانیتور سریال چاپ می کند
Serial.println (مترجم)؛
}
}
//""
void epona () {
برای (int i = 0؛ i <sizeof (Epona) ؛ i ++) {
int ETime = 1000 / EponaTime ؛
تن (بلندگو ، Epona ، ETime) ؛
int pause = ETime * 1.30 ؛
تاخیر (مکث) ؛
مترجم = 0 ؛
Serial.println (مترجم)؛
}
}
//""
void saria () {
برای (int i = 0؛ i <sizeof (Saria)؛ i ++) {
int STime = 1000 / SariaTime ؛
تن (بلندگو ، Saria ، STime) ؛
int pause = STime * 1.30 ؛
تاخیر (مکث) ؛
مترجم = 0 ؛
Serial.println (مترجم)؛
}
}
void rec
hts () {
// اگر قبلاً فشار داده نشده بود
if (همان == 0) {
// اگر شمارنده در حال حاضر یکی از این مقادیر را دارد ، این را به آن اضافه کنید
if (teller == 0 || teller == 132 || teller == 165 || teller == 232 || teller == 265 || teller == 331 || teller == 374) {
مترجم = مترجم + 1؛
}
// در غیر اینصورت آن را روی 999 تنظیم کنید تا نویز خطا را بشنوید
دیگری {
مترجم = 999 ؛
}
// همان را روی یک تنظیم کنید تا آردوینو یک پرس طولانی مدت را به عنوان پرسهای متعدد نخواند
همان = 1 ؛
}
// نواختن تن
دیگری {
تن (بلندگو ، NOTE_A4 ، BEATTIME) ؛
}
// مقادیر ورودی شما را در مانیتور سریال چاپ می کند
Serial.println (مترجم)؛ }
//""
لینک های خالی () {
if (همان == 0) {
if (teller == 133 || teller == 254 || teller == 244 || teller == 332 || teller == 375 || teller == 221) {
مترجم = مترجم + 11؛
}
else if (teller == 0) {
مترجم = 111؛
}
دیگری {
مترجم = 999 ؛
}
همان = 1 ؛
} دیگری {
تن (بلندگو ، NOTE_B4 ، BEATTIME) ؛
} Serial.println (مترجم)؛
}
//""
void boven () {
if (همان == 0) {if (teller == 111 || teller == 144 || teller == 233) {
مترجم = متصدی + 21 ؛
}
else if (teller == 0) {
مترجم = 221 ؛
}
دیگری {
مترجم = 999 ؛
}
همان = 1 ؛
}
دیگری {
تن (بلندگو ، NOTE_D5 ، BEATTIME) ؛
Serial.println (مترجم)؛
}
}
//""
void onder () {
if (همان == 0) {
if (مترجم == 343) {
مترجم = متصدی + 31 ؛
}
else if (teller == 0) {
مترجم = 331 ؛
} دیگری {
مترجم = 999 ؛
} همان = 1 ؛
} دیگری {
تن (بلندگو ، NOTE_F4 ، BEATTIME) ؛
Serial.println (مترجم) ؛
}
}
//""
void a () {
if (همان == 0) {
if (teller == 0) {
مترجم = 461 ؛
}
دیگری {
مترجم = 999 ؛
}
همان = 1 ؛
}
تن (بلندگو ، NOTE_D4 ، BEATTIME) ؛
Serial.println (مترجم)؛
}
توصیه شده:
Crack the Code Game، Arduino مبتنی بر جعبه پازل: 4 مرحله (همراه با تصاویر)
Crack the Code Game، Arduino مبتنی بر پازل جعبه: در این دستورالعمل ، من به شما نشان خواهم داد که چگونه می توانید بازی کد را که در آن از یک شماره گیر رمزگذار چرخشی استفاده می کنید تا کد تصادفی ایجاد شده را به گاوصندوق بسازید ، ایجاد کنید. 8 LED در جلوی گاوصندوق وجود دارد که به شما می گوید تعداد
بازی آزیموتال طرح سه بعدی نقشه دکوراسیون X بازی پازل موسیقی محلی - آردوینو: 7 مرحله
بازی پازل Azimuthal Projection 3D Decoration X Folk Music Folk - Arduino: مقدمه صفحه زیر به شما آموزش می دهد که چگونه یک پروژه آردوینو ایجاد کنید ، که دارای دو عملکرد اصلی است - دکوراسیون ساده با نورپردازی و بازی پازل موسیقی محلی ، که شامل زمینه های جغرافیا ، هندسه می شود ، نقشه ها ، سازمان ملل متحد و
پازل Heroes of Hammerwatch در آردوینو: 4 مرحله
Heroes of Hammerwatch Puzzle on Arduino: سلام به همگی ، این اولین زبان من است و زبان انگلیسی من اولین زبان من نیست ، بنابراین در صورت اشتباه من را تصحیح کنید. در این آموزش من نحوه ساخت یک پازل از بازی را به شما نشان خواهم داد. ساعت چکشی با استفاده از آردوینو
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو
جعبه باربی: یک جعبه استتار/ جعبه مخصوص پخش کننده Mp3 شما: 4 مرحله (همراه با تصاویر)
جعبه باربی: یک جعبه استتار/ جعبه مخصوص پخش کننده Mp3 شما: این یک کیف محافظ محافظ برای پخش کننده mp3 شما است که جک هدفون را به یک چهارم اینچ نیز تبدیل می کند ، می تواند به عنوان یک جعبه تقویت کننده در تلنگر سوئیچ عمل کند و پخش کننده mp3 شما را به عنوان دستگاه پخش نوار اوایل دهه نود یا سرقت کم مشابه تبدیل می کند