كيفية إنشاء واجهة مستشعر MPU6050 GYRO مع لوحة أردوينو Arduino UNO - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

كيفية إنشاء واجهة مستشعر MPU6050 GYRO مع لوحة أردوينو Arduino UNO

مشاركة هذا

 



في هذا البرنامج التعليمي ، سأوضح لك كيفية تكوين قيم أولية بسيطة أو الحصول عليها من مقياس التسارع ثلاثي المحاور (MPU6050) باستخدام اردوينو. في هذا المنشور ، سأقدم لك برنامجًا تعليميًا قصيرًا حول توصيل اردوينو بأفضل مستشعرات IMU. تستخدم مستشعرات IMU مثل MPU6050 في الروبوتات ذاتية الموازنة والطائرات بدون طيار والهواتف الذكية والمزيد. تساعدنا مستشعرات IMU في الحصول على موضع كائن متصل بالمستشعر في مساحة ثلاثية الأبعاد. عادة ما تكون هذه القيم في زوايا لمساعدتنا في تحديد موقعها. يتم استخدامها لاكتشاف اتجاه الهواتف الذكية ، أو في الأجهزة القابلة للارتداء مثل Fitbit ، التي تستخدم مستشعرات IMU لتتبع الحركة. تحتوي مستشعرات IMU على مجموعة واسعة من التطبيقات. بعض المستشعرات الشائعة المستخدمة في اردوينو هي مقياس التسارع ADXL 345 جيروسكوب ITG 3200 لوحة مستشعر Sparkfun 6 DOF IMU MPU6050 لقد تمكنت من العمل باستخدام مستشعر واحد فقط ومن بين ما سبق ، وجدت أن Invensense MPU 6050 هو مستشعر IMU الأكثر موثوقية ودقة. بصرف النظر عن كونها أرخص بكثير من المستشعرات الأخرى ، فإن MPU 6050 تعمل أيضًا بشكل أفضل. واجهات اردوينو MPU 6050 تتواصل MPU 6050 مع Arduino من خلال بروتوكول I2C. يتم توصيل MPU 6050 بـ Arduino كما هو موضح في الرسم التخطيطي التالي. ملاحظة: تحتاج بعض أنواع اردوينو (التي تصنعها الشركات المحلية) إلى توصيل دبوس ADO بـ GND الخاص بـ arduino






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

- Arduino UNO R3



- MPU6050 Sensor GYRO



- Mini Breadborad



- Jumper Wires


---------------------------------------------------------------------------------

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


- تحميل الكود أردوينو :


// Project : Interface Arduino and the MPU6050 Sensor
// By : DIY Channel
// My Youtube Channel : https://www.youtube.com/c/DIYChannel2019

#include<Wire.h>
const int MPU_addr=0x68;  
int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; 
void setup(){
  Wire.begin(); 
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B); 
  Wire.write(0);    
  Wire.endTransmission(true); 
  Serial.begin(9600); 
}
void loop(){ 
  Wire.beginTransmission(MPU_addr); 
  Wire.write(0x3B);  
  Wire.endTransmission(false); 
  Wire.requestFrom(MPU_addr,14,true);  
  
  AcX=Wire.read()<<8|Wire.read();      
  AcY=Wire.read()<<8|Wire.read();  
  AcZ=Wire.read()<<8|Wire.read();  
  Tmp=Wire.read()<<8|Wire.read();  
  GyX=Wire.read()<<8|Wire.read();  
  GyY=Wire.read()<<8|Wire.read();  
  GyZ=Wire.read()<<8|Wire.read();  

  Serial.print("AcX = "); Serial.print(AcX);  
  Serial.print(" | AcY = "); Serial.print(AcY);
  Serial.print(" | AcZ = "); Serial.print(AcZ);
  Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53); 
  Serial.print(" | GyX = "); Serial.print(GyX); 
  Serial.print(" | GyY = "); Serial.print(GyY);
  Serial.print(" | GyZ = "); Serial.println(GyZ);
  delay(333); 
}

-------------------------------------------------------------------------
mpu6050,mpu-6050,mpu6050 tutorial,mpu6050 arduino,interface dc motor with gyro mpu6050,mpu6050 sensor,mpu6050 arduino tutorial,mpu6050 calibration,lcd interface,accelerometer mpu6050,mpu6050 working,arduino mpu6050,#mpu6050,mpu6050 drone,robot mpu6050,mpu6050 board,tangible user interface,mpu6050 raspberry pi,mpu6050 arduino nano,mpu6050 library,mpu6050 projects,mpu6050 breakout,arduino uno and mpu6050,mpu6050 sensor working,serial peripheral interface,esp32 web server mpu6050


No comments:

Post a Comment