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

كيف تصنع عقبة اردوينو بنفسك لتتجنب الروبوت في المنزل: 4 خطوات
كيف تصنع عقبة اردوينو بنفسك لتتجنب الروبوت في المنزل: 4 خطوات

فيديو: كيف تصنع عقبة اردوينو بنفسك لتتجنب الروبوت في المنزل: 4 خطوات

فيديو: كيف تصنع عقبة اردوينو بنفسك لتتجنب الروبوت في المنزل: 4 خطوات
فيديو: Arduino Lesson 27 : Auto Drive Car / تصنيع سيارة ذاتية القيادة لتفادى العوائق 2024, شهر نوفمبر
Anonim
Image
Image

مرحبًا يا شباب ، في هذا Instructable ، ستجعل عقبة تتجنب الروبوت. يتضمن هذا Instructable بناء روبوت بجهاز استشعار بالموجات فوق الصوتية يمكنه اكتشاف الأشياء القريبة وتغيير اتجاهها لتجنب هذه الأشياء. سيتم توصيل المستشعر بالموجات فوق الصوتية بمحرك مؤازر يقوم بالمسح المستمر لليمين واليسار بحثًا عن الأشياء الموجودة في طريقه.

لذلك ، دون مزيد من اللغط ، فلنبدأ!

الخطوة الأولى: ما تحتاجه في هذا المشروع:

ما تحتاجه في هذا المشروع
ما تحتاجه في هذا المشروع
ما تحتاجه في هذا المشروع
ما تحتاجه في هذا المشروع

إليك قائمة الأجزاء:

1) اردوينو أونو

2) درع سائق المحرك

3) مجموعة تروس وإطار وعجلات

4) محرك سيرفو

5) جهاز استشعار بالموجات فوق الصوتية

6) بطارية ليثيوم أيون (2x)

7) حامل البطارية

8) سلك الطائر للذكور والإناث

9) لحام الحديد

10) الشاحن

الخطوة 2: مخطط الدائرة

مخطط الرسم البياني
مخطط الرسم البياني

عمل:

قبل الشروع في العمل على المشروع ، من المهم فهم كيفية عمل جهاز الاستشعار بالموجات فوق الصوتية. المبدأ الأساسي وراء عمل جهاز الاستشعار بالموجات فوق الصوتية هو كما يلي:

باستخدام إشارة الزناد الخارجية ، فإن Trig pin الموجود على المستشعر بالموجات فوق الصوتية يجعل المنطق مرتفعًا لمدة 10 ثوانٍ على الأقل. يتم إرسال دفقة صوتية من وحدة الإرسال. يتكون هذا من 8 نبضات 40 كيلو هرتز.

تعود الإشارات مرة أخرى بعد اصطدامها بسطح ويكتشف جهاز الاستقبال هذه الإشارة. يكون دبوس Echo مرتفعًا من وقت إرسال الإشارة واستقبالها. يمكن تحويل هذا الوقت إلى مسافة باستخدام الحسابات المناسبة.

الهدف من هذا المشروع هو تنفيذ عقبة تجنب الروبوت باستخدام جهاز استشعار بالموجات فوق الصوتية واردوينو. يتم إجراء جميع التوصيلات وفقًا لمخطط الدائرة. يتم شرح عمل المشروع أدناه.

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

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

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

الخطوة الثالثة: برمجة Arduino UNO

#يشمل

#يشمل

#يشمل

# حدد TRIG_PIN A1

# حدد ECHO_PIN A0

# حدد MAX_DISTANCE 200

# تحديد MAX_SPEED 255 // يحدد سرعة محركات التيار المستمر

# حدد MAX_SPEED_OFFSET 20

NewPing سونار (TRIG_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛

AF_DCMotor motor3 (3 ، MOTOR34_1 كيلو هرتز) ؛

AF_DCMotor motor4 (4 ، MOTOR34_1 كيلو هرتز) ؛ مؤازرة myservo.

قيمة منطقية goForward = false ؛

المسافة int = 100 ؛ int speedSet = 0 ؛

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

myservo.attach (10) ،

myservo.write (115) ؛ تأخير (2000) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ }

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

المسافة intR = 0 ؛ المسافة intL = 0 ؛ تأخير (40) ؛

إذا (المسافة <= 15) {moveStop () ؛ تأخير (100) ؛ moveBackward () ، تأخير (300) ؛ moveStop () ، تأخير (200) ؛ DistanceR = lookRight () ؛ تأخير (200) ؛ DistanceL = lookLeft () ؛ تأخير (200) ؛

إذا كانت (مسافة R> = مسافة L) {

انعطف يمينا()؛ moveStop () ، } else {turnLeft ()؛ moveStop () ، }} else {moveForward ()؛ } مسافة = readPing () ؛ }

int lookRight () {

myservo.write (50) ؛ تأخير (500) ؛ مسافة int = readPing () ؛ تأخير (100) ؛ myservo.write (115) ؛ مسافة العودة }

int lookLeft () {

myservo.write (170) ؛ تأخير (500) ؛ مسافة int = readPing () ؛ تأخير (100) ؛ myservo.write (115) ؛ مسافة العودة تأخير (100) ؛ }

int readPing () {

تأخير (70) ؛ int cm = sonar.ping_cm () ؛ إذا (سم == 0) {سم = 250 ؛ } عودة سم؛ }

خطوة باطلة توقف () {

motor3.run (إطلاق) ؛

motor4.run (إطلاق) ؛ }

نقل باطل إلى الأمام () {

إذا (! يذهب إلى الأمام) {

goForward = صحيح ؛

motor3.run (إلى الأمام) ؛

motor4.run (إلى الأمام) ؛ لـ (speedSet = 0؛ speedSet <MAX_SPEED؛ speedSet + = 2) // ارفع السرعة ببطء لتجنب تحميل البطاريات بسرعة كبيرة جدًا {

motor3.setSpeed (مجموعة السرعة) ؛

Motor4.setSpeed (مجموعة السرعة) ؛ تأخير (5) ؛ }}}

نقل باطل إلى الخلف () {

goForward = خطأ ؛

motor3.run (خلفي) ؛

motor4.run (خلفي) ؛ لـ (speedSet = 0؛ speedSet <MAX_SPEED؛ speedSet + = 2) // ارفع السرعة ببطء لتجنب تحميل البطاريات بسرعة كبيرة جدًا {

motor3.setSpeed (مجموعة السرعة) ؛

Motor4.setSpeed (مجموعة السرعة) ؛ تأخير (5) ؛ }}

دوران باطل لليمين () {

motor3.run (إلى الأمام) ؛

motor4.run (خلفي) ؛ تأخير (500) ؛

motor3.run (إلى الأمام) ؛

motor4.run (إلى الأمام) ؛ }

انعطف باطل إلى اليسار () {

motor3.run (خلفي) ؛

motor4.run (إلى الأمام) ؛ تأخير (500) ؛

motor3.run (إلى الأمام) ؛

motor4.run (إلى الأمام) ؛ }

1) قم بتنزيل وتثبيت Arduino Desktop IDE

  • النوافذ -
  • نظام التشغيل Mac OS X -
  • لينكس -

2) قم بتنزيل ولصق ملف مكتبة NewPing (مكتبة وظائف مستشعر الموجات فوق الصوتية) في مجلد مكتبات Arduino.

  1. قم بتنزيل NewPing.rar أدناه
  2. استخرجه إلى المسار - C: / Arduino / libraries

3) قم بتحميل الكود على لوحة Arduino عبر كابل USB

تنزيل كود:

الخطوة 4: عظيم

الآن الروبوت الخاص بك جاهز لتجنب أي عقبة …

سأكون سعيدا للإجابة على أي أسئلة لديك

Emailme: [email protected]

الموقع:

اشترك في قناتي على YouTube:

Instagram:

الفيسبوك:

اشكرك:)

موصى به: