جدول المحتويات:

خزان النكتة: 5 خطوات
خزان النكتة: 5 خطوات

فيديو: خزان النكتة: 5 خطوات

فيديو: خزان النكتة: 5 خطوات
فيديو: درس (19) اسهل طريقه لحساب سعة حجم الخزان المكعب و الاسطواني 2024, يوليو
Anonim
خزان النكات
خزان النكات

هذا هو المشروع الذي قمت به في مدرستي في HKU ، والذي تطلب منا صنع شيء ما باستخدام Arduino Uno. أردت أن أصنع شيئًا من شأنه أن يفعل الشيء المفضل لدي ، ويجعل الناس يضحكون. لذلك قررت أن تصنع صندوقًا للنكات من شأنه أن يرمي إليك بمزحة ، ولكن ما المزاح الذي قدمه لك سيعتمد على ما كان يقيسه زوجان من وحدات الاستشعار في تلك اللحظة المحددة من الوقت. لجعلها أكثر شخصية قررت أن أجعلها دبابة.

الخطوة 1: الحصول على الأجزاء

الأجزاء التي ستحتاجها لإعادة إنشاء هذا المشروع ستكون

  • 1x كمبيوتر قادر على تشغيل Arduino IDE
  • 1x أردوينو أونو
  • 1x كابل موصل USB لاردوينو أونو
  • 1x مستشعر سونار
  • 1x مكبر صوت (أفضل جودة لائقة (، لقد استخدمت واحدًا أخرجته من مكبر صوت بلوتوث)).
  • 1x LM386 Amplifier module (من الممكن أن تصنع هذا بنفسك لكني استخدمت وحدة).
  • 1x LM393 ميكروفون
  • 1x LDR
  • 1x LED (أي لون سيفي بالغرض ولكني استخدمت اللون الأزرق).
  • 4x 1kΩ المقاوم
  • 1x 2 ، 7kΩ المقاوم
  • 1x اللوح
  • بطاقة micro SD واحدة (يفضل أن تكون صغيرة (1 أو 2 جيجابايت)).
  • 1x مثقاب كهربائي.
  • رأس حفر 1 × 16 مم (يفضل صنعه لحفر المعادن).
  • رأس حفر 1 × 9 مم (يُفضل أيضًا صنعه لحفر المعادن).
  • رأس حفر 1 × 1 مم (يُفضل مرة أخرى لحفر المعادن).
  • 1x نموذج دبابة (لقد استخدمت مقياس ليوبارد 2 بمقياس 1:35 ولكن الحالات الأخرى يجب أن تكون جيدة أيضًا).
  • Superglue / الغراء الساخن
  • وبعض الأسلاك يفضل أن تكون بألوان مختلفة.
  • روابط الكابلات (اختياري).

الخطوة 2: الأسلاك

الأسلاك
الأسلاك

نحتاج أن نبدأ بالأسلاك ، الصورة عبارة عن رسم تقني لكيفية توصيل كل شيء بالأسلاك ، يجب أن يكون هذا بمثابة مخططك. ملاحظة: جميع منافذ Arduino تسمى AP # لكل منفذ. Arduino هو AP4 ، المنفذ A0 هو APA0 والمنفذ 6 ~ هو AP6 ~ ، إلخ ، تتم تسمية جميع المنافذ الأخرى كما تظهر على الوحدات نفسها.

الخطوة 3: رمز ما قبل الأشياء

الآن قبل أن نتمكن من البدء في استخدام الكود ، نحتاج إلى بعض الأشياء. أوصي الآن باتباع هذا البرنامج التعليمي mans من الخطوة 2 إلى 4

www.electronoobs.com/eng_arduino_tut8.php

ومع ذلك ، لن نستخدم الكود الخاص به لأننا سنستخدم رمزنا الخاص ، يرجى ملاحظة أن بعض مكبرات الصوت تستخدم ترددات مختلفة. استخدم مكبر الصوت الخاص بي ملفات صوتية 16 بت 32 كيلو هرتز. لذا إذا كان حديثك يصدر نوعًا من الضوضاء ولكن لا يشغل ملفاتك ، فحاول اللعب بترددك.

الخطوة 4: الكود

سنقوم الآن بتحميل الكود إلى arduino. انسخ كل هذا وقم بلصقه في Arduino IDE وقم بتحميله على Arduino الخاص بك.

// يتضمن مكتبة قارئ بطاقة SD. # تتضمن "Wtv020sd16p.h" // المكتبة اللازمة لجهاز استشعار السونار. # تضمين // يعين دبابيس Arduino. int resetPin = 4 ؛ int clockPin = 5 ؛ كثافة العمليات dataPin = 6 ؛ int busyPin = 7 ؛ int soundDetectedPin = 12 ؛ int lightDetectedPin = A0 ؛ // يعين دبابيس مكتبة بطاقة SD. Wtv020sd16p wtv020sd16p (resetPin ، clockPin ، dataPin ، busyPin) ؛ // يعين المسامير لمكتبة مستشعرات السونار. NewPing سونار (11 ، 10) ؛ // يقوم بإعداد المدخلات الأخرى ويضبط معدل البت للبرنامج. إعداد باطل () {wtv020sd16p.reset () ، pinMode (lightDetectedPin ، INPUT) ؛ pinMode (soundDetectedPin ، INPUT) ؛ Serial.begin (9600) ؛ } // الجزء الرئيسي من البرنامج. حلقة فارغة () {// يعين intergers int lightDetectedVal = analogRead (lightDetectedPin) ؛ المسافة intVal = sonar.ping_cm () ؛ int soundDetectedVal = digitalRead (soundDetectedPin) ؛ // تأخير حتى لا يستمر المشروع في استخدام السماعة بلا حدود. تأخير (30000) ؛ // خطوط طباعة وطباعة متسلسلة بحيث يمكنك بسهولة معرفة القيم التي تأخذها وحدات المستشعر. Serial.print ("قيمة الصوت:") ؛ // عبارات if المتعددة بحيث يقوم البرنامج بتشغيل ملفات صوتية مختلفة وفقًا للقيم التي يتم قياسها بواسطة وحدات الاستشعار. إذا (soundDetectedVal == 0) {Serial.println (soundDetectedVal) ؛ Serial.print ("مسافة:") ؛ إذا (المسافةVal == 0) {Serial.println (DistanceVal) ؛ Serial.print ("Light Value:") ؛ إذا (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (1) ، // طباعة تسلسلية أخرى حتى تتمكن من رؤية ملف الصوت الذي تم تشغيله بالضبط. Serial.println ("1 --------") ؛ // تأخير آخر للسماح للملف الصوتي بتشغيل طوله الكامل. تأخير (5000) ؛ } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (2) ، Serial.println ("2 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (3) ، Serial.println ("3 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (4) ، Serial.println ("4 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (5) ، Serial.println ("5 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || DistanceVal == NULL) {Serial.println (DistanceVal) ؛ Serial.print ("Light Value:") ؛ إذا (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (7) ، Serial.println ("7 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (8) ، Serial.println ("8 --------") ؛ تأخير (8000) ؛ } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (9) ، Serial.println ("9 --------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (10) ، Serial.println ("10 -------") ؛ تأخير (8000) ؛ } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (11) ، Serial.println ("11 -------") ؛ تأخير (6000) ؛ } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (13) ، Serial.println ("13 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (14) ، Serial.println ("14 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (15) ، Serial.println ("15 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (16) ، Serial.println ("16 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (17) ، Serial.println ("17 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || DistanceVal == NULL || DistanceVal> = 150) {Serial.println (DistanceVal) ؛ Serial.print ("Light Value:") ؛ إذا (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (19) ، Serial.println ("19 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (20) ، Serial.println ("20 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (21) ، Serial.println ("21 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (22) ، Serial.println ("22 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (23) ، Serial.println ("23 -------") ؛ تأخير (5000) ؛ } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal) ؛ wtv020sd16p.playVoice (24) ، Serial.println ("24 -------") ؛ تأخير (5000) ؛ }}}}

الخطوة 5: القضية

القضية
القضية
القضية
القضية

الآن يأتي الجزء المعقد الفعلي.

قد يكون تركيب كل شيء في العلبة أمرًا صعبًا بعض الشيء ، وهذا يعتمد على كيفية تركيب كل شيء على لوح التجارب أو كيفية لحام الأشياء معًا. لكنك ستحتاج إلى عمل فتحتين لتلتصق بهما المستشعرات. أضع micorphone (مثقاب 9 مم مطلوب) ووحدة السونار (مطلوب مثقاب 6 مم) في الخلف و LDR في مقدمة الخزان ولكن يمكنك وضعها بشكل فعال في أي مكان إذا كان لديك مساحة.

تأكد من قطع فتحة في جسم النموذج لتتمكن من توصيل اردوينو بكابل الموصل.

أود أن أوصي بوضع السماعة في البرج. حيث يجب أن يكون هناك مساحة كبيرة متبقية هناك.

الصورة اليسرى أعلاه هي كيف قمت بتركيب اردوينو والطباعة التي قمت بلحامها داخل نموذج Leopard 2 ، الصورة اليمنى هي واحدة مع معظم الأسلاك المجهزة.

ما يمكنك فعله هو حفر ثقوب صغيرة في الجزء السفلي من النموذج لتأمين Arduino برباط الكابلات.

لكن إذا لم أكن مخطئًا ، فينبغي أن تكون قد انتهيت الآن.

موصى به: