استخدام البوصلة GY 26 في الروبوت

نبذة:

مرحبا مرة اخرى....! في هذي الورشة ساقوم باضافة البوصلة GY26 الى الروبوت. البوصلة ستساعدني في معرفة اتجاه الروبوت و ذلك لوجود بوصلة بالفعل في رقاقة الGY26.

توصيل البوصلة GY 26

  • التوصيل كما في الصورة.

البوصلة – اردوينو>>

  1. دبوس Vcc – مع 5V في الاردوينو
  2. دبوس GND – مع GND في الاردوينو
  3. دبوس TX – مع دبوس 18 في الاردوينو (الارسال)
  4. دبوس RX – مع دبوس 19 في الاردوينو (الاستقبال)

 

كتابة البرنامج

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

تستطيعون تحميل الكود من الرابط:

char valuebyte[8];
int degreess = 0;
int counter = 0;
byte value = 0;

void setup() {

  Serial.begin(9600);
  Serial1.begin(9600);

}

void loop() {

  reading();

}

void reading() {

  value = 0;

  Serial1.write(0x31);
  while (value == 0) {
    if (Serial1.available()) {
      valuebyte[counter] = Serial1.read();
      counter = (counter + 1) % 8;
      if (counter == 0) {
        degreess = (valuebyte[2] - 48) * 100 + (valuebyte[3] - 48) * 10 + (valuebyte[4] - 48);
        value = 1;
      }
    }
  }
  Serial.println(degreess);
  delay(300);
}

هنا

الكاتب: Zeenat Al-Kassim
محبوب
كاتب

المشاركات (5)

أضف مشاركة