بسم الله الرحمن الرحيم
بعد ان ناقشنا فى الدرس السابق احد ملحقات الأردوينو الأساسية وهى led و rgb و speaker
لكن اليوم سوف نبدأ ببعض الأوامر المتقدمه وهى ملحقات الخاصه بعرض البيانات وسنختار من بينها lcd
وهى تعتبر شاشة يمكن التعامل معها بواسطه الأردوينو والتى سنستطيع اليوم طباعه عليها بيانات عديد
فى البداية ان كنت لا تعرف ما هى الأردوينو فيجب مراجعه السبع دروس التى قمنا بكتابتها من قبل للإطلاع عليها اضغط هنا
lcd هى احد اهم ملحقات الأردوينو التى يمكننه عرض عليه بيانات مختلفه
ولكن هذا النوع من الشاشات لا يمكنه عرض صور معقده ولكن يمكن عرض بعض الكلمات او الرموز فقط
تحتوى lcd على 16 منفذ سنستخدم فقط 12 منفذ
ولم نتسخد اول 3 منافذ البيانات الخاصه بها
يتم توصيل rw الى السالب وهو الذي يتيح لنا الكتابة على الشاشه
وتوصيل vo الى مقاومة متغيره قيمتها 4.7 كيلو اوم و هذا المنفذ هو القادر على التحكم فى درجة وضوح الكلام على الشاشة
ويتم توصيل vcc الى 5 فولت
وتوصيل gnd الى السالب
ويعد اخر منفذان هم المسئولان عن شدة اضاءة lcd حيث يتم توصيل A الى الموجب عبر مقاومة 330 اوم لعدم حرق الشاشة
ثم توصيل C الى السالب
ويتم توصيل منافذ الداتا من
RS و EN و DB4 و DB5 و DB6 و DB7
الى المنافذ الرقمية الخاصه بالأردوينو
توجد نوع من الشاشات تعتمد على بروتوكل I2C والتى تمكنك من التحكم فى الشاشة عن طريق منفذان فقط يتم توصيلهما الى A4 و A5
وهناك ADAPTER خاص بالشاشات يؤدى هذا الغلط حيث يتم توصيله الي منافذ الشاشة بطريقة مباشرة
وتحصل منه على 4 منافذ
منفذ + الذى يذهب الى 5 فولت
منفذ - الذي يذهب للسالب
منفذ SCK الذي يذهب الى A4
منفذ SDA الذي يذهب الى A5
التجربة :
سنقوم بتمثيل مثل هذه التجربة الموضحه فى الفيديو الذي فى الأسفل
اولا الأدوات المطلوبة :
LCD
ARDUINO UNO
VERIABLE RESISTOR 4.7 KILO OHM
RESISTOR 330 OHM
ثانيا التوصيلات الأساسية :
التوصيلات كما هى موضحه فى الأعلى والتى قمنا بشرحها من قبل
نذهب الأن الى الكود
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,9,8,7);
void setup()
{
lcd.begin(16,2);
lcd.setCursor(4,0);
lcd.print("SMART ARABIC");
lcd.setCursor(6,1);
lcd.print("PROJECTS");
delay(6000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("made by : ");
lcd.setCursor(0,1);
lcd.print("BILAL HASSAN");
}
void loop(){}
فى البداية للتعامل مع الشاشات يجب استخدام مكتبة معينة
والغرض من المكتبة هو تسهيل العمل على الشاشة حيث ان كتابة الكود بدون المكتبة بكون صعب على المبتدئين
فيجب ان نضيف المكتبة التى تسمى LiquidCrystal.h
واستخدام الأمر
#include<>
الذى الغرض منه اضافة المكتبة فيكون اضافة المكتبة الخاصه بالشاشة عن طريق
#include <LiquidCrystal.h>
ثم ننتقل الأن الى جزء مهم
كيف ستعرف المكتبة المنافذ الخاصه بالشاشة ؟
عن طريق شئ يسمي كائن او object
انه امر متقدم فى لغة برمجة ++c
ولكن غير مهم الأن المهم اننا لكى نعرف المنافذ الخاصه بالشاشه
نقوم بكتابة اسم المكتبة وبعد ذلك كتابة اسم الكائن او اسم متغير الذي سنضعه للشاشه ومن ثم كتابة المنافذ
LiquidCrystal lcd(rs,en,db4,db5,db6,db7);
فكما تلاحظون فى هذا الأمر قمت بتسميه الشاشة باسم lcd
وهذا الأسم غير ضرورى يمكن تغييره لأي اسم اخر
ثم ندخل الى القسم الخاص بالتعريفات
lcd.begin(16,2);
هذا الأمر وهو بمثابة تعريف الشاشة ويتم وضع هنا عدد الصفوف والأعمده
حيث اشهر الشاشات تحتوى على 16 عمود و صفان
ولكن هناك شاشات بمقاسات اخرى كل ما عليك هو تغيير المقاسات فى التعريف الخاص بالشاشة
من ثم هذا الأمر الذي يتيح لكتابة فى مكان محدد فى الشاشة فمثلا اذا اردت ان تكتب فى العمود الرابع تستخدم هذه الأمر
والذي تمثل الخانه الأولى رقم العمود المقصود
والخانه الثانية رقم الصف ويبدا التدريج من الصفر حيث ان الصف الأول يمثل برقم صفر
lcd.print("SMART ARABIC");
هذا الأمر الذي يتيح لك طباعه كلمه على الشاشة ويمكنك كتابة ما تشاء بشرط وجوده بين علامتين التنصيص
ويجب استخدام تاخير زمنى لا يقل عن ثانية لرؤية ما طبع على الشاشة فاذا لم يتم استخدام تاخير زمنى يختفى الكلام على الفور
lcd.clear();
يستخدم هذا الأمر لمسح كل شئ على الشاشة
وقمت بوضع هذه الأوامر فى void setup
لانى لا اريد ان تتكر ولكن اريد ان تطبع مره واحده
وبهذا الكود نستطيع ان ننفذ التجربة التى فى الأعلى
وفى النهاية لقد ناقشنا اليوم احد اهم ملحقات الأردوينو الأساسية وهى الشاشات
تصميم : بلال حسان سعدى
السلام عليكم
ردحذفلقد قمت بتجربة هذا الرسم مع الكود لكن لم يظهر لي شيئا على الشاشة (tinkercad)
اخى تاكد من صحه التوصيلات فيمكن أن يكون بها شيئا خاطئا
حذف