الدرس الثانى - الحساسات

2

 

بسم الله الرحمن الرحيم  

بعد ان ناقشنا فى الدرس السابق احد ملحقات الأردوينو الأساسية وهى 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.setCursor(4,0);

من ثم هذا الأمر الذي يتيح لكتابة فى مكان محدد فى الشاشة فمثلا اذا اردت ان تكتب فى العمود الرابع تستخدم هذه الأمر
والذي تمثل الخانه الأولى رقم العمود المقصود 
والخانه الثانية رقم الصف ويبدا التدريج  من الصفر حيث ان الصف الأول يمثل برقم صفر 
  lcd.print("SMART ARABIC");
هذا الأمر الذي يتيح لك طباعه كلمه على الشاشة ويمكنك كتابة ما تشاء بشرط وجوده بين علامتين التنصيص 
ويجب استخدام تاخير زمنى لا يقل عن ثانية لرؤية ما طبع على الشاشة فاذا لم يتم استخدام تاخير زمنى يختفى الكلام على الفور 

  lcd.clear();

يستخدم هذا الأمر لمسح كل شئ على الشاشة 
وقمت بوضع هذه الأوامر فى void setup 
لانى لا اريد ان تتكر ولكن اريد ان تطبع مره واحده 
وبهذا الكود نستطيع ان ننفذ التجربة التى فى الأعلى 

وفى النهاية لقد ناقشنا اليوم احد اهم ملحقات الأردوينو الأساسية وهى الشاشات 

لتحميل الأكواد اضغط هنا 

تصميم : بلال حسان سعدى 

التعليقات

  1. السلام عليكم
    لقد قمت بتجربة هذا الرسم مع الكود لكن لم يظهر لي شيئا على الشاشة (tinkercad)

    ردحذف
    الردود
    1. اخى تاكد من صحه التوصيلات فيمكن أن يكون بها شيئا خاطئا

      حذف