كيفية تشغيل محرك سيرفو | servo motor 9g | مع حساس التراسونيك | Ultrasonic Sensor HC-sr04 - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

كيفية تشغيل محرك سيرفو | servo motor 9g | مع حساس التراسونيك | Ultrasonic Sensor HC-sr04

مشاركة هذا

 



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

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

حساس الموجات فوق الصوتية الثابت لديه زاوية تشغيل 30 درجة فقط. لذلك يجب علينا استخدام تقنيات مختلفة لمسح مناطق أوسع. تتمثل إحدى طرق التغلب على هذه المنطقة المحدودة في استخدام أجهزة استشعار متعددة بالموجات فوق الصوتية في وقت واحد. ولكن في هذه الطريقة ، يلزم عدد أكبر من أجهزة الاستشعار لمسح مناطق أوسع ؛ على سبيل المثال ، ستكون هناك حاجة إلى 6 أعداد من أجهزة الاستشعار لمسح زاوية 180 درجة.



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



هنا يتم تركيب مستشعر بالموجات فوق الصوتية على عمود المؤازرة ويتم تثبيت محرك سيرفو بهيكل الروبوت. تتوفر دعامات التثبيت المؤازرة لأجهزة الاستشعار بالموجات فوق الصوتية HCSR-04 أو يمكن تجميع حامل مماثل بأنفسنا.


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



المكونات الاساسية :


-  Arduino UNO R3

- Servo motor 9g

- Sensor Ultrasonic HC-sr04

- Breadboard

- Jumper Wires


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


++ الكود البرمجي هنا :

#include <Servo.h>

Servo servo;

const int  trig = 2, echo = 3 ;
int pos = 0, distcm = 0;
void setup()
{
  Serial.begin(9600);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  servo.attach(9);
}

void loop()
{
  for (pos = 0; pos <= 180; pos += 1)
  {
    servo.write(pos);
    delay(50);
    Serial.println(radar());
  }
  for (pos = 180; pos >= 0; pos -= 1)
  {
    servo.write(pos);
     delay(50);
    Serial.println(radar());   
  }
}
long radar(void)
{
  digitalWrite(trig, HIGH);
  delayMicroseconds(15);
  digitalWrite(trig, LOW);
  long  dur = pulseIn(echo, HIGH);
  distcm = dur / 58;
  return distcm;
}

No comments:

Post a Comment