عناوين الدرس

توصيل شاشة LCD 16×2 للراسبيري باي

مبتدئ

فى هذا الدرس سنتعلم كيفية توصيل شاشة LCD عدد أحرفها هو 16 حرف طولى وعدد أسطرها هو سطرين، حيث سيمكننا ذلك من عرض ما نريد وقراءته قيمة أى حساسات مباشرة على شاشة صغيرة بدون الإضطرار لتوصيل شاشة كبيرة للراسبيري باي أو إستخدام جهاز حاسب آخر لعرض ما نريد.

raspberry_pi_LCD_16x2

المواد والأدوات

راسبري باي

Raspberry Pi

شاشة عرض LCD 16×2

Raspberry-pi-lcd-16x2-1

أسلاك توصيل Female / Female jumper

raspberry-pi-lcd-16x2-2

أسلاك توصيل Female / Male jumper

raspberry-pi-lcd-16x2-3

مقاومة متغيرة 10 كيلو أوم

raspberry-pi-lcd-16x2-3

لوحة تجارب

 Raspberry-pi-lcd-16x2-15

توصيل الدائرة

نقوم بلحام الـ Pin Header المرفق مع الشاشة كالتالى.

raspberry-pi-lcd-16x2-5

 

raspberry-pi-lcd-16x2-6

 

raspberry-pi-lcd-16x2-7

 

raspberry-pi-lcd-16x2-8

 

نقوم بتوصيل الدائرة كما فى الصورة التالية ومن الممكن أن نقوم بتوصيلها بإستخدام لوحة التجارب الـ  breadboard

توصيل الدائرة
Raspberry-pi-lcd-16x2-10

الكود البرمجي

في البداية نقوم بفتح الـ Terminal الخاص ب الراسبري باي وكتابة الأوامر التالية أو نقوم بفتح نافذة الـ SSH الخاصة بها من جهاز آخر مربوط معها على نفس الشبكة كما تم شرحه في الدرس الخامس.

في البداية يجب ان نقوم بتحميل ملفات مكتبة التحكم فى الشاشة والمعدة مسبقاً من Adafruit من خلال الأمر التالي.

git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git

نقوم بعمل تنصيب للمكتبة من خلال الأوامر التالية.

cd ./Adafruit_Python_CharLCD
sudo python setup.py install

سنقوم الآن بكتابة كود بسيط لتوضيح كيفية إستخدام المكتبة والتحكم فى الشاشة، عن طريق سطر أوامر لينكس Terminal نقوم بكتابة الأمر التالي لفتح ملف جديد وكتابة كود بلغة الـ Python به.

sudo nano ~/Adafruit_Python_CharLCD/Adafruit_CharLCD/GeeksValley_LCD.py

ثم نقوم بكتابة الأسطر البرمجية التالية لطباعة نص يتم ادخاله من قبلنا و بعدها يتم طباعة عبارة (Goodbye World) لمدة 5 ثواني

#!/usr/bin/python
# Example using a character LCD connected to a Raspberry Pi 
import time
import Adafruit_CharLCD as LCD

# Raspberry Pi pin setup
lcd_rs = 27
lcd_en = 22
lcd_d4 = 25
lcd_d5 = 24
lcd_d6 = 23
lcd_d7 = 18

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows = 2

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)

lcd.message('Hello\nworld!')
# Wait 5 seconds

time.sleep(5.0)
lcd.clear()
text = raw_input("Type Something to be displayed: ")
lcd.message(text)

# Wait 5 seconds
time.sleep(5.0)
lcd.clear()
lcd.message('Goodbye\nWorld!')

time.sleep(5.0)
lcd.clear()

البرنامج السابق هو برنامج بسيط جداً حيث تم تعريف الأرجل التى تم توصيل الـ LCD بها ويمكنك تغير هذه الأرجل كما تشاء، ثم تم تعريف عدد الأسطر والصفوف فى الشاشة، ثم بعد ذلك تم تمرير هذه المتغيرات للمكتبة عن طريق الأمر  LCD.Adafruit_CharLCD.

sudo python ~/Adafruit_Python_CharLCD/Adafruit_CharLCD/GeeksValley_LCD.py

يقوم البرنامج السابق بمجرد تشغيله بعرض كلمة Hello World لمدة 5 ثوانى .

Raspberry-pi-lcd-16x2-11
  • بعد ذلك يقوم بعرض رسالة من خلال سطر الأوامر ويطلب منك أن تقوم بكتابة جملة ما لتعرض على الشاشة مثل Geeks Valley وبمجرد الضغط على Enter سنلاحظ أن تم طباعة جملة Geeks Valley على الشاشة لمدة 5 ثوانى.
شاشة اطبع النص

 

Raspberry-pi-lcd-16x2-13

بعد ذلك يقوم البرنامج بطباعة جملة Goodbye World على الشاشة لمدة خمس ثوانى أخرى.

Raspberry-pi-lcd-16x2-14

ثم بعد ذلك يقوم البرنامج بمسح الشاشة وتركها خالية.

هناك الكتير من الأوامر الخاصة بهذه المكتبة وهذه المجموعة من أهمها.

home()– يقوم هذا الأمر بتحريك نقطة الكتابة لأول الشاشة
clear()– يقوم بمسح كل ما هو مكتوب على الشاشة
set_cursor(col, row)– يقوم هذا الأمر بتحديد نقطة الكتابة على الشاشة وذلك بتحديد رقم العمود col وكذلك رقم السطر row
show_cursor(show)– يقوم بعرض نقطة الكتابة على الشاشة
blink(blink)– يقوم بومض نقطة الكتابة على الشاشة
move_left()or move_right() – يقوم بتحريك نقطة الكتابة على الشاشة يميناً ويساراً
set_right_to_left()or set_left_to_right() – يقوم بتغيير إتجاه الكتابة من اليمين لليسار ومن اليسار لليمين
message(text)– ببساطة نقوم بكتابة النص المراد عرضه على الشاشة

X
Product added to the cart