يوم جيد للجميع! ستخصص هذه المقالة لمحبي الإلكترونيات ، والروبوتات ، وكذلك الأشخاص الذين لديهم نظرة غير قياسية على الأشياء المحيطة!
لذا سأحاول الآن وصف عملية الخلق والتجمع بأكبر قدر ممكن من الوضوح الروبوت مع ه حشو ، وهي على اردوينو! دعنا نذهب!
ما نحتاجه:
حلقة من ثلاثة أسلاك (3 قطع). من المستحسن أن تأخذ أكثر أصالة.
أسلاك عادية
مقاييس فرق الجهد
المقاومات (220 أوم)
زر
حجرة البطارية
اللوح
حسنا ، بالطبع ، أنا اردوينكا
وكذلك لوحة توسيع لها - شيء من هذا القبيل MultiservoShieldللسيطرة على عدد كبير من الماكينات
و اكثر مُنشئ، والتي ستكون أساس روبوتنا ، لذا يُنصح باختيار "قوي"
من الأدوات سوف تحتاج إلى:
مجموعة من المفكات ، المفاتيح ، إلخ.
فضلا عن لحام الحديد واللحام والتدفق
حسنًا ، لنبدأ!
الخطوة رقم 1. تصنيع الإطار الرئيسي
للبدء ، اجمع "حرفين H" يبدو كالتالي:
ثم بعض البناء الذي لدينا الروبوت سيقف. ليس من الضروري على الإطلاق كما في الصورة - حسب تقديرك .. اتضح مثل هذا:
نقوم بتثبيت "N" على الدعم
من الأسفل نشد البراغي
من ناحية أخرى "H" نقوم بإصلاح المؤازرة الأولى ، المسؤولة عن إدارة رؤوس الروبوت المستقبلي
اتضح شيء مثل ما يلي:
الإطار جاهز تقريبًا! يبقى ربط هذين الهيكلين بلوحات معدنية وإعطاء ارتفاع الروبوت!
الخطوة رقم 2: عمل إطار لآذان الروبوت المستقبلية
للقيام بذلك ، نحتاج إلى تجميع هيكلين متشابهين وإصلاح الماكينات عليها ، كما هو موضح في الشكل:
بعد ذلك ، باستخدام البراغي والصواميل ، قم بالاتصال بالإطار الرئيسي. سيتبين ما يلي:
منظر علوي:
حسنًا ، نموذج أولي من الروبوت جاهز تقريبًا! المضي قدما ..
الخطوة رقم 3. جعل العيون والرأس الكامل للروبوت لدينا!
لهذا ، استخدمت الهاتف القديم من الاتصال الداخلي. شخصيا ، تذكرني بوجه! شاهد المزيد ..
نصنع فتحتين ونربط الروك من أجل المؤازرة على الأنبوب
نلصق على الفور مصابيح LED على الجانبين ونلحم الأسلاك بها
استخدمت الرقيق:
الخطوة # 4 صنع الأذنين
سنستخدم القبعات العادية من الصناديق الصغيرة
أيضا ربط الكراسي الهزاز للخدمة
الآن نقوم بإصلاح أجزاء جسم الروبوت بجرأة على الخوادم
مثل هذا:
منظر علوي:
العودة:
من حيث المبدأ ، يمكنك الاستمتاع بالروبوت الآن ، لكننا سنعقد المهمة .. سندير عيون وآذان الروبوت باستخدام أجهزة قياس الجهد و arduinka
الخطوة # 5 الإلكترونيات
من خلال الجمع بين اردوينو والدرع متعدد الخدمات ، نقوم بإدخال حلقة بثلاثة أسلاك من كل جهاز إلى الدبابيس 9 ، 10 ، 11 (الأذن اليسرى ، الأذن اليمنى ، سنت ، إذا وضعت الروبوت في مواجهتنا)
ثم على اللوح نركب مقياس جهد وزر ومقاومات .. ستبدو هكذا ، قبيحة بالطبع ، لكن الشيء الرئيسي يعمل)
مزيد من التفاصيل!
كيفية تثبيت الزر:
عندما يكون السلك الأبيض مزودًا بالطاقة ، فإن الأحمر هو المدخل الرقمي للمتحكم الدقيق رقم 6 ، ويذهب المقاوم إلى الأرض (سلك أصفر)
كيفية تثبيت مقياس الجهد:
السلك الأحمر - الطاقة ، الأصفر - الأرض ، الأبيض - المدخلات التناظرية للمتحكم الدقيق رقم 0 (نقوم بتوصيل مقياس جهد آخر بنفس الطريقة ، فقط المدخلات التناظرية لوحدة التحكم رقم 1)
نقوم أيضًا بتثبيت مقاومات لمصابيح LED على اللوحة:
سيتم تزويد التيار من 3 و 5 دبابيس من اردوينو ، وسوف يأتي من خلال الأسلاك الصفراء والسوداء ومن خلال المقاومات تذهب إلى الأرض (وحدة تحكم GND)
حسنًا ، في الأساس كل شيء ، لقد انتهينا من الإلكترونيات! يبقى فقط لتنزيل التالي رسم واللعب مع الروبوت !!
# تشمل
# تشمل
Multiservo myservo1 ؛
Multiservo myservo2 ؛
Multiservo myservo3 ؛
int b، k1، p1، p2 ؛
int A = 0 ؛
int i = 0 ؛
طويلة غير موقعة m2 = 0 ؛
طويل غير موقّع m1 = 0 ؛
int r1 = 70 ؛
int r2 = 110 ؛
int r3 = 70 ؛
int h1 = 0 ؛
int h = 0 ؛
إعداد باطل ()
{
myservo1.attach (9) ؛ // الأذن اليسرى
myservo2.attach (10) ؛ // الأذن اليمنى
myservo3.attach (11) ؛ // عيون
pinMode (6 ، INPUT) ؛ الزر //
pinMode (3 ، OUTPUT) ؛ // عيون الأضواء PWM
pinMode (5 ، OUTPUT) ؛
}}
حلقة فارغة ()
{
بينما (A == 0) // روبوت حلقة التحكم اليدوي
{
ب = قراءة رقمية (6) ؛
إذا (! b) k1 = 1 ؛
إذا (ب == 1 && k1 == 1)
{
تأخير (10) ؛
ب = قراءة رقمية (6) ؛
إذا (ب == 1 && k1 == 1)
{
أ هو 1 ؛
k1 = 0 ؛
}}
}}
p1 = int (analogRead (A0) / 6) ؛
p2 = int (analogRead (A1) / 6) ؛
myservo1.write (p1) ؛
myservo2.write (p1) ؛
myservo3.write (p2) ؛
analogWrite (3 ، ط) ؛
analogWrite (5 ، ط) ؛
if (millis ()> = m1 + 70 && h1 == 0)
{
ط = ط + 4 ؛
م 1 = ملي () ؛
إذا (i> 250) h1 = 1 ؛
}}
if (millis ()> = m1 + 70 && h1 == 1)
{
ط = ط -4 ؛
م 1 = ملي () ؛
إذا (i == 0) h1 = 0 ؛
}}
}}
بينما (A == 1) // دورة عمل الروبوت المستقل
{
الكتابة الرقمية (13.0) ؛
ب = قراءة رقمية (6) ؛
إذا (! b) k1 = 1 ؛
إذا (ب == 1 && k1 == 1)
{
تأخير (10) ؛
ب = قراءة رقمية (6) ؛
إذا (ب == 1 && k1 == 1)
{
أ هو 0 ؛
k1 = 0 ؛
}}
}}
analogWrite (3 ، ط) ؛
analogWrite (5 ، ط) ؛
if (millis ()> = m1 + 70 && h1 == 0)
{
ط = ط + 4 ؛
م 1 = ملي () ؛
إذا (i> 250) h1 = 1 ؛
}}
if (millis ()> = m1 + 70 && h1 == 1)
{
ط = ط -4 ؛
م 1 = ملي () ؛
إذا (i == 0) h1 = 0 ؛
}}
if (millis ()> = m2 + 15 && h == 0)
{
myservo1.write (r1) ؛
myservo2.write (r2) ؛
myservo3.write (r3) ؛
r1 = r1 + 1 ؛
r2 = r2-1 ؛
r3 = r3 + 1 ؛
إذا (r1 == 110) h = 1 ؛
m2 = ملي () ؛
}}
if (millis ()> = m2 + 15 && h == 1)
{
myservo1.write (r1) ؛ // 110
myservo2.write (r2) ؛ // 70
myservo3.write (r3) ؛ // 110
r1 = r1-1 ؛
r2 = r2 + 1 ؛
r3 = r3-1 ؛
if (r1 == 70) h = 0 ؛
m2 = ملي () ؛
}}
}}
}}
الرمز كبير إلى حد ما ، ولكن صدقوني أنه يستحق ذلك!
باختصار ، ماذا يفعل هذا البرنامج:
لدينا زر مسؤول عن حالتين من النظام: إما أن نتحكم في الروبوت يدويًا ، أو ينفذ الحركات المسجلة بالفعل مسبقًا. عند الضغط على زر ، تتغير الحالات بالنسبة لنا ، وفي الكود ، تتغير دورتان فيما بينهما ، حيث يتم تسجيل الأوامر المقابلة. تضيء عيون روبوتنا تدريجيًا ، وتصبح أكثر إشراقًا وإشراقًا ، ثم تتلاشى. هذا هو السبب في أننا أطلقنا على LEDs الدبابيس التي تدعم تعديل عرض النبض PWM.
صور الروبوت:
صغير تسجيل فيديوكيف وماذا تدور في النهاية:
في الختام ، أود أن أقول ، بالطبع ، يمكن إعادة هذا الروبوت إلى الذهن لفترة طويلة ، ولكن هذا هو طعم كل شخص. افعلها! اخترع! تتطور! بالتوفيق للجميع!