الجمعة، 15 نوفمبر، 2013

روبوت البلوتوث

روبوت الأردوينو و التحكم به بواسطة الأندرويد


قد ترغب في بناء روبوت تستطيع التحكم به عن بُعد , سيكون هذا مسلياً جداً خصوصاً إذا استطعت أن تتحكم فيه بواسطة جهازك الذكي العامل على نظام الأندرويد Android .

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



القطع التي سنحتاجها :

1) بطاقة أردوينو  Uno " ميجا ستحتاج لتعديل في البرنامج "




2)غطاء قيادة المحركات L293 Motor driver 

او دارة قيادة المحرك  L298




3) هيكل روبوت Magician Chassis من شركة spark fun  او الهيكل 4Wheel Robot او هيكل روبوت Zumo من Pololu





4) قطعة البلوتوث HC-05 او HC-06 او احياناً تسمى Linvor .






5)بطاريتان , واحدة لتغذية المحرك "يجب ان تكون أكبر من 5 فولت " و الثانية  بطارية 9 فولت مع الحاضنة  لتغذية الأردوينو .



6) جهاز ذكي او لوح مزود لنظام التشغيل أندرويد 4.0

7) قطع اخرى , مثل  اسلاك توصيل , ستحتاج لأسلاك توصيل female-female عدد 4 , و ايضاً ستحتاج ل dc jack male+female لتسهيل توصيل البطارية مع غطاء الأردوينو الخاص بالمحرك  , و اخيراً pin header male عدد 1 .




التوصيل :

لأنني سأستخدم الغطاء L293 Motor driver فسأربط البلوتوث مع الأرجل A0,A1 على التوالي , و الجيد في هذا الغطاء هو امكانية توصيل المداخل التناظرية بسهولة .

التوصيل كالتالي :







وفي حال استخدام دارة القيادة L298 يكون التوصيل كالآتي :

ستحتاج لتحميل هذا التطبيق من متجر الأندرويد 






هذا التطبيق متوافق مع هذا البرنامج 

البرنامج للروبوت سواءاً كانت ب 4 عجلات ام بعجلين .

الكود مع دارة القيادة L298


// Robot 2wheel , 4 wheel controlled via Bluetooth
// Written By :Mohannad Rawashdeh
//http://www.genotronex.com/
#include "SoftwareSerial.h"// import the serial library\

const int IN1=3;
const int IN2=5;
const int IN3=6;
const int IN4=9;
 int BluetoothData;
 SoftwareSerial HC05(10, 11); // RX, TX
 int  SPEED_Control=200;
void setup() {
  // fIRST , define the Motor's pin as an OUTPUT
  
pinMode( IN1 ,OUTPUT);// Right Motor 1st wire
pinMode( IN2 ,OUTPUT);// Right Motor 2nd wire
pinMode( IN3 ,OUTPUT);// left Motor 1st wire
pinMode( IN4 ,OUTPUT);// left Motor 2nd wire
 HC05.begin(9600);
}
void FORWARD(int Speed){
  //When we want to let Motor To Rotate clock wise
  // just void this part on the loop section .
 
  analogWrite(IN1,0);
  analogWrite(IN2,Speed);
  analogWrite(IN3,Speed);
  analogWrite(IN4,0);
}
void BACKWARD(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,Speed);
  analogWrite(IN2,0);
  analogWrite(IN3,0);
  analogWrite(IN4,Speed);
}
void LEFT(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,0);
  analogWrite(IN2,Speed);
  analogWrite(IN3,0);
  analogWrite(IN4,Speed);
}
void RIGHT(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,Speed);
  analogWrite(IN2,0);
  analogWrite(IN3,Speed);
  analogWrite(IN4,0);
}

void Stop(){
  //When we want to let Motor To Rotate clock wise
  // just void this part on the loop section .
  analogWrite(IN1,0);
  analogWrite(IN2,0);
  analogWrite(IN3,0);
  analogWrite(IN4,0);
}

void loop() {
 //Rise Up

  if (HC05.available()){
 BluetoothData=HC05.read();
 Serial.println(BluetoothData);
   
  if(BluetoothData=='F'){   // if number 1 pressed .... 
   FORWARD(SPEED_Control);
   }
  if(BluetoothData=='B'){   // if number 1 pressed .... 
  BACKWARD(SPEED_Control);
   }
  if(BluetoothData=='L'){   // if number 1 pressed .... 
  RIGHT(SPEED_Control);
 
   }
  if(BluetoothData=='R'){   // if number 1 pressed ....
   LEFT(SPEED_Control);
   }
    if(BluetoothData=='S'){   // if number 1 pressed ....
  Stop();
   }
   if(BluetoothData=='0'){  SPEED_Control=0 ;}//Speed 
   if(BluetoothData=='1'){  SPEED_Control=50; }//Speed 
   if(BluetoothData=='2'){  SPEED_Control=100; }//Speed 
   if(BluetoothData=='3'){  SPEED_Control=120; }//Speed 
   if(BluetoothData=='4'){  SPEED_Control=140; }//Speed 
   if(BluetoothData=='5'){  SPEED_Control=160; }//Speed 
   if(BluetoothData=='6'){  SPEED_Control=180; }//Speed 
   if(BluetoothData=='7'){  SPEED_Control=200; }//Speed 
   if(BluetoothData=='8'){  SPEED_Control=220; }//Speed 
   if(BluetoothData=='9'){  SPEED_Control=240; }//Speed 
   if(BluetoothData=='q'){  SPEED_Control=255; }//Speed   
  }
}



الكود مع دارة غطاء قيادة المحرك L293


#include <AFMotor.h>
#include <SoftwareSerial.h>// import the serial library
SoftwareSerial Genotronex(14, 15); // RX, TX

char BluetoothData; // the data given from Computer
int t=10;
    AF_DCMotor right_motor(1, MOTOR12_1KHZ); // create motor #2, 1KHz pwm
    AF_DCMotor left_motor (2, MOTOR12_1KHZ); // create motor #3, 1KHz pwm
 
void setup() {
  // put your setup code here, to run once:
  Genotronex.begin(9600);
  left_motor.setSpeed(200);     // set the speed to 200/255
  right_motor.setSpeed(180);     // set the speed to 200/25
}

void loop() {
  // put your main code here, to run repeatedly: 
  if (Genotronex.available()){
 BluetoothData=Genotronex.read();
 delay(t);
 switch(BluetoothData){
 case 'F':
  left_motor.run(FORWARD);
  right_motor.run(FORWARD);
  delay(t);
  break;
  case 'L':// right
  left_motor.run(BACKWARD);
  right_motor.run(FORWARD);      // turn it on going forward 
  delay(t);
  break;
  case'R'://left
  left_motor.run(FORWARD);
  right_motor.run(BACKWARD); 
  delay(t);
  break;
  case'B':
  left_motor.run(BACKWARD);
  right_motor.run(BACKWARD); 
  delay(t);
  break;
  case'S':
  left_motor.run(RELEASE);
  right_motor.run(RELEASE);
  delay(t);
  break;
  case '2':
 left_motor.setSpeed(100);     // set the speed to 200/255
 right_motor.setSpeed(80);     // set the speed to 200/25
  break;
  case '4':
  left_motor.setSpeed(150);     // set the speed to 200/255
  right_motor.setSpeed(130);     // set the speed to 200/25
  break;
  case'7':
  left_motor.setSpeed(200);     // set the speed to 200/255
  right_motor.setSpeed(180);     // set the speed to 200/25
  break;
  case'q':
  left_motor.setSpeed(250);     // set the speed to 200/255
  right_motor.setSpeed(230);     // set the speed to 200/25

  }
 
}
}

و هذا الفيديو يوضح تطبيق هذا البرنامج 






75 التعليقات :

  1. بارك الله فيك يابشمهندس مهند
    طيب لو كانت المحركات 2 سيرفوهات ؟؟؟كيف بيكون الكود يابشمهندس مع جزيل الشكر لك

    ردحذف
    الردود
    1. شكراً لك , انا لست مهندساً
      ما هو نوع محركات السيرفو المستخدمة ؟ بشكل عام يدور محرك السيرفو 360 درجة مع عقارب الساعة عندما نستخدم مكتبة السيرفو و نعوض القيمة 0 في الأمر :
      Servo.write(0)
      للدوران في الأتجاه المعاكس :
      Servo.write(180)

      للتوقف
      Servo.write(90)

      فقط!

      حذف
  2. السلام عليكم
    لدي سؤال اخي فيما يتعلق ب Bluetooth Module HC-05 or HC-06 ممكن اعرف ما الخرج تبعه output لاني قرات في بعض المنتديات و وجدت انه 7bit و كما تعلم ه يستعمل UART protocol و الداتا فيه 8bit مع اضافة bit start and stop bit or 2bit for stop لاني اود استعماله مع Pic بواسطة الهاتف

    ردحذف
    الردود
    1. يرسل بايت في كل مرة , طريقة استعماله بسيطة لكن تعتمد على نوع البرنامج الذي ستستخدمه في البرمجة على ال PIC

      حذف
    2. شكرا لك اخي
      لنفترض اني عملت برنامج اندرويد و ارسلت حرف U على شكل كود ASCII يعني راح يكون 1بايت (8bit ) م Module Bluetooth راح يستقبل analog signal طيب الخرج تبع Module Bluetooth هل راح يكون نفس كود ASCII الي ارسلته
      وهل عند استعمال Module Bluetooth لاول مرة يكفي استعماله و هو في الوضع الافتراضي فقط اغير baud rate الذي اريده لكي يتوافق مع PIC ام يجب اختيار AT command و لو تكركمت ممكن تشرح لي هذه الاخيرة

      اسف لكون اسئلة كثيرة لاني احتاج هذه المعلومات لتنفيذ مشروعي
      و شكرا لك اخي و حبذ لو استطيع التواصل معك اكثر

      حذف
  3. السلام عليكم
    اولا نشكرك على تلك المعلومات القيمه
    ولكن هل من الممكن ان تدلنا على تقنيات اكثر وهل توجد روبوتات تستخدم تقنيات المغناطيسيه وكيف تتم التحكم فى المركبات فى الفضاء اريد الفكره الاساسيه

    ردحذف
    الردود
    1. بصراحة موضعها معقد بعض الشيء نظراً لموضوع الجاذبية الحساس , بالغالب يتم عن طريق ألأتصال مع أحد الأقمار الصناعية التي تدور في محور الأرض و يرسل البيانات و المعلومات بين الروبوت و المحطة الأرضية

      حذف
  4. سيرفوهات 360 درجه ....طيب ايش الفائده من الاوامر هذه
    case '2':
    left_motor.setSpeed(100); // set the speed to 200/255
    right_motor.setSpeed(80); // set the speed to 200/25
    break;
    case '4':
    left_motor.setSpeed(150); // set the speed to 200/255
    right_motor.setSpeed(130); // set the speed to 200/25
    break;
    case'7':
    left_motor.setSpeed(200); // set the speed to 200/255
    right_motor.setSpeed(180); // set the speed to 200/25
    break;
    case'q':
    left_motor.setSpeed(250); // set the speed to 200/255
    right_motor.setSpeed(230); // set the speed to 200/25

    ردحذف
  5. عملت روبوت بالبلوتوث وعن طريق الكيبورد لكن اشاره البلوتوث تفصل باستمرار وااشيل بطاريه الاردوينو وارجعها ترجع الاشاره وهكذا ايش السبب بحكم انك قد جربت ؟؟؟؟؟؟

    ردحذف
    الردود
    1. ما نوع البطارية المستعملة ؟ لا تقربي البلوتوث من المحرك لأن المحرك يصدر ضجيجياً يؤثر على عمل قطعة البلوتوث .

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

      حذف
    2. السلام عليكم .. محتاج مساعده .. اللغه البرمجيه تطلع عندي error ممكن تساعدني .. اخذتها من موقعكم اللغه

      حذف
    3. السبب هو اخذ vcc للبلوتوث من مصدر خارجي ويجب اخذ vcc من الاردوينو نفسه

      حذف
  6. البطاريات المستخدمه بطاريات 9 فولت عاديه للاردوينو ...عامله البلوتوث مع الاردوينو على لوحه تجارب صغيره فوق السيرفوهات احتمال زي ماقلت يكون من السيرفوهات ....باغير المكان واشوف النتائج

    ردحذف
  7. شكرا لك اخي
    لنفترض اني عملت برنامج اندرويد و ارسلت حرف U على شكل كود ASCII يعني راح يكون 1بايت (8bit ) م Module Bluetooth راح يستقبل analog signal طيب الخرج تبع Module Bluetooth هل راح يكون نفس كود ASCII الي ارسلته
    وهل عند استعمال Module Bluetooth لاول مرة يكفي استعماله و هو في الوضع الافتراضي فقط اغير baud rate الذي اريده لكي يتوافق مع PIC ام يجب اختيار AT command و لو تكركمت ممكن تشرح لي هذه الاخيرة

    اسف لكون اسئلة كثيرة لاني احتاج هذه المعلومات لتنفيذ مشروعي
    و شكرا لك اخي و حبذ لو استطيع التواصل معك اكثر

    ردحذف
    الردود
    1. تحتاج لاستخدام مدخل أضافي ألا وهو State و يجب عليك مراجعة النشرة الفنية بهذا الخصوص , الطريقة سهلة جداً . يمكنك تعديل ال Buad rate , name, password وكثير من الأمور الأخرى .

      حذف
  8. السلام عليكم ..... اخي ممكن اعرف التكلفه الاجماليه للمشروع؟ وطبعا انا اشكرك لانك تنشر ما تتوصل اليه من علوم على عكس كثير من الناس ..وفقك الله لكل ما هو خير

    ردحذف
    الردود
    1. لنقل أنك لا تملك أي قطعة ألكترونية ! يصل تقريباً تكلفة بناء روبوت لك "قابل للفك و التعديل " لحدود 80 دولاراً , ستكون مرتفعة نظراً لأني أخذت بعين الأعتبار انك لا تملك شيء أبداً .

      شكراً لك و اتمنى ان تستفيد من هذه السلسلة

      حذف
  9. لو سمحت اخ مهند ممكن توضيح بخصوص كود ال2 سيرفو
    للدوران في الأتجاه المعاكس :
    Servo.write(180)

    للتوقف
    Servo.write(90)

    وهل بنحتاج الى ضبط السرعه كما في المثال اعلى ؟؟؟؟؟عفوا على الاطاله

    ردحذف
  10. السلام عليكم باش مهندس انا مبتدئ في الاردينو ، وقمت بالعمل على المشروع ولدي
    L298 , bluetooth HC-06

    وقد قمت بتحميل مكتبة SoftwareSerial' وظهرت لي هذه الرسالة
    'class SoftwareSerial' has no member named 'available'

    المرجو مساعدتي لكي احصل على الكود الصحيح او الخطوات الصحيحة لهذا المشروع

    ردحذف
    الردود
    1. مكتبة ال Softwareserial مثبته في برنامج الأردوينو و لا حاجة لتنزيلها اذا كنت تستخدم برنامج أصداره أكبر من 1.0

      حذف
  11. الفيديو مش وااضح ممكن لو تكتب الخطوات اللي قمت بيهم عشان التوصيل بين الاندرويد والروبوت بعد مافتحت البرنامج ؟؟؟؟؟

    ردحذف
    الردود
    1. اعملي pairing بين البلوتوث و جهاز الأندرويد ثم افتحي البرمجية و اضغطي connect و اختاري جهاز البلوتوث HC05,HC06, LINVOR حسب النوع المستخدم "كود ال Pairing 1234 "

      حذف
  12. اولا شكرا لمجهودك الرائع و ربنا يوفقك و تبقي من حسن لاحسن ان شاء الله :)
    ثانيا عندي سؤال ملح بشكل رخم :) انا بشوف ريبوتات بيبقي فيها كاميرا موديول و بتبقي بتنقل الي شايفاة live علي الموبيل ديركت السؤال بقي :) حضرتك ممكن توضح هما بيستخدمو arduino ولا اية بيظبط او لو عند خضرتك tutorial علشان عندي رغبة ملحة بردو اني انفذها ان شاء الله و شكرا لحضرتك رغيت كتير :)

    ردحذف
    الردود
    1. اهلاً

      الاستخدام يكون لكاميرا وايرليس و يتم فتح صفحة نت تكون معدة في برنامج هذه الكاميرا بحيث تعرض الفيديو عليها , موجودة في ال live stream على أجهزة الأندرويد على ما أذكر

      الأردوينو فقط تحرك الروبوت و لا تتعامل مع الكاميرات خصوصاً اشارات الفيديو منها

      حذف
  13. م.مهند يا ريت توضحلي شو الــ IDE الي سويت عليها برنامج الاندرويد لاني بتعلم كيف وبدي اعرف اي طريقة الاسهل والاسرع ....وعفكرة جربت app inventor هو رائع ومسلي لكن امكانياتو حاسسها محدودة....وشكراً

    ردحذف
    الردود
    1. انا برمجة واحد بالتعاون مع صديق لي اكثر خبرة مني في الاندرويد باستخدام eclipse

      حذف
  14. السلام عليكم اخي رجاءا اين اضع الكود

    ردحذف
  15. شكرا للدرس الرائع
    في الكود انت حددت البورت ١٠ و ١١ للبلوتوث، لكن تلك البورتات مستخدمة لتشغيل المحركات، في رسم الاسلاك مش واضح بأي بورت توصل البلوتوث....هل توصله لل analog pins ؟ بس في الحالة دي لازم تغير الكود لتحديد بورت الanalog كسيريال بورت
    و شكرا

    ردحذف
    الردود
    1. لل L298 حددت رقمي 10 و 11 و لكن للموديول L293 استخدمت الأرجل A0,A1 و في البرنامج ترتيبهما 14و 15 على التوالي تأكد بنفسك من الكود

      حذف
  16. كيف اجعل الموتر يدور باستمرار مجرد الضغط على الزرار والفصل من زورار اخر يعنى لا يلزمنى بالضغط باستمرار على الزورار ضغطه واحده ايه التعديل فى البرنامج المطلوب . اشكر كثيرا واتمنى الرد سريعا

    ردحذف
    الردود
    1. هذا صعب بعض الشيء , او لنقول انه يريد تعديل في برنامج الأردوينو قد يكون غير مناسب او يعطي نتائج غير مرغوب فيها بالحركة .

      فقط احفظ حالة المتغير خارج جملة
      if (Genotronex.available()){

      حذف
  17. طيب ممكن تعمل موضوع يوضح التحكم بيها عن طريق ps3 joystick

    ردحذف
    الردود
    1. الآن الموضوع متوفر على المدونه

      حذف
  18. عايز مكتبة للبلوتوث HC-05

    ردحذف
    الردود
    1. لا حاجة للمكتبة بتاتاً لها , اوامرها سهلة جداً جداً و لا تتعدى 3 سطور فقط

      حذف
  19. السلام عليكم انا كنت محتاج اعرف راي حضرتك فى تصميم انا عامله ممكن ابعتلك الصوره ازاى

    ردحذف
  20. السلام عليكم حضرتك لوغيرت نوع البلوتوث ايه هيتغير معية ارجو الرد

    ردحذف
  21. fatal error: AFMotor.h: No such file or directoryلماذا يظهر هذا الخطا ارج والرد بسرعة
    compilation terminated.

    ردحذف
    الردود
    1. برنامج الاردوينو مفيش فيه مكتبة ال Motor Shield R3 ... لازم تحميلها وتضفيها لمكتبة البرنامج

      حذف
  22. لو سمحت يا بشمهندس ممكن شرح لخطوات البرنامج

    ردحذف
  23. سلام اخي اا لا املك دارة غطاء قيادة المحرك L293 و لا املك دارة القيادة L298 لكن املك قطعة البلوتوث HC-05 و بطاقة أردوينو Uno اريد ان اتحكم في محركين dc عن طريق البلوتوث و بطاقة اردوينو uno اشكر كثيرا واتمنى الرد سريعا

    ردحذف
    الردود
    1. لا يمكن ذلك بدون دارة قيادة للمحرك

      حذف
  24. بالنيسه للاكواد الموجوده
    هكتب البرنامجين في ملف واحد ولا كل برنامج في ملف خاص بيه

    ردحذف
  25. مشكور على جهودك الرائعه
    في حالة motor driver l298 dual bridge
    كيف يكون الربط مع الاردوينو وشكرا

    ردحذف
  26. السلام عليكم انا معايا meag nd l293 اايه البرمجه اللى المفروض اغيرها فالكود؟؟

    ردحذف
  27. أزال المؤلف هذا التعليق.

    ردحذف
  28. السلام عليكم ... انا عندي اردوينو ميجا 2560 شو اللي لازم يتغير بالكود لاني جربت الكود وما اشتغل عليها

    ردحذف
    الردود
    1. يجب تغير توصيل البلوتوث لتوصله مع المداخل 14و15 في الميجا و تغير كل الكودات التي تحتوي على SoftwareSerial إلى Serial1
      عليك مراجعه طريقة استخدام Serial communication في الأردوينو ميجا لتعرف أكثر عن آليه التغيير

      حذف
  29. السلام عليكم .. جزاك الله خير .. صديقي ممكن تساعدني بااللغه البرمجيه فلا املك اي فكره عنها ...اخذت اللغه او الكودات من الموقع هذا ووضعتهم في برنامج الاردوينو لكن يطلع عندي error شاهد هذا .. جاوبني الله يخليك ضروري

    sketch_oct19a.ino:103: error: conflicting declaration 'char BluetoothData'
    sketch_oct19a.ino:7: error: 'BluetoothData' has a previous declaration as 'int BluetoothData'
    sketch_oct19a.ino:105: error: 'AF_DCMotor' does not name a type
    sketch_oct19a.ino:106: error: 'AF_DCMotor' does not name a type
    sketch_oct19a.ino: In function 'void setup()':
    sketch_oct19a.ino:108: error: redefinition of 'void setup()'
    sketch_oct19a.ino:10: error: 'void setup()' previously defined here
    sketch_oct19a.ino:111: error: 'left_motor' was not declared in this scope
    sketch_oct19a.ino:112: error: 'right_motor' was not declared in this scope
    sketch_oct19a.ino: In function 'void loop()':
    sketch_oct19a.ino:115: error: redefinition of 'void loop()'
    sketch_oct19a.ino:62: error: 'void loop()' previously defined here
    sketch_oct19a.ino:122: error: 'left_motor' was not declared in this scope
    sketch_oct19a.ino:123: error: 'right_motor' was not declared in this scope
    sketch_oct19a.ino:142: error: 'RELEASE' was not declared in this scope

    ردحذف
  30. أزال المؤلف هذا التعليق.

    ردحذف
  31. اسلام عليكم ورحمة الله وبركاته ......تحيه طيبه وبعد انا عملت المشروع ده من خلال الموقع بتاعك والفكره عجبتنى وطبقتها بس انا بفكر ازود اى مكونات وامكانيات على المشروع ...ممكن بعد اذنك لو مافيها ازعاج او شى ...تقول لى ايه الى ممكن ازود على المشروع .زى افكار واى اراء وشكراا

    ردحذف
    الردود
    1. مرحبا لو سمحت اخ AMR ABED ممكن تكتبلي بالظبط رقم او موديل البلوتوث لاني لقيت كثير موديلات بالامازون واخاف اشتري واحد يطلع غير موديل او ما يكون في توافق بينو وبين البرنامج ولو بدي اثقل عليك نفس الشيء صار معي مشان موضوع الUNO كمان لقيت منو كثير موديلات مشكور سلفا للمساعدة

      حذف
  32. شكرًا علي جميع المعلومات القيما هاذي
    انا عملت سفينه بحريه تمشي بيرموت كنترول والآن عاوز امشيها عن طريق البلوتوث
    وعاوز اشتري قطعه بور كامله مجهزة بي البلوتوث وأربع مواتير من وين

    ردحذف
    الردود
    1. مدى البلوتوث اقل بالعاده
      لا اعتقد وجود شيء مماثل جاهز عليك بناءه بنفسك و برمجته حسب المتطلب الموجود لديك

      حذف
  33. اخى الفاضل شكرا للك بس لو حبيت اتجه يمين عن طريق تقليل سرعه احدى الجانبين وليس عكس واحد ما الانر المستخدم عندئذ

    ردحذف
  34. احتاج مكتبة بلوتوذ كيف يمكن ان احملها

    ردحذف
  35. احتاج مكتبة بلوتوذ كيف يمكن ان احملها

    ردحذف
  36. محتاج اوصل ال bluetooth moduel Hc05 مع ال joystick shield والكود

    ردحذف
  37. ماهو مدى البلوتوث ؟

    ردحذف
  38. مرحبا لو سمحت ممكن تكتبلي بالظبط رقم او موديل البلوتوث لاني لقيت كثير موديلات بالامازون واخاف اشتري واحد يطلع غير موديل او ما يكون في توافق بينو وبين البرنامج ولو بدي اثقل عليك نفس الشيء صار معي مشان موضوع الUNO الميجا كمان لقيت منو كثير موديلات مشكور سلفا للمساعدةوياريت تكتب اسم البرنامج اللي لازم ابرمج عليه الدرايفر والاونو وتحياتي للجميع ومشكورين

    ردحذف
  39. لى سمحت من فين اشترى ال بلوتوث

    ردحذف
  40. لى سمحت من فين اشترى ال بلوتوث

    ردحذف
  41. سلام عليكم اخي العزيز اني مبتداء بلعمل العملي واريد اسوي بحث تخرج ارجو ان اتواصل معك لنتزود بمعلوماتك القيمه

    ردحذف
  42. سلام عليكم اخي العزيز اني مبتداء بلعمل العملي واريد اسوي بحث تخرج ارجو ان اتواصل معك لنتزود بمعلوماتك القيمه

    ردحذف
  43. لو سمحت انا عندى البلوتوث بيفصل وهل البرنامج ال انت كاتبه دا متوافق مع الرسم بالظبط

    ردحذف
  44. حضرتك ازاى ف ال stematic موصل ال Vcc بتاعت البلوتوث بال GND وموصل GND بتاعت البلوتوث بال Vcc بتاع motor shield انا لما عملت زي ماحضرتك كاتب مفيش اي volt عدا ف شريحة البلوتوث اصلا
    ارجو الرد

    ردحذف
    الردود
    1. شكرا للتنبيه هناك خطأ بالتوصيل صحيح
      ال Vcc للبلوتوث مع ال 5V و ال GND مع ال GND هذا الاصح

      حذف
  45. Arduino: 1.5.6-r2 (Windows 8), Board: "Arduino Uno"

    sketch_oct30a:7: error: 'AF_DCMotor' does not name a type
    sketch_oct30a:8: error: 'AF_DCMotor' does not name a type
    sketch_oct30a.ino: In function 'void setup()':
    sketch_oct30a:13: error: 'left_motor' was not declared in this scope
    sketch_oct30a:14: error: 'right_motor' was not declared in this scope
    sketch_oct30a.ino: In function 'void loop()':
    sketch_oct30a:19: error: 'class SoftwareSerial' has no member named 'AVAILABLE'
    sketch_oct30a:24: error: 'left_motor' was not declared in this scope
    sketch_oct30a:24: error: 'FORWARD' was not declared in this scope
    sketch_oct30a:25: error: 'right_motor' was not declared in this scope
    sketch_oct30a:29: error: 'BACKWARD' was not declared in this scope
    sketch_oct30a:44: error: 'RELEASE' was not declared in this scope

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.
    لو سمحت يابشمهندس اتصرف في دول ازاي

    ردحذف
    الردود
    1. قم بتنصيب المكتبات الخاصة بالكود حتى يعمل معك بشكل صحيح

      حذف

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.