مقدمـــــــــة عن المشروع
جهاز استشعار المسافة هو أهم جهاز استشعار لأي روبوت . يشار إليها عادة باسم “عيون” الروبوت. أجهزة الاستشعار عن بعد مفيدة للغاية حيث يمكننا صنع أنظمة تتفاعل بناءً على مدى قربنا منها أو بناءً على وجود العديد من العقبات حولها .
هناك نوعان من التقنيات الشائعة المستخدمة في الاستشعار عن بُعد للهواة : أجهزة استشعار الأشعة تحت الحمراء ، مثل Sharp IR الكلاسيكية ، وأجهزة الاستشعار بالموجات فوق الصوتية ، والتي تسمى عادة السونار . الآن ، دعونا نبني مصباح LED يتم التحكم فيه عن بعد !
في المشروع الان يتم تطبيق التحكم في عرض النبضة من خلال القيم القادمة من الحساس وعكسها علي الليد من خلال التغيير في شدة الاضاءة .
متطلبات المشروع
- An Arduino board connected to a computer via USB
- One LED
- A Sharp infrared proximity sensor or other analog distance sensors.
طريقة العمل والتوصيل
إن توصيل IR Sharp أمر سهل. ربما هذا هو السبب في أنها تحظى بشعبية كبيرة. اتبع هذه الخطوات البسيطة التالية للتوصيل :
كل شارب IR لديه ثلاثة دبابيس .
واحد هو مدخلات الطاقة ، والتي نتصل بها إلى 5V .
آخر هو السالب التي سنتصل بها إلى دبوس GND .
أخيرًا ، هناك دبوس الإخراج التماثلي الذي يجب توصيله بمدخل تماثلي . هنا ، استخدمنا دبوس A0 .
سنقوم بعمل اتصال غير قانوني صغير هنا . سنقوم بتوصيل الصمام مباشرة إلى اردوينو دون أي مقاومة ولكن لا ينصح بذلك عندما تقم أنت ايه المبرمج بهذه التجربة . وقمنا بذلك لأنه بالنسبة لمصابيح LED ذات الطاقة المنخفضة ، لا توجد مشكلة ، ولن تتأثر Arduino أو LED . قم بتوصيل الطرف السالب بـ GND والطرف الآخر بأحد المنافذ الرقمية للاردوينو . هنا استخدمنا pin 11 لوظيفة PWM الخاصة به .
إذا لم نكن نعرف مدى قوة مصباح LED الخاص بنا ، فعلينا فقط تركيب مقاوم 220 أوم بالتوالي مع LED .
الكــــــــــود البرمجي
لتحميل الكود البرمجي اضغط هنا
// Declare the used sensor pin <br>int sensorPin = A0; int LED = 11; // Declare the connected LED void setup(){ // Start the Serial connection Serial.begin(9600); } void loop(){ // Read the analog value of the sensor int val = analogRead(A0); // Print the value over Serial Serial.println(val); // Write the value to the LED using PWM analogWrite(LED, val/4); // Wait a little for the data to print delay(100); }