الأربعاء، 26 ديسمبر 2012

أردوينو اسبلورا Arduino Esplora


أردوينو اسبلورا




نظرة عامة: اردينو اسبلورا عبارة عن لوح معالج دقيق جديد مشتق من اردوينو ليوناردو، يتميز الاردوينو اسبلورات بمجموعة من المجسات المرتبطة بشكل مباشر مع اللوحة. وصصمت للاشخاص الذين يرغبون في استخدام الاردوينو من دون معرفة الكثير عن الدوار الالكترونية.


أردوينو اسبلورا تضمن مع اللوحة اضوية واجهزة لاخراج الصوت. وعدة مجسات كمداخل، بمافيها عصا التحكم، مجس حرارة، مقياس التسارع accelerometer ومايكروفون وأضوية. مدخلان ومخرجان للTinkerKit، وقاعدة للشاشة TFT.

مثل الأردوينو ليوناردو، اسبلورا تستخدم معالج Atmega32U4 AVR ، مع 16 MHz crystal  (الساعة 16ميغاهيرتز) مع مايكروUSB مع قابلية توصيلها كفأرة او لو حة مفات.

في القسم العلوي الايسر، يوجد زر اعادة تشغلي، وكما يوجد اربع باعثات ضوئية للحاللة.
  • تشغيل(أخضر) لمعرفة حالة اللوحة، في وضع التشغيل او الاطفاء
  • L (أصفر) موصول بشكل مباشر مع المنفذ 13
  • Rx & tx لحالة البيانات المنتقلة بين اللوحة والكمبيوتر

اللوحة تحتوي على كل شيء يحتاجه المعالج، ببساطة فقط قم بتوصيلها مع الكمبيوتر بواسطة كيبل USB، وابدأ

الملخص


Microcontroller ATmega32u4
Operating Voltage5V
Flash Memory32 KB of which 4 KB used by bootloader
SRAM2.5 KB
EEPROM1 KB
Clock Speed16 MHz

مراجع و تخطيط اللوحة

الذاكرة

معالج ATmega32u4 لديه 32كيلوبايت ( 4 كيلو بايت للاقلاع bootloader)، وليده 2.5 كيلوبايت ل SRAM و كيلورابيت واحد من اجل EEPROM. يمكنك التعامل مع EEPROM برمجيا باستخدام المكتبة الخاص بها



Input and Output:


المدخلات والمخرجات



/تصميم لوحة اسبلورات بشكل عام من اجل لوحة الالعاب، مع عصا تحكم، واربع ازرار على اليمين، ولديها مدخلات ومخرجات وهي /
  • عصا تحكم مع زر في المنتصف
  • ازرار
  • متحكم في الجهد خطي، بجوارالازرار
  • مايكروفون
  • مجس درجة الحرارة
  • مجس احداثيات Three axis accelerometer
  • منبه buzzer
  • اضوية RGB
  • مدخلان TinkerKit
  • مخرجان TinkerKit
  • منصة لتوصيل شاشة TFT، لتوصيلها مع شاشة LCD، بطاقات SD، او اي جهاز يستخدم SPI.

التوصيل

ان لوحة ليوناردو، ولوحة اسبلوؤا لديها عدد من التسهيلات لتوصيلها مع الكمبيوتر، اردوينو اخرى، او اي معالج دقيق اخر. ان معالج ATMega32U4 يدعم التوصيل CDG، على الUSB. كما انه يدعم بروتكولات الفأرة ولوحة المفاتيح، ليتعرف عليها الحاسب بنائا على ذلك.  ويدعم توصيل SPI، ويمكنك استخدامه برمجيا عن طريق المكتبة المخخص لها. 

البرمجة

يمكن برمجة لوحة اسبلورا عن طريف برنامج الاردوينو، اختار Arduino Esplora من لوحة الادوات Tools -> قائمة اللوحات Bords Menu.

مكتبة اسبلورات Esplora Library

هذه المكتبة تسهيل عملية قرائة المجسات والكتابة على اللوحة، حيث يمكنك اختيار نوع القرائة من اللوحة سليسيوي او فرنهايت،  وتسهيل عملية تشغيل المخرجات كأضوية RGB.

الخميس، 13 ديسمبر 2012

ربط الاردوينو مع شاشة arduino with lcd

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

والشاشات LCD مازالت منتشرة بشكل كبير. ويوجد في الاردوينو مكتبة جاهزة سنقوم باستخدامها. وكما سنقوم بشرح كيفية توصيل الشاشة مع الاردوينو، حيث يوجد في هذا النوع من الشاشات 16 منفذ علينا ان نوصلهم بشكل صحيح










الادوات المستخدمة
1-

أردوينو   سنستخدم Arduino Duemilanove لكن يمكنك استخدم Arduino Uno في نفس الطريقة يمكنك
طلبها من هنا، كما يمكنك اسخدام اي نوع اخر من الاردوينو متوافق.




شاشة عرض LCD 16x2 يوجد في السوق انواع مختلفة من الشاشات، تختلف في عدة الاسطر وعدد الخانات ولون الاضائة، هنا سنسخدم شاشة من 16 خانة وسطرين.
يمكنك طلبها من هنا 

مقاومة متغيرة 10ك 10K linear potentiometer
هذا كالمستخدم في اجهزة الراديو او التحكم في الصوت، وهو عبارة عن مفتاح من خلاله تتحكم في قيمة المقاومة. يمكنك ايجاده من السوق المحلي بسهولة


رؤوس توصيل (fish boons). في حال لم تكن موجود في الشاشة


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


شاشة العرضLCD 16x2
  1. تستوعب حتى 16 حرف لكل سطر، تحتوي على سطرين
  2. تحتوي على 16 مخرج(pin)  للتوصيل،

رقم المخرج
الرمز
الوظيفة
E
1
VSS
الارضي (السالب)
     Display power ground
2
VCC(VDD)
الجهد (5فولت)
     Display power +5V
3
VEE
التحكم في قوة اضائةالشاشة
Contrast Adjust. Altered by adjusting the voltage to this pin, grounding it sets it to maximum contrast
4
RS
لاخبار الشاشة اننا سنرسل نص، او امر
lets the microcontroller tell the LCD whether it wants to display that data (as in, an ASCII character) or whether it is a command byte
5
R/W
لاختيار وضع القراءة او الكتابة، في الغالب نستخدم الشاشة لاظهار البيانات عليها، مع العلم أننا نستطيع القراءة منها.
Data read/write selector
6
E
بدئ التخزين
Enable stroe
7
DB0
لنقل النص
8
DB1
لنقل النص
9
DB2
لنقل النص
10
DB3
لنقل النص
11
DB4
لنقل النص
12
DB5
لنقل النص
لنقل النص
13
DB6
لنقل النص
14
DB7
لنقل النص
15
LED+
اضائة الشاشة جهد 5 فولت
LED backlight power +5V
16
LED -
اضائة الشاشة الارضي (السالب)
LED backlight power ground



لنبداأولا:- تشغيل اضاءة  الشاشة:-
1-قم بتركيب منافذ الشاشة مع الرؤس كما في الشكل. عادتا تكون منافذ الشاشة غير ملحومة، علينا ايصالها في هذه الرؤوس، والقيام بعملية اللحام.


2- تزويد الشاشة بطاقة كهربائية
 وذلك بتوصيل +5v مع منفذ 15 LED+  للشاشة، والارضي مع المنفذ 16 LED- (هذان المنفذان لاضاءة الشاشة) ستضيئ الشاشة بمجرد توصيلهم،

3- توصيل potentiometer
حيث يتم المنتصف مع المنفذ رقم3 V0، وطرفيه مع الجهد كما في الشكل


4-توصيل التيار الكهربائي مع شاشة العرض
 المنفذ رقم 1 vss مع الارضي، والمنفذر رقم 2 vdd مع الجهد 5v+ (هذان المنفذان مفصولان عن منفذان اضائة الشاشة)،



5- قم بتغير الpotentiometer حتى ترى السطر الاول من الشاشة



يجب اتمام هذه المرحلة قبل الانتقال الى المرحلة الثانية


ثانيا توصيل اسلاك البيانات:-

مراجعت المنافذ(المخارج)
سنشرح منافذ الشاشة وكيفية توصيلها مع الاردوينو

 المنفذ RS، يستخدم لتحديد طبيعة البيانات المرسله، هلي هي نص، او اوامر، كأمر تغير مكان المؤشر
المنفذ E   لاخبار ان البيانات جاهزة للقرائة
المنفذ RW لتحديد العملية هل هي عملية قرائة او كتابة، حيث يمكننا قرائة النص من الشاشة، وهذه الميزة قليلة الاستعمال.
المنافذ D0-D7 لارسال البينات"النص" الى الشاشة.

في هذا المثال، سنستخدم فقط 4 منافذ من اجل ارسال البيانات "النص"،مع العلم ان استخدام المخارج الثمانية يزيد من سرعة نقل البيانات، لكن السرعة غير مهمة.

وبما اننا لن نقوم بقرائة المكتوب على الشاشة، سنقوم بتوصيل المنفذ RW مع لارضي(السالب).

ستتصل المنافذ RS, E, D4,D5,D6,D7 مع الاردوينو كما في الجدول 

منفذ الاردوينو        
 منفذ  الشاشة
RS
8
E
9
D4
10
D5
11
D6
12
D7

مراجعة نهائية لمخارج الشاشة

المخرج       
متصل مع
VSS
الارضي(السالب)
VDD
الجهد (5 فولت)
VEE
مع المتحكم بالجهد
RS
الاردينو مخرج7
R/w
الارضي (السالب)
E
الاردوينو مخرج 8
D4
الاردوينو مخرج9
D5
الاردوينو مخرج 10
D6
الاردوينو مخرج 11
D7
الاردوينو مخرج 12
LED+
الجهد (5فولت)
LED-
الارضي(السالب)


ثالثا البرمجة
يوجد في الاردينو مكتبة جاهزة، فلن تحتاج الى ارسال الاوامر، فقط ستسدعي المكاتب اللازمة كما في المثال التالي
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.  lcd.print("h");
  lcd.print("Hello World....!");
}
void loop() {

          lcd.setCursor(0, 1);
        // print the number of seconds since reset:
  lcd.print(millis() /1000);
}