ارتباط I2C در آردوینو Arduino یکی از مهم ترین درگاه های ارتباطی به شمار میرود که مدل پیشرفته ارتباط سریال است، در این نوع ارتباط تنها به دو سیم نیاز داریم و میتوان تعداد زیادی ماژول و قطعاتی که دارای ارتباط I2C هستند را تنها با دو سیم به آردوینو Arduino وصل کرد که تنها دو پایه از آردوینو Arduino اشغال میشوند. همان طور که اشاره شد در ارتباط I2C تمامی اطلاعات به وسیله دو سیم به نام های SDA و SCL مبادله میشود و سرعت تبادل هم زیاد است. اگر ماژولهای جدید و پیشرفته را نگاه کنید اکثرا دارای این دو پایه هستند که نشان میدهد از پروتکل I2C استفاده میکنند، ماژولهای پیشرفته مانند شتاب سنج ، فشار سنج ، فرستنده و گیرنده های رادیو ، نمایشگرها، ماژولهای ارسال دیتا و بسیاری دیگر از ماژولها از این پروتکل بهره میبرند.
در این پست قصد داریم ماژول mpu6050 را در دو محور roll و pitch با دقت ۰٫۱ ، راه اندازی کنیم و مقادیر ماژول را بر روی LCD 16 * 2 که با پروتکل I2C به آردوینو Arduino متصل است به نمایش در آوریم. LCD کاراکتری ۱۶*۲ یکی از پایهای ترین نمایشگرهای الکترونیکی میباشد که در بسیاری از مدارها کاربرد دارد. یکی از دلایل پر مصرف بودن این ال سی دی ها در مقابل نمایشگرهایی همچون سون سگمنت، عدم محدودیت در نمایش کاراکترها و حتی ساختن کارکترهای دلخواه میباشد.
ماژول راه انداز LCD با تراشه PCF8574 و رابط I2C مناسب برای مدیریت ال سی دی های کاراکتری و باعث کاهش حجم سیم کشی میشود. این ماژول مناسب جهت استفاده در انواع بردهای میکرو، آردوینو Arduino، رزبری پای Raspberry Pi، اورنج پای Orange Pi و دیگری بردهای امبدد است.
Arduino nano یک برد کوچک، کامل و نمونه مساعدی بر اساس ATmega328 (Arduino nano 3.x) و یا ATmega168 (Arduino nano 2.x) میباشد. این برد قابلیتهای کم یا زیادی مشابه با Arduino Dueminalove میباشد، اما دارای بسته بندیهای متفاوت است. این آردوینو Arduino فاقد جک تغذیه DC بوده و از یک کابل USB (Mini-B) به جای کابل استاندارد استفاده میکند. آردوینو Nano توسط Gravitech طراحی و ساخته شده است.
لوازم مورد نیاز :
- آردوینو نانو – یک عدد — خرید از فروشگاه
- LCD 2 * 16 – یک عدد — خرید از فروشگاه
- راه اندازی LCD – یک عدد — خرید از فروشگاه
- mpu6050 – یک عدد — خرید از فروشگاه
اتصالات :
- SCL و SDA راه اندازی LCD به ترتیب به پایه های A5 و A4 از آردوینو Arduino
- SCL و SDA از ماژول mpu6050 به ترتیب به پایه های A5 و A4 از آردوینو Arduino
کد :
#include Wire.h #include MPU6050.h #include LiquidCrystal_I2C.h LiquidCrystal_I2C lcd(0x28, 16, 2); MPU6050 mpu; int16_t ax,ay,az; int16_t gx,gy,gz; void setup() { Wire.begin(); mpu.initialize(); lcd.begin(); lcd.print("**mpu....**"); delay(2000); lcd.clear(); } void loop() { mpu.getMotion6(ax, ay, az, gx, gy, gz); lcd.print("Pitch : "); lcd.print(ax); }
آیا به طور همزمان از پینهای یکسانی برای هر دو ماژول استفاده شده است؟
با سلام
ضمن تشکر از توجه شما، از آنجایی که بنده این آموزش را ننوشتهام، ولی همانطور که در آموزش نوشته شده است، همینطور است که شما فرمودهاید.
با سلام
من این کد رو وقتی وارد ای دی ام میکنم ارور میده
و اینکه نیاز به کالبیره نیست؟
با سلام
ضمن تشکر از توجه شما، لطفا ارور دریافتی را ارسال کنید.