كيفية تعيين عناوين I²C واستخدام ماسح I²C لشاشات LCD1602 وLCD2004
في هذا الدليل، سنستعرض كيفية تعيين عناوين I²C واستخدام ماسح I²C لشاشات LCD1602 وLCD2004. فهم اتصال I²C أمر حاسم لدمج وحدات العرض هذه مع مشاريع Arduino الخاصة بك، ما يتيح نقل البيانات والتحكم بكفاءة. بنهاية هذا الدليل، ستتمكن من تحديد عناوين I²C لشاشات LCD الخاصة بك بفعالية والتأكد من أنها تعمل بشكل صحيح.


سنستخدم مستشعر BMP-180 كجزء من هذا المشروع، الذي يعمل باستخدام اتصال I²C. يوفر المستشعر قراءات لدرجة الحرارة والضغط، ويمكن عرضها على شاشة LCD1602 أو LCD2004. سيتضمن هذا الدرس التعليمي تعليمات التوصيل، مقتطفات من الشيفرة، وعرضًا للنتائج المتوقعة. لمزيد من الفهم البصري، تأكد من مشاهدة الفيديو المرفق (في الفيديو عند 00:00).
شرح الأجهزة
المكونات الرئيسية لهذا المشروع تتضمن مستشعر BMP-180 للضغط، وشاشة LCD1602 أو LCD2004، ولوحة أردوينو. مستشعر BMP-180 هو مستشعر ضغط رقمي يتواصل عبر بروتوكول I²C، ويتطلب فقط سطرين للبيانات: SDA (خط البيانات) وSCL (خط الساعة). شاشات LCD متوافقة أيضًا مع I²C ويمكن التحكم بها بسهولة باستخدام نفس بروتوكول الاتصال، مما يتيح إعدادًا مرتبًا وفعّالًا.
يعمل حساس BMP-180 بجهد تغذية بين 1.8V و3.6V، مما يعني أنه يمكن تشغيله عبر منظم جهد إذا كنت تستخدم مصدر جهد أعلى. من ناحية أخرى، تعمل شاشات LCD عادةً بجهد 5V، مما يجعل من السهل توصيلها بلوحة أردوينو دون أي مكونات إضافية.
تفاصيل ورقة البيانات
| المصنّع | بوش |
|---|---|
| رقم القطعة | BMP-180 |
| جهد المنطق/الإدخال والإخراج | 1.8 - 3.6 فولت |
| جهد التغذية | 1.8 - 3.6 فولت |
| تيار الإخراج (لكل قناة) | 3.6 ميكروأمبير |
| التيار الأقصى (لكل قناة) | 1 ملي أمبير |
| إرشادات تردد PWM | غير قابل للتطبيق |
| عتبات منطقية للإدخال | غير قابل للتطبيق |
| هبوط الجهد / Rالمصرف-المصدر (عند التشغيل)/ التشبع | غير متاح |
| الحدود الحرارية | -40 إلى +85 °C |
| حزمة | 3.6 × 3.8 مم |
| ملاحظات / متغيرات | مستشعر درجة الحرارة والضغط |
- تأكد من توفير جهد مناسب: 1.8 فولت إلى 3.6 فولت لـ BMP-180.
- استخدم مقاومات سحب للأعلى على خطوط SDA وSCL لتحقيق اتصال I²C مستقر.
- اجعل الأسلاك قصيرة لتجنب تدهور الإشارة.
- تحقّق من صحة عنوان I²C أثناء المسح.
- نطاق درجة حرارة المراقبة: -40 إلى +85 °C لجهاز BMP-180.
تعليمات الأسلاك

لتوصيل حساس BMP-180 وشاشة LCD بلوحة أردوينو الخاصة بك، اتبع الخطوات التالية:

أولاً، قم بتوصيل وحدة BMP-180Vnقم بتوصيل الدبوس بمخرج 5V على الأردوينو. بعد ذلك، قم بتوصيلGNDدبوس الـBMP-180 إلى أرضي الأردوينو. الـSDAيجب ربط دبوس BMP-180 بدبوس الأردوينوA4دبوس، بينما الـSCLالدبوس يتصل بـA5.
بالنسبة لشاشة LCD1602 أو LCD2004، قم بتوصيل الـVCCوصل الدبوس إلى 5 فولت على الأردوينو وGNDوصل الدبوس إلى الأرض أيضًا. الـSDAيجب أن يتصل دبوس شاشة الـ LCD أيضًا بـA4(مشترك مع BMP-180)، والـSCLيجب توصيل الدبوس بـA5.
تسمح هذه التهيئة لكلا الجهازين بالتواصل عبر نفس ناقل I²C، مما يضمن إعدادًا نظيفًا وفعالًا.
أمثلة على الشيفرة وشرح خطوة بخطوة
لمسح عناوين I²C، سنستخدم مقطع كود بسيط. المقتطف التالي يهيئ اتصال I²C ويجهز المراقب التسلسلي:
#include
void setup() {
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
يقوم هذا الكود بتهيئة مكتبة Wire للتواصل عبر I²C ويضبط المراقب التسلسلي للإخراج. وهو ضروري لتصحيح الأخطاء والتأكد من تعرف أجهزة I²C.
تقوم دالة loop بفحص الأجهزة على ناقل I²C وتطبع عناوينها:
void loop() {
byte error, address;
int nDevices = 0;
Serial.println("Scanning...");
for(address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
Serial.println(address, HEX);
nDevices++;
}
}
if (nDevices == 0) Serial.println("No I2C devices found\n");
delay(5000); // wait 5 seconds for next scan
}
تتحقق هذه الحلقة من كل عنوان من 1 إلى 127، محاوِلةً التواصل مع أي أجهزة متصلة. إذا استجاب جهاز ما للتواصل، يُطبع عنوانه على نافذة المراقبة التسلسلية. هذه خطوة حاسمة لتحديد عنوان I²C لشاشة LCD الخاصة بك أو للأجهزة الأخرى المتصلة.
عرض توضيحي / ما الذي تتوقعه
عند تشغيل ماسح I²C، يجب أن ترى رسائل في المراقب التسلسلي تشير إلى ما إذا تم العثور على أي أجهزة I²C. إذا نجح الفحص، سيعرض الناتج عناوين الأجهزة المتصلة مُنسقة بصيغة سداسية عشرية (على سبيل المثال: تم العثور على جهاز I²C عند العنوان 0x27). إذا لم يتم العثور على أي أجهزة، فستظهر رسالة تفيد بذلك.
من المهم التأكد من أن جميع الوصلات مثبتة بإحكام وأن مستويات الجهد الصحيحة مُزوَّدة لتجنب مشكلات في اكتشاف الأجهزة (في الفيديو عند 05:30).
الأشياء التي قد تحتاجها
-
أمازوناشترِ LCD1602-I2C من أمازونamzn.to
-
علي إكسبريساشترِ LCD1602-I2C من علي إكسبريسs.click.aliexpress.com
-
علي إكسبريسشراء 10 قطع من LCD1602-I2C من علي إكسبريسs.click.aliexpress.com
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
مكتبات أردوينو (ملف مضغوط)
-
مكتبة LCD1602 لـ Arduino من Robojax
robojax-LCD1602-I2C-library-master.zip0.01 MB
Fritzing File
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB