جدول المحتويات:
- اللوازم
- الخطوة 1:
- الخطوة 2:
- الخطوه 3:
- الخطوة الرابعة:
- الخطوة الخامسة:
- الخطوة السادسة:
- الخطوة 7: الكود
فيديو: صندوق لغز اردوينو: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
بالنسبة لهذا المشروع ، سنقوم بصنع صندوق أحجية يعمل مع الموسيقى. الجوهر الأساسي لذلك هو أنه عندما تضغط على زر ، فإنه يصدر نغمة ويحسب Arduino الأزرار التي يتم الضغط عليها حتى يعرف ما هو الصحيح وما هي الإجابة الخاطئة.
اللوازم
1 × اردوينو أونو
1 × 1 كيلو أوم المقاوم
مقاومات 5 × 220 أوم
1 x بيزو الجرس
5 × زر انضغاطي 6 × 6 مم
1 × مجموعة أسلاك العبور
1 × لوحة الأداء / الشريط
1 × جندي
1 × مفصلة
1 × المشبك
1 × خزانة صغيرة ذات أدراج / خشب
1x مسدس الغراء الساخن + غراء العصي
1 × بطارية 9 فولت + حامل
قليلا من الوربلا
رسم
الخطوة 1:
لتبدأ ، عليك أن تضغط على دبابيسك في لوح التجارب. الآن قم بتوصيل التناظرية 2 بسلك بزاوية اللوحة. سنقوم بتوصيل مقاومتين به في خط. الأول هو المقاوم 10 كيلو أوم. إلى الطرف الآخر من هذا المقاوم نقوم بتوصيل السلك بالأرض التناظرية. المقاوم الثاني هو مقاوم 220 أوم نقوم بتوصيله بالزر الأول. استخدم المقاوم الآخر بنفس القيمة لتوصيل الجانب المفتوح الثاني من الزر بالزر الثاني. استمر في توصيل الأزرار مثل هذا حتى الزر الأخير. في المرة الأخيرة ، تمسك بسلك وتوصيله بالجانب المغلق المقابل للزر وتوصيله بالجانب التالي في السطر. أنت الآن تكرر العملية التي قمت بها باستخدام المقاومات التي لا تعرفها إلا بأسلاك عادية. قم بتوصيل الزر الأول بالمنفذ التناظري 3 ، 3 فولت في Arduino. الكل في الكل سوف تحصل على نوع من الأب المتصالب كما هو موضح أدناه.
الخطوة 2:
بعد ذلك ، قم بتوصيل الجرس باللوحة وتثبيت جانب واحد على الأرض الرقمية والآخر بمنفذ 12. من الذكاء تحميل الكود التالي بالفعل إلى Arduino حتى تتمكن من اختبار ما إذا كان كل شيء يعمل بشكل صحيح. إذا كان الأمر كذلك ، يمكنك البدء في لحام المكونات معًا. افعل ذلك عن طريق إخراجها من اللوح ولحام الأسلاك والوصلات معًا مباشرة. إذا كنت تعتقد أنك بحاجة إلى مزيد من الطول بين الأزرار ، فيمكنك إضافة سلك إضافي بين المقاومات. لم يعد اللوح ضروريًا في هذه المرحلة.
الخطوه 3:
بعد أن يتم لحام كل شيء ، حان الوقت لصنع الصندوق نفسه. لقد استخدمت مجموعة رخيصة من الأدراج كقاعدة لي. لقد قطعت نصفين بالطول وأزلت الظهر والجانب الذي قطعته. يجب أن يكون لديك قطعتان على شكل حرف c الآن. قطع جانب واحد منهم لاستخدامه كغطاء. الآن قم بتدوير إحدى القطع المتبقية بحيث تتلاءم معًا مثل صندوق بدون غطاء وألصقها معًا. بمجرد أن يتم ضبط الغراء بشكل صحيح ، قم بحفر ثقب صغير في كل جانب من جوانب الصندوق للأزرار وثقب أكبر للجرس في الغطاء.
الخطوة الرابعة:
الآن يمكنك الحصول على رسم الصندوق. لقد قمت بالتعدين بتصميم زهرة على أساس BOTW ولكن يمكنك حقًا اختيار أي تصميم تريده. بعد الانتهاء من ذلك ، يمكنك وضع الأزرار داخل الثقوب ووضع قطعة من الغراء على الجزء الخلفي من الزر والخشب المحيط. ينطبق نفس المبدأ على الجرس ولكن يناسبني تمامًا في الفتحة مما يجعله غير ضروري. بعد ذلك ، يمكنك الحصول على بعض الأوراق والحرارة وقطعها لعمل بعض الأزرار الصغيرة. قم بلصقها بعناية على الأزرار ولكن تأكد من عدم استخدامها مع الكثير من الغراء لأنك قد تتعطل الأزرار عن طريق الخطأ. يمكنك الآن طلاءها لجعلها تنسجم مع الصندوق أكثر.
الخطوة الخامسة:
أخيرًا ، تقوم بالغراء أو البرغي ، المشبك والمفصلات الموجودة على الصندوق والغطاء الذي يربط بين الاثنين.
الخطوة السادسة:
الآن وقد اكتمل صندوقك ، كل ما عليك فعله هو وضع Arduino والبطارية بداخله وإغلاق الغطاء.
الخطوة 7: الكود
// هذا هو رمز أحجية / صندوق موسيقى تحت عنوان Zelda.
// هذا يربط التعليمات البرمجية الخاصة بك بقائمة الملاحظات في علامة التبويب الأخرى
# تضمين "pitches.h"
// سيضمن هذا المتغير أن 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، NOTE_G4، NOTE_E_G4، 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} ؛
// المدة العادية للملاحظة
Int BEATTIME = 300 ؛
// العداد الذي سيتابعه إذا كنا في الحل
int الصراف = 0 ؛
الإعداد باطل() {
Serial.begin (9600) ؛
pinMode (2 ، الإدخال) ؛
pinMode (1 ، الإدخال) ؛
}
حلقة فارغة() {
// يقرأ المدخلات من المسامير
ك = analogRead (2) ؛
int p = analogRead (1) ؛
// إذا لم يتم الضغط على أي زر فلا يجب أن تكون هناك نغمة
إذا (الصراف == 0) {
noTone (12) ،
}
// إذا كانت بيانات القراءة تتوافق مع المعلمات ، فقم بتشغيل بت الرمز الموصوف
إذا (ك> 320 && ك <350) {
rechts () ؛
}
//""
وإلا إذا (ك 290) {
روابط () ؛
}
//""
else if (k> 260 && k <280) {
بوفن () ؛
}
//""
وإلا إذا (ك> 240 && ك <260) {
onder () ؛
}
//""
وإلا إذا (ك> 220 && ك <240) {
أ()؛
}
// إذا لم يكن كذلك (عند عدم الضغط على أي زر) ، فقم بتشغيل هذا الكود
آخر {
// إعادة تعيين نفسه بحيث يمكن استخدامه في المرة التالية التي يتم فيها الضغط على الزر
نفسه = 0 ؛
// إذا كان العداد يصل إلى رقم معين ، فقم بتشغيل الجزء الموصوف من الكود
إذا (الصراف == 166) {
زيلدا () ؛
}
//""
وإلا إذا (الصراف == 386) {
ساريا () ؛
}
//""
وإلا إذا (الصراف == 266) {
إبونا () ؛
}
//""
وإلا إذا (الصراف == 999) {
// تشغيل هذه النغمة لتمييز الخطأ
نغمة (مكبر صوت ، NOTE_C3 ، BEATTIME) ؛
// إعادة تعيين العداد إلى 0
الصراف = 0 ؛
}
}
// التأخير بين المدخلات والمخرجات
تأخير (100) ؛
// يطبع قيم الإدخال الخاص بك في الشاشة التسلسلية
Serial.println (ك) ؛
}
// هذا هو اللحن الأول
زيلدا باطل () {
// هذا يعين عدادًا يقوم بتحديث نفسه أثناء تشغيل اللحن حتى يتمكن من قراءته والتوقف عند الحاجة
لـ (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 ؛
نغمة (المتحدث ، Saria ، STime) ؛
وقفة int = STime * 1.30 ؛
تأخير (وقفة) ؛
الصراف = 0 ؛
Serial.println (الصراف) ؛
}
}
تسجيل باطل
هتس () {
// إذا لم يكن هذا مضغوطًا بالفعل
إذا (نفس == 0) {
// إذا كان العداد يحتوي حاليًا على إحدى هذه القيم ، فقم بإضافة هذا إليها
إذا (الصراف == 0 || الصراف == 132 || الصراف == 165 || الصراف == 232 || الصراف == 265 || الصراف == 331 || الصراف == 374) {
الصراف = الصراف + 1 ؛
}
// وإلا اضبطه على 999 حتى تسمع ضوضاء خطأ te
آخر {
الصراف = 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 (الصراف) ؛
}
//""
باطلة boven () {
إذا (نفس == 0) {إذا (الصراف == 111 || الصراف == 144 || الصراف == 233) {
الصراف = الصراف + 21 ؛
}
وإلا إذا (الصراف == 0) {
الصراف = 221 ؛
}
آخر {
الصراف = 999 ؛
}
نفسه = 1 ؛
}
آخر {
نغمة (مكبر صوت ، NOTE_D5 ، BEATTIME) ؛
Serial.println (الصراف) ؛
}
}
//""
onder باطل () {
إذا (نفس == 0) {
إذا (الصراف == 343) {
الصراف = الصراف + 31 ؛
}
وإلا إذا (الصراف == 0) {
الصراف = 331 ؛
} آخر {
الصراف = 999 ؛
} نفس = 1 ؛
} آخر {
نغمة (مكبر صوت ، NOTE_F4 ، BEATTIME) ؛
Serial.println (الصراف) ؛
}
}
//""
باطل أ () {
إذا (نفس == 0) {
إذا (الصراف == 0) {
الصراف = 461 ؛
}
آخر {
الصراف = 999 ؛
}
نفسه = 1 ؛
}
نغمة (مكبر صوت ، NOTE_D4 ، BEATTIME) ؛
Serial.println (الصراف) ؛
}
موصى به:
أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور)
أرخص اردوينو || أصغر اردوينو || اردوينو برو ميني || البرمجة || اردوينو نينو: …………………………. الرجاء الاشتراك في قناتي على يوتيوب لمزيد من مقاطع الفيديو ……. يدور هذا المشروع حول كيفية التعامل مع أصغر وأرخص اردوينو على الإطلاق. أصغر وأرخص اردوينو هو اردوينو برو ميني. إنه مشابه لاردوينو
لغز رقمي مع اردوينو: 4 خطوات (بالصور)
Number Puzzle With Arduino: مرحبًا أيها الأصدقاء ، تريد اليوم مشاركة هذا المشروع الفردي. إنها لعبة ألغاز رقمية مع اردوينو ، والتي يتم عرضها على شاشة التلفزيون ويتم التحكم فيها بواسطة لوحة مفاتيح (4x4) شاهد الفيديو هنا لتحريك مربع اللغز أو تحريكه ، اضغط على المفتاح
صندوق باربي: علبة مموهة / صندوق بوم لمشغل MP3 لديك: 4 خطوات (بالصور)
صندوق باربي: علبة مموهة / صندوق بوم لمشغل MP3 الخاص بك: هذه حقيبة حمل واقية مبطنة لمشغل mp3 الخاص بك والتي تقوم أيضًا بتحويل مقبس سماعة الرأس إلى ربع بوصة ، ويمكن أن تكون بمثابة صندوق ذراع عند قلب المفتاح ، و يتنكر في مشغل mp3 الخاص بك في شكل مشغل شرائط في أوائل التسعينيات أو ما شابه ذلك من السرقة المنخفضة i
بناء صندوق بطارية صندوق السيجار لأجهزة الراديو الأنبوبية: 4 خطوات
قم ببناء صندوق بطارية Cigar Box Battery Box لأجهزة الراديو الأنبوبية: إذا كنت تعمل على البناء واللعب باستخدام أجهزة الراديو الأنبوبية مثلي ، فمن المحتمل أن تكون لديك مشكلة مماثلة كما أفعل في تشغيلها. تم تصميم معظم الدوائر القديمة لتعمل على بطاريات b عالية الجهد والتي لم تعد متوفرة. وبالتالي
صندوق إضاءة العرض من صندوق خشبي: 9 خطوات (بالصور)
عرض صندوق إضاءة من صندوق خشبي: أعطيت أنا وزوجتي لأمي تمثالًا زجاجيًا لعيد الميلاد. عندما فتحته أمي ، قام أخي بإدخال & quot؛ RadBear (حسنًا لقد قال اسمي بالفعل) يمكنه أن يبني لك صندوقًا خفيفًا! & quot ؛. قال هذا لأنني بصفتي شخصًا يجمع الزجاج