Raspberry Pi هو لوحة قائمة على معالج معماري ARM مصممة لمهندسي الإلكترونية والهواة. يعد PI أحد أكثر منصات تطوير المشاريع الموثوقة الموجودة حاليًا. مع سرعة معالج أعلى وذاكرة وصول عشوائي تبلغ 1 جيجابايت ، يمكن استخدام PI للعديد من المشاريع البارزة مثل معالجة الصور وإنترنت الأشياء.
للقيام بأي من المشاريع البارزة ، يحتاج المرء إلى فهم الوظائف الأساسية لـ PI. سنغطي جميع الوظائف الأساسية لـ Raspberry Pi في هذه الدروس. سنناقش في كل درس تعليمي إحدى وظائف PI. بحلول نهاية سلسلة دروس Raspberry Pi التعليمية ، ستكون قادرًا على القيام بمشاريع رفيعة المستوى بنفسك. اذهب من خلال الدروس أدناه:
- الابتداء مع Raspberry Pi
- تكوين Raspberry Pi
- وميض LED
- واجهة زر
- جيل PWM
- التحكم في محرك DC
- التحكم في محرك متدرج
- التفاعل سجل التحول
- دروس Raspberry Pi ADC
- التحكم في محرك سيرفو
- لوحة اللمس بالسعة
في هذا البرنامج التعليمي ، سوف نتحكم في شاشة LCD مقاس 16 × 2 باستخدام Raspberry Pi. سنقوم بتوصيل شاشة LCD بدبابيس GPIO (إخراج الإدخال للأغراض العامة) من PI لعرض الأحرف عليها. سنقوم بكتابة برنامج في PYTHON لإرسال الأوامر المناسبة إلى شاشة LCD من خلال GPIO وعرض الأحرف المطلوبة على شاشتها. ستكون هذه الشاشة مفيدة لعرض قيم المستشعر وحالة المقاطعة وأيضًا لعرض الوقت.
هناك أنواع مختلفة من شاشات LCD في السوق. شاشة LCD الرسومية أكثر تعقيدًا من شاشة LCD مقاس 16 × 2. لذلك نحن نذهب هنا لشاشة LCD مقاس 16 × 2 ، حتى يمكنك استخدام شاشة LCD مقاس 16 × 1 إذا كنت تريد ذلك. 16X2 LCD لديها 32 حرفا في المجموع، و 16 في 1 شارع خط و 16 أخرى في 2 الثانية خط. JHD162 عبارة عن شاشة LCD مقاس 16 × 2 من أحرف وحدة LCD. لقد قمنا بالفعل بتوصيل 16x2 LCD مع 8051 و AVR و Arduino وما إلى ذلك. يمكنك العثور على جميع مشاريعنا ذات الصلة بـ 16x2 LCD باتباع هذا الرابط.
سنناقش قليلاً حول PI GPIO قبل المضي قدمًا.
يوجد 40 دبوس إخراج GPIO في Raspberry Pi 2. ولكن من بين 40 ، يمكن برمجة 26 دبوسًا فقط من GPIO (GPIO2 إلى GPIO27). تؤدي بعض هذه المسامير بعض الوظائف الخاصة. مع وضع GPIO الخاص جانباً ، يتبقى لدينا 17 GPIO.
يوجد + 5V (Pin 2 أو 4) و + 3.3V (Pin 1 أو 17) دبابيس خرج طاقة على اللوحة ، هذه مخصصة لتوصيل الوحدات وأجهزة الاستشعار الأخرى. سنقوم بتشغيل شاشة LCD مقاس 16 * 2 من خلال سكة + 5 فولت. يمكننا إرسال إشارة تحكم تبلغ + 3.3 فولت إلى شاشات الكريستال السائل ولكن لتشغيل شاشات الكريستال السائل نحتاج إلى تشغيلها بمقدار + 5 فولت. لن تعمل شاشة LCD مع + 3.3 فولت.
لمعرفة المزيد عن دبابيس GPIO ومخرجاتها الحالية ، انتقل إلى: وميض LED مع Raspberry Pi
المكونات المطلوبة:
نحن هنا نستخدم Raspberry Pi 2 Model B مع نظام التشغيل Raspbian Jessie OS. تمت مناقشة جميع متطلبات الأجهزة والبرامج الأساسية مسبقًا ، يمكنك البحث عنها في مقدمة Raspberry Pi ، بخلاف ما نحتاج إليه:
- ربط دبابيس
- وحدة 16 * 2 LCD
- 1KΩ المقاوم (2 قطعة)
- 10 كيلو وعاء
- مكثف 1000 درجة فهرنهايت
- اللوح
شرح الدائرة والعمل:
كما هو موضح في الرسم التخطيطي للدائرة ، لدينا واجهة Raspberry Pi مع شاشة LCD من خلال توصيل 10 دبابيس GPIO من PI بدبابيس التحكم ونقل البيانات في شاشة LCD مقاس 16 * 2. لقد استخدمنا GPIO Pin 21 و 20 و 16 و 12 و 25 و 24 و 23 و 18 باعتبارها BYTE وأنشأنا وظيفة "PORT" لإرسال البيانات إلى LCD. هنا GPIO 21 هو LSB (بت الأقل أهمية) و GPIO18 هو MSB (بت الأكثر أهمية).
تحتوي وحدة LCD مقاس 16 × 2 على 16 دبوسًا ، والتي يمكن تقسيمها إلى خمس فئات ، ودبابيس الطاقة ، ودبوس التباين ، ودبابيس التحكم ، ودبابيس البيانات ، ودبابيس الإضاءة الخلفية. هنا وصف موجز عنهم:
الفئة |
رقم الدبوس |
اسم الدبوس |
وظيفة |
دبابيس الطاقة |
1 |
VSS |
الدبوس الأرضي ، متصل بالأرض |
2 |
VDD أو Vcc |
الجهد دبوس + 5V |
|
دبوس التباين |
3 |
V0 أو VEE |
إعداد التباين ، متصل بـ Vcc بمقاوم متغير. |
دبابيس التحكم |
4 |
RS |
تسجيل حدد دبوس ، RS = 0 وضع الأمر ، RS = 1 وضع البيانات |
5 |
RW |
قراءة / كتابة دبوس ، RW = 0 وضع الكتابة ، RW = 1 وضع القراءة |
|
6 |
ه |
تمكين ، تحتاج نبضة عالية إلى منخفضة لتمكين شاشة LCD |
|
دبابيس البيانات |
7-14 |
D0-D7 |
دبابيس البيانات ، تخزن البيانات المراد عرضها على شاشة LCD أو تعليمات الأوامر |
دبابيس الإضاءة الخلفية |
15 |
LED + أو A. |
لتشغيل الإضاءة الخلفية + 5 فولت |
16 |
LED- أو K. |
الخلفية الأرضية |
نوصي بشدة بالاطلاع على هذه المقالة فقط لفهم عمل شاشة LCD باستخدام أوامر Pins و Hex.
سنناقش بإيجاز عملية إرسال البيانات إلى LCD:
1. تم تعيين E عاليًا (تمكين الوحدة) وضبط RS منخفضًا (إخبار LCD أننا نعطي الأمر)
2. إعطاء قيمة 0x01 لمنفذ البيانات كأمر لمسح الشاشة.
3. تم تعيين E عاليًا (تمكين الوحدة) وضبط RS عاليًا (إخبار LCD أننا نعطي البيانات)
4. يجب عرض إثبات رمز ASCII للأحرف.
5. تم ضبط E على مستوى منخفض (لإعلام LCD بأننا انتهينا من إرسال البيانات)
6. بمجرد انخفاض دبوس E هذا ، تقوم شاشة LCD بمعالجة البيانات المستلمة وتظهر النتيجة المقابلة. لذلك تم ضبط هذا الدبوس على مرتفع قبل إرسال البيانات وسحبه لأسفل على الأرض بعد إرسال البيانات.
كما قيل ، سوف نرسل الشخصيات واحدة تلو الأخرى. و يتم إعطاء الأحرف إلى LCD من رموز ASCII (كود معيار الأمريكي لتبادل المعلومات). يتم عرض جدول رموز ASCII أدناه. على سبيل المثال ، لإظهار الحرف "@" ، نحتاج إلى إرسال رمز سداسي عشري "40". إذا أعطينا قيمة 0x73 لشاشة LCD ، فسوف تعرض "s". مثل هذا ، سنقوم بإرسال الرموز المناسبة إلى شاشة LCD لعرض السلسلة " CIRCUITDIGEST ".
شرح البرمجة:
بمجرد توصيل كل شيء وفقًا لمخطط الدائرة ، يمكننا تشغيل PI لكتابة البرنامج في PYHTON.
سنتحدث عن بعض الأوامر التي سنستخدمها في برنامج PYHTON ،
سنقوم باستيراد ملف GPIO من المكتبة ، وتمكننا الوظيفة أدناه من برمجة دبابيس GPIO في PI. نقوم أيضًا بإعادة تسمية "GPIO" إلى "IO" ، لذلك في البرنامج عندما نريد الإشارة إلى دبابيس GPIO ، سنستخدم كلمة "IO".
استيراد RPi.GPIO كـ IO
في بعض الأحيان ، عندما تقوم دبابيس GPIO ، التي نحاول استخدامها ، ببعض الوظائف الأخرى. في هذه الحالة ، سوف نتلقى تحذيرات أثناء تنفيذ البرنامج. يخبر الأمر أدناه PI بتجاهل التحذيرات ومتابعة البرنامج.
تحذيرات IO.set (خطأ)
يمكننا إحالة دبابيس GPIO الخاصة بـ PI ، إما عن طريق رقم التعريف الشخصي على اللوحة أو عن طريق رقم وظيفتها. مثل "PIN 29" على السبورة هو "GPIO5". لذلك نقول هنا إما أننا سنمثل الدبوس هنا بـ "29" أو "5".
IO.setmode (IO.BCM)
نحن نضع 10 دبابيس GPIO كدبابيس إخراج ، لدبابيس البيانات والتحكم في LCD.
IO.setup (6، IO.OUT) IO.setup (22، IO.OUT) IO.setup (21، IO.OUT) IO.setup (20، IO.OUT) IO.setup (16، IO.OUT) IO.setup (12 ، IO.OUT) IO.setup (25 ، IO.OUT) IO.setup (24 ، IO.OUT) IO.setup (23 ، IO.OUT) IO.setup (18 ، IO.OUT)
while 1: يتم استخدام الأمر كحلقة إلى الأبد ، باستخدام هذا الأمر ، سيتم تنفيذ التعليمات الموجودة داخل هذه الحلقة بشكل مستمر.
تم شرح جميع الوظائف والأوامر الأخرى في قسم "الكود" أدناه بمساعدة "التعليقات".
بعد كتابة البرنامج وتنفيذه ، يرسل Raspberry Pi الأحرف إلى شاشة LCD واحدة تلو الأخرى وتعرض شاشة LCD الأحرف على الشاشة.