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

حامل الهاتف الدوار: 7 خطوات
حامل الهاتف الدوار: 7 خطوات

فيديو: حامل الهاتف الدوار: 7 خطوات

فيديو: حامل الهاتف الدوار: 7 خطوات
فيديو: حامل تليفون سهل جدا #اختراع #shorts #diy #recycling #craft #art #handmade  #ideas #fyp 2024, يوليو
Anonim
الدورية جبل الهاتف
الدورية جبل الهاتف

تم إنشاء هذا التوجيه استيفاءً لمتطلبات المشروع الخاصة بـ Makecourse في جامعة جنوب فلوريدا (www.makecourse.com).

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

لإنشاء هذا المشروع ، سوف تحتاج إلى:

- متحكم Arduino و IDE

- كبل USB لتحميل الكود

- اللوح

- أسلاك توصيل

- عرض شاشات الكريستال السائل

- مؤازرة

- العمود الذي يمكن أن يعلق على المؤازرة

- ريموت IR

- مستقبل الأشعة تحت الحمراء

- 10 كيلو اوم المقاوم

- Kenu Airframe + Phone Clip (أو أي شيء لتثبيت الهاتف في مكانه)

- بطارية 9 فولت للطاقة المحمولة أو أردوينو فقط USB

الخطوة 1: بناء دائرة استقبال الأشعة تحت الحمراء

بناء دائرة استقبال الأشعة تحت الحمراء
بناء دائرة استقبال الأشعة تحت الحمراء
بناء دائرة استقبال الأشعة تحت الحمراء
بناء دائرة استقبال الأشعة تحت الحمراء

أولاً ، قفز GND و + 5V من Arduino إلى قضبان الطاقة على لوح التجارب. بعد ذلك ، قفز المقاوم 10 كيلو أوم من سكة الطاقة + 5 فولت إلى دبوس الإخراج الخاص بالترانزستور الضوئي لمستقبل الأشعة تحت الحمراء. بعد ذلك ، استخدم سلك توصيل للتوصيل بالدبوس 11 على Arduino من طرف خرج جهاز استقبال الأشعة تحت الحمراء. بعد ذلك ، استخدم سلكين توصيل لإرسال الأرض و + 5 فولت إلى المسامير المعنية على مستقبل الأشعة تحت الحمراء. مرشح RC الموضح في المخطط أعلاه ليس ضروريًا. أخيرًا ، لم أقم بعمل التخطيطي الموضح في هذه الخطوة ، ومصدره موجود في الصورة.

الخطوة 2: قم بتوصيل المؤازرة والعمود وحامل الهاتف

قم بتوصيل المؤازرة والعمود وحامل الهاتف
قم بتوصيل المؤازرة والعمود وحامل الهاتف
قم بتوصيل المؤازرة والعمود وحامل الهاتف
قم بتوصيل المؤازرة والعمود وحامل الهاتف
قم بتوصيل المؤازرة والعمود وحامل الهاتف
قم بتوصيل المؤازرة والعمود وحامل الهاتف

الآن ، استخدم سلكين للقفز من الأرض و + 5 فولت لقضبان طاقة اللوح في الأسلاك البنية والحمراء لأجهزة المؤازرة ، على التوالي. بعد ذلك ، استخدم سلك توصيل واحد لإرفاق دبوس 9 على Arduino بالسلك البرتقالي من المؤازرة.

بعد ذلك ، قم بإرفاق عمود برأس المؤازرة كما هو موضح في الصورة الثانية.

أخيرًا ، قم بإرفاق شيء ما لتثبيت الهاتف بالعمود ، مثل Kenu Airframe + ، كما هو موضح في الصورة الثالثة.

الخطوة 3: قم بتوصيل شاشة LCD بقراءة مؤازرة

قم بتوصيل شاشة LCD لقراءة مؤازرة
قم بتوصيل شاشة LCD لقراءة مؤازرة

القفز على الأرض و + 5 فولت من قضبان الطاقة للوح الخاص بك إلى المسامير المعنية على شاشة LCD. أيضًا ، قفز دبابيس SDA و SCL من شاشة LCD إلى Ardiuno. يمكن التعرف على دبابيس SDA و SCL الخاصة بـ Arduino من الجزء الخلفي من لوحة Arduino وهما الدبوسان الموجودان فوق AREF والأرض فوق الدبوس 13. ودبوس SCL هو الأعلى. هذا يسمح لشاشة LCD بقراءة موضع المؤازرة الحالي.

الخطوة 4: استخدم الكود والمكتبات المرفقة ببرمجة Arduino

استخدم الكود والمكتبات المرفقة ببرمجة Arduino
استخدم الكود والمكتبات المرفقة ببرمجة Arduino

قم بتنزيل ملف RotatingMountCode.zip. قم بتثبيت Arduino IDE وفك ضغط الملف الذي تم تنزيله في Documents / Arduino. تأكد من نسخ محتويات مجلد الرسومات والمكتبات الخاصة بي إلى مجلد الرسومات والمكتبات. افتح مخطط ServoIRandLCD وقم بتحميله على Arduino.

انظر الخطوات اللاحقة لشرح الكود.

الخطوة 5: قم بتوصيل مصدر الطاقة المطلوب بـ Arduino واستخدم جهاز التحكم عن بُعد لتدوير الحامل

قم بتوصيل مصدر الطاقة المطلوب بـ Arduino واستخدم جهاز التحكم عن بُعد لتدوير الحامل!
قم بتوصيل مصدر الطاقة المطلوب بـ Arduino واستخدم جهاز التحكم عن بُعد لتدوير الحامل!
قم بتوصيل مصدر الطاقة المطلوب بـ Arduino واستخدم جهاز التحكم عن بُعد لتدوير الحامل!
قم بتوصيل مصدر الطاقة المطلوب بـ Arduino واستخدم جهاز التحكم عن بُعد لتدوير الحامل!

اترك Arduino متصلاً بجهاز الكمبيوتر الخاص بك أو افصله عن جهاز الكمبيوتر الخاص بك واستخدم بطارية 9V لتوفير طاقة التيار المستمر لـ Arduino. أخيرًا ، استخدم جهاز تحكم عن بعد IR رخيص للتحكم في المؤازرة وبالتالي اتجاه حامل الهاتف!

يجب أن يضبط الرقم 1 الموجود على جهاز التحكم عن بُعد موضع المؤازرة على 0 درجة ، والرقم من 2 إلى 90 درجة ، والرقم من 3 إلى 180 درجة. وفي الوقت نفسه ، يجب أن تزيد الأزرار + و - الموجودة على جهاز التحكم عن بُعد أو تنقص زاوية المؤازرة بمقدار درجة واحدة ، على التوالي.

ملاحظة: إذا كنت تستخدم جهاز تحكم عن بعد IR مختلف عن الموجود في الصورة هنا ، فمن الممكن أن تتغير رموز الأشعة تحت الحمراء المقابلة لمختلف الأزرار. إذا كان الأمر كذلك ، فقم بتعديل رسم ServoIRandLCD لاستخدام أكواد IR هذه بدلاً من ذلك.

الخطوة 6: اقرأ هذا للحصول على شرح كود المصدر

اقرأ هذا للحصول على شرح رمز المصدر
اقرأ هذا للحصول على شرح رمز المصدر
اقرأ هذا للحصول على شرح رمز المصدر
اقرأ هذا للحصول على شرح رمز المصدر

يمكن العثور على الكود المصدري لرسم Arduino أدناه أو في ملف zip المرفق مسبقًا. يمكن العثور على المكتبات المطلوبة فقط في ملف.zip المرفق مسبقًا في الخطوة 4.

أول شيء يفعله الكود هو تضمين المكتبات الضرورية اللازمة لتشغيل جميع الوظائف في المخطط. بعد ذلك ، يعلن أن الدبوس 9 على Arduino هو دبوس الإشارة الممكّن لـ PWM من أجل المؤازرة. كما أنه يجعل دبوس 11 على Arduino هو الدبوس المستخدم لجهاز استقبال الأشعة تحت الحمراء. بعد ذلك ، يعلن عن متغير عدد صحيح يستخدم لتتبع موضع المؤازرة بالدرجات ويضبطه على 0 درجة ، في البداية. بعد ذلك ، يقوم بإنشاء مثيل للكائنات المطلوبة لكائن IRrecv ، وكائن مؤازر ، وكائن myDisplay LCD (الذي تم تكوينه أيضًا في نفس السطر) بحيث يمكن استخدام هذه الكائنات لاحقًا.

بعد ذلك ، في وظيفة الإعداد ، يبدأ المنفذ التسلسلي بسرعة 9600 بت / ثانية بحيث يمكن استخدام الشاشة التسلسلية لتتبع موضع المؤازرة إذا رغبت في ذلك. يقوم أيضًا بإرفاق كائن myservo بالرقم 9 ، ويبدأ مستقبل الأشعة تحت الحمراء ، ويهيئ شاشة LCD.

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

أخيرًا ، يتم إرسال الزاوية الحالية من المؤازرة إلى كل من الشاشة التسلسلية وشاشة LCD باستخدام وظيفة myservo.read () ، وتتكرر الحلقات الرئيسية إلى أجل غير مسمى.

مصدر الرمز:

# تضمين // مكتبة Arduino القياسية # تتضمن // مكتبة IR # تتضمن "Wire.h" //Wire.h لشاشات الكريستال السائل (مطلوبة أحيانًا) # تتضمن "LiquidCrystal_I2C.h" // مكتبة LCD

#define servopin 9 // هذا يعرف الدبوس 9 على أنه الدبوس المستخدم في قيادة التحكم المؤازرة (برتقالي)

عدد صحيح RECV_PIN = 11 ؛ // يرسل ترانزستور الصور بالأشعة تحت الحمراء الإخراج إلى الدبوس 11

int currentAngle = 0 ؛ // أعلن عن متغير عدد صحيح لـ currentAngle واضبطه على 0

IRrecv irrecv (RECV_PIN) ؛ // إنشاء نتائج decode_results لكائن مستقبل الأشعة تحت الحمراء ؛ // إنشاء كائن decode_results. هذا الكائن منفصل عن مستقبل الأشعة تحت الحمراء.

مؤازرة myservo. // إنشاء كائن مؤازر يسمى 'myservo' // يمكن إنشاء ثمانية كائنات مؤازرة كحد أقصى

LiquidCrystal_I2C myDisplay (0x27، 16، 2)؛ // إنشاء كائن LCD وإعداد التكوين

الإعداد باطل() {

Serial.begin (9600) ؛ // بدء المنفذ التسلسلي

myservo.attach (servopin) ؛ // يعلق المؤازرة على الدبوس 9 بجسم المؤازرة

irrecv.enableIRIn () ، // بدء المتلقي

myDisplay.init () ، // تهيئة LCD

myDisplay.backlight () ، // قم بتشغيل الإضاءة الخلفية لشاشات الكريستال السائل

}

حلقة فارغة() {

if (irrecv.decode (& results)) // إذا تم استقبال الإرسال …

{Serial.print ("تم استلام قيمة IR:") ؛

Serial.println (results.value) ؛ // تم استلام قيمة العرض

// تفسير الأوامر المستلمة … if (results.value == 16724175) // 1 {// left myservo.write (0)؛ }

if (results.value == 16718055) // 2 {// middle myservo.write (90)؛ }

if (results.value == 16743045) // 3 {// right myservo.write (180) ؛ }

if (results.value == 16754775) // + {// increment currentAngle = myservo.read () ؛ myservo.write (currentAngle + 1) ؛ } if (results.value == 16769055) // - {// decrement currentAngle = myservo.read () ؛ myservo.write (currentAngle - 1) ؛ }}

irrecv.resume () ؛ // تلقي القيمة التالية

// Serial monitor print Serial.print ("وضع المؤازرة الحالي:") ؛

Serial.println (myservo.read ()) ؛ // هذا يسترد موضع المؤازرة ويرسله إلى الشاشة التسلسلية

// LCD print myDisplay.clear () ؛

myDisplay.print ("Servo deg.:") ؛

myDisplay.print (myservo.read ()) ،

تأخير (200) ؛ // تأخير لجعل تشغيل المؤازرة مستقرًا

}

الخطوة 7: شاهد فيديو Youtube الخاص بي للحصول على المساعدة

شاهد فيديو يوتيوب غير المدرج الخاص بي والذي يناقش ويوضح المشروع بالكامل إذا كان لديك أي أسئلة!

موصى به: