مقاله

مثلث گوشه چپ

Mpu6050 آردوینو ssd1306 هوش مصنوعی

راه‌اندازی و استفاده از سنسور شتاب‌سنج MPU6050 با Arduino و نمایش اطلاعات در OLED SSD1306 با کمک هوش مصنوعی شاتوت

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

const int MPU_ADDR = 0x68; // آدرس MPU6050

int16_t accelerometer_x, accelerometer_y, accelerometer_z;
float pitch, roll;

void setup() {
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // آدرس OLED
  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("shahtut.com");
  display.display();
  
  delay(2000);
}

void loop() {
  Wire.beginTransmission(MPU_ADDR);
  Wire.write(0x3B); // آدرس شروع خواندن داده‌ها از سنسور
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_ADDR, 14, true); // خواندن 14 بایت داده از سنسور
  
  accelerometer_x = Wire.read() << 8 | Wire.read();
  accelerometer_y = Wire.read() << 8 | Wire.read();
  accelerometer_z = Wire.read() << 8 | Wire.read();
  
  pitch = atan2(accelerometer_y, sqrt(accelerometer_x * accelerometer_x + accelerometer_z * accelerometer_z)) * 180 / PI;
  roll = atan2(accelerometer_x, sqrt(accelerometer_y * accelerometer_y + accelerometer_z * accelerometer_z)) * 180 / PI;
  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.print("Pitch: ");
  display.println(pitch);
  display.print("Roll: ");
  display.println(roll);
  display.display();
  
  delay(500);
}

لینک پروژه شبیه سازی شده بر روی wokwi


سنسورهای شتاب‌سنج در بسیاری از کاربردهای الکترونیکی و رباتیک استفاده می‌شوند. یکی از سنسورهای محبوب در این دسته، MPU6050 است که امکان اندازه‌گیری شتاب خطی و زاویه چرخش را فراهم می‌کند. در این مقاله، راه‌اندازی سنسور MPU6050 با استفاده از Arduino و نمایش داده‌های آن بر روی OLED SSD1306 را بررسی خواهیم کرد. جالب اینکه که کل این کد رو با استفاده از هوش مصنوعی شاتوت نوشتیم و در صورتی که بخشی از کد رو متوجه نشیم می تونیم با کمک هوش مصنوعی مشکلاتمون رو برطرف کنیم .

مراحل راه‌اندازی:

  1. اتصال سنسور: ابتدا، سنسور MPU6050 را به Arduino متصل کنید. از طریق کتابخانه Wire.h و با استفاده از پروتکل I2C، ارتباط بین آردوینو و سنسور برقرار می‌شود.
  2. نصب کتابخانه‌ها: برای استفاده از سنسور و نمایش داده‌ها بر روی OLED، کتابخانه‌های Wire.h، Adafruit_GFX و Adafruit_SSD1306 را در آردوینو نصب کنید.
  3. خواندن داده‌ها: با استفاده از کد مناسب، داده‌های شتاب‌سنج را از سنسور MPU6050 خوانده و مقادیر pitch و roll را محاسبه کنید.
  4. نمایش داده‌ها: با استفاده از کد مناسب، مقادیر pitch و roll را بر روی OLED SSD1306 نمایش دهید. همچنین، می‌توانید اطلاعات تکمیلی مانند عنوان و لوگوی وبسایت خود را نیز در این نمایشگر نمایش دهید.

نتیجه‌گیری:
در این مقاله، راه‌اندازی سنسور شتاب‌سنج MPU6050 با استفاده از Arduino و نمایش داده‌های آن بر روی OLED SSD1306 را بررسی کردیم. با اجرای کد مناسب، می‌توانید داده‌های شتاب‌سنج را دریافت و مقادیر pitch و roll را محاسبه کنید. همچنین، با نمایش این اطلاعات بر روی نمایشگر OLED، می‌توانید اطلاعات تکمیلی مانند لوگو و عنوان وبسایت خود را نیز نمایش دهید. این راه‌حل مناسبی برای کاربردهای مختلفی از جمله رباتیک، پروژه‌های الکترونیکی و اینترنت اشیا است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جست و جو