لمحة عامة عن لوحة الأردوينو Arduino Board Overview
لوحة الأردوينو هي لوحة إلكترونية مصممة لمساعدتك في بناء وإنشاء الدوائر والمشاريع الإلكترونية بسهولة. تتميز هذه اللوحة بكونها قابلة للبرمجة، مما يعني أنه يمكن للمستخدم برمجتها لتنفيذ وظائف محددة وفقًا لاحتياجاته.
تستخدم لوحة الأردوينو لغة برمجة تسمى "Arduino C"، وهي لغة بسيطة ومتاحة بشكل مجاني ومفتوح المصدر.
في البداية، دعنا نلقي نظرة سريعة على المكون الأساسي للوحة الأردوينو وهو المتحكم الصغير. سنقوم بشرح الهيكل الإلكتروني لإحدى اللوحات الأكثر شهرة وهي لوحة Arduino UNO.
يتكون المتحكم الصغير من حاسوب صغير على شكل دارة متكاملة (IC) كما هو موضح في الشكل (1-1).
*يتضمن المتحكم الصغير العناصر المدمجة التالية
- ذاكرة البرنامج (Program Memory)👈 تستخدم لتخزين التعليمات البرمجية أو الشيفرة التي تم كتابتها من قبل المبرمج. تحدد هذه التعليمات الآلية التي سيعمل بها المتحكم الصغير والنتائج التي ستحصل عليها. على سبيل المثال، يمكن أن تشمل هذه التعليمات قراءة إشارة من حساس حرارة، وفحص ما إذا زادت عن قيمة محددة، وتشغيل أو إطفاء أجهزة، وما إلى ذلك. تتمثل ذاكرة البرنامج عادة في أنواع مثل ROM أو EEPROM أو Flash. بالإضافة إلى ذلك، يحافظ البرنامج المخزن في ذواكر EEPROM أو Flash على بياناته حتى في حالة انقطاع التيار الكهربائي.
- المعالج (Processor)👈يعتبر المعالج جزءًا أساسيًا في المتحكم الصغير، حيث يقوم بتنفيذ التعليمات البرمجية المخزنة في ذاكرة البرنامج. عندما يصل المعالج إلى تعليمة قراءة إشارة من حساس الحرارة، يقوم بتنفيذ الدارة الإلكترونية المسؤولة عن قراءة هذه الإشارة ومقارنتها بالقيمة المحددة في البرنامج. بناءً على ذلك، يتم تنشيط نافذة الإخراج المرتبطة بجهاز معين لتشغيله أو إيقافه.
- ذاكرة البيانات (Data Memory)👈تستخدم لتخزين البيانات المختلفة مؤقتًا. تخسر ذاكرة البيانات بياناتها عند انقطاع التيار الكهربائي عن المتحكم الصغير. يمكن استخدامها على سبيل المثال لتخزين قيمة درجة الحرارة المقاسة أو البيانات الأخرى ذات الصلة.
- ذاكرة معطيات أخرى من نوع EEPROM👈تكون هذه الذاكرة غير متأثرة بانقطاع التيار الكهربائي، وبالتالي فإنها تحتفظ بالبيانات التي تم تخزينها فيها. يمكن استخدام هذا النوع من الذاكرة لتخزين معلومات مهمة مثل كلمات المرور.
- الدخل والخرج👈تتيح هذه الواجهات للمتحكم الصغير التواصل مع الدوائر الإلكترونية الخارجية المحيطة به. يمكن استخدام هذه الواجهات، على سبيل المثال، لتوصيل حساسات درجة الحرارة، أو الثنائيات الضوئية، أو المفاتيح الإلكترونية، وغيرها من الأجهزة الخارجية.
- ملحقات إضافية 👈مثل وحدات التحويل التناظري الرقمي (ADC)، والمؤقتات (Timers)، ووحدات الاتصال التسلسلية مثل Ethernet، CAN، SPI، I2C، UART، وغيرها.
*تختلف المتحكمات الصغيرة في ميزاتها وقدراتها
- سعة ذاكرة البرنامج
- ذاكرة الوصول العشوائي (RAM)
- هيكل المعالج وسرعته،
- عدد واجهات الدخل والخرج
- الملحقات الداخلية.
هناك العديد من الشركات المصنعة للمتحكمات الصغيرة، وأبرزها شركة Microchip التي تنتج متحكمات تعرف بـ PIC، وشركة Atmel التي تنتج متحكمات تعرف بـ AVR.
| الشكل (1-2) |
تعتبر لغة التجميع (Assembly) اللغة الأساسية المستخدمة في برمجة المتحكمات الصغيرة.
لكل متحكم صغير مجموعة تعليمات تجميع محددة له. ومع ذلك، تعتبر لغة التجميع معقدة نسبيًا وغالبًا ما يتم اللجوء إلى لغات برمجة عالية المستوى مثل لغة C.
يستخدم برنامج المترجم (Compiler) لتحويل الشفرة المكتوبة بلغة C إلى لغة التجميع التي يمكن فهمها وتنفيذها بواسطة المتحكم الصغير.
*لوحة الأردوينو أونو (Arduino UNO)
هي واحدة من أشهر وأكثر اللوحات استخدامًا في عالم الأردوينو.تُعتبر مثالية للمبتدئين الذين يرغبون في تعلم الأردوينو. توجد ثلاث إصدارات معدلة لهذه اللوحة حاليًا. الإصدار الأول هو Uno R1، تم إجراء بعض التعديلات على اللوحة الأصلية في الإصدار الثاني المعروف بـ UNO R2، وفيما بعد تم إصدار النسخة المحسنة والثالثة وتسمى UNO R3.
يتم توضيح الهيكل الداخلي للوحة الأردوينو أونو المطورة في الشكل (3-1)، بالإضافة إلى المنافذ الخارجية.
العنصر الرئيسي في لوحات الأردوينو هو المتحكم الصغير AVR ATmega328.
العنصر الرئيسي في لوحات الأردوينو هو المتحكم الصغير AVR ATmega328.
| الشكل (3-1) |
المتحكم المستخدم في لوحة الأردوينو أونو هو AVR ATmega328 كما هو موضح في الشكل (1-4).
لا يلزم أن نتعمق في تفاصيل هذا المتحكم، ولكن سنذكر أهم خصائصه في الجدول (1-1).
يتصل المتحكم ATmega328 في لوحة الأردوينو أونو بكريستال بتردد 16 ميجاهرتز، مما يتيح تنفيذ 16 مليون تعليمة في الثانية.
*المتحكم الثانوي ATmega1602
تمت إضافة المتحكم الثانوي ATmega1602 إلى لوحة Arduino UNO لعدة اسباب نذكر منها
| الشكل (1-5) |
- لتمكين تبادل البيانات مع الحاسوب عبر منفذ USB.و يتمتع ATmega1602 بوحدة اتصال تسلسلية USB مدمجة في هيكله الداخلي.
- لنقل الشيفرة البرمجية من الحاسوب إلى المتحكم الرئيسي ATmega328 باستخدام برنامج Arduino.
- لنقل المعلومات أثناء تشغيل اللوحة، مثل إرسال قيمة درجة الحرارة من اللوحة إلى الحاسوب أو إرسال أوامر من الحاسوب إلى اللوحة وما إلى ذلك.
- يتم التواصل بين المتحكم الرئيسي ATmega328 والمتحكم الثانوي ATmega1602 عبر تسلسل UART.
- يتم توصيل ATmega328 بـ ATmega1602 باستخدام خطوط اتصال تسلسلية،
- في حين يتم توصيل ATmega1602 بالحاسوب عبر منفذ USB باستخدام ATmega16U2 (أو ATmega8U2 في بعض الإصدارات الأقدم).
- يقوم ATmega1602 بتحويل الإشارات بين USB واتصال UART التسلسلي، ويتميز بإنشاء منفذ COM افتراضي على الحاسوب.
- يتصل ATmega1602 بخط إعادة تشغيل المتحكم الرئيسي ATmega328، وذلك لإجراء عملية إعادة التشغيل عندما يتم برمجة المتحكم الرئيسي. ويتصل ATmega1602 أيضًا بكريستالة بتردد 16 ميجاهرتز لتوقيت العمليات في اللوحة.
يرجى ملاحظة أنه في الإصدارات الأصلية وR2 من Arduino UNO، يستخدم المتحكم ATmega8U2 بدلاً من ATmega16U2.
*منظم جهد 5v ومنظم الجهد 3.3v
لوحة الأردوينو أونو تحتاج إلى تغذية كهربائية بجهد 5 فولت من مصدر خارجي.لكي يتم تنظيم الجهد بشكل صحيح،توفر لوحة الأردوينو أونو منظم جهد يتجاوز 1.4 فولت، وتوفر أيضًا جهدًا قدره 3.3 فولت يمكن استخدامه مع دوائر أخرى. المنظم الجهد المستخدم هو LP2985-33BVR ويصل التيار الأقصى للمنظم إلى 150 مللي أمبير.
الشكل (1-6) يعرض المنظم 1117ST50T3G بالمربع الأحمر، ومنظم الجهد LP2985-33BVR بالمربع الأصفر.
*الثنائيات الضوئية على لوحة الاردوينو
تحتوي لوحة الأردوينو أونو أيضًا على مجموعة من الثنائيات الضوئية، حيث تحتوي على 3 ثنائيات ضوئية كما هو موضح في الشكل.- الثنائي الضوئي ON يشير إلى أن اللوحة تم تطبيق جهد كهربائي +5 فولت عليها وهي جاهزة للعمل، ولون هذا الثنائي هو الأخضر.
- الثنائي الضوئي L متصل بالمخرج الرقمي (5)، وهو يضيء باللون الأصفر عند تطبيق إشارة منطقية 1.
- الثنائيان الضوئيان RX وTX يومضان عند نقل البيانات بين متحكم ATmega16U2 ومنفذ USB إلى الحاسوب فقط، ولونهما الأصفر.
*منفذ USB
يوضح الشكل (1-8) منفذ USB بلون لاحمر. يتم استخدام هذا المنفذ لعدة أغراض، بما في ذلك:
- برمجة اللوحة عن طريق الحاسوب.
- تبادل البيانات بين لوحة الأردوينو ومنفذ USB على الحاسوب.
- توفير التغذية الكهربائية للوحة بجهد 5 فولت عند توصيل المنفذ.
بجانب المنفذ يوجد فيوز يعمل
- حماية منفذ USB على الحاسوب من التيار الزائد
- القصر الكهربائي.
على الرغم من وجود دوائر حماية داخلية في معظم الحواسيب، إلا أن الفيوز يقطع التوصيل تلقائياً عندما يزيد التيار عن 500 مللي أمبير.
| الشكل (1-8) |
*مقبس الطاقة
يمكن توفير مصدر طاقة بديل للوحة الأردوينو عن طريق توصيل محول تيار متردد إلى مقبس الطاقة (Power Jack) الموجود في الشكل (1-8) بلون الاصفر. قطر المقبس هو 2.1 ملم. يُوصى بجهد المحول المتراوح بين 7 فولت و 12 فولت.
* زر إعادة التشغيل
بلون لاخضر يستخدم لإعادة تنفيذ الأوامر من البداية من جديد.كما هو موضح في الشكل .
* دارة متكاملة LM358 ومنفذ برمجة ICSP
| الشكل (1-9) |
تعتبر دارة متكاملة LM358
عبارة عن مكبري عمليات. تستخدم هذه الدارة في لوحة الأردوينو (أونو) كمقارن جهدي لاختيار تغذية اللوحة من منفذ USB أو منفذ Vin.
بشكل أكثر تحديدًا، يستخدم أحد المكبرين كمقارن جهدي لتحديد مصدر التغذية القادمة إلى اللوحة، سواءً كان ذلك من منفذ USB أو منفذ Vin. ويستخدم المكبر الآخر كعازل buffer بين المخرج 13 والثنائي الضوئي L.
*منفذ برمجة ICSP (In-Circuit Serial Programming)
يستخدم لبرمجة المتحكمات الرئيسية ATmega328 وATmega1602. يمكن برمجة المتحكم الرئيسي ATmega328 عن طريق منفذ USB، ولكن هناك طريقة أخرى لبرمجته وهي باستخدام منفذ ICSP الموضح في الشكل (1-10).
يتم استخدام منفذ ICSP لبرمجة المتحكم ATmega328 باستخدام مبرمجة خارجية أو لوحة أردوينو أخرى يتم توصيلها بالمتحكم.
|
* منافذ استطاعة في لوحة الأردوينو أونو
- منفذ Vin👈يمكن استخدامه لتوصيل مصدر تغذية خارجي للوحة بدلاً من منفذ USB. يتراوح الجهد المطبق على هذا المنفذ من 7V إلى 12V تقريبًا.
- منفذان GND👈يعملان كأرضي لوحة الأردوينو ويمكن استخدامهما للاتصال بدوائر أخرى.
- منفذ 5V+👈يوفر جهدًا مقداره 5V، ويمكن استخدامه لتغذية الدوائر الخارجية المتصلة باللوحة.
- منفذ 3.3V👈يوفر جهدًا مقداره 3.3V، ويمكن استخدامه لتغذية الدوائر الخارجية المتصلة باللوحة. تيار هذا المنفذ يقدمه يصل إلى 50mA.
*يوجد إلى اليسار من منافذ الاستطاعة ثلاثة منافذ أخرى
- منفذ RESET👈يُستخدم هذا المنفذ لإعادة تشغيل لوحة الأردوينو من خلال توصيله بإشارة منخفضة (0V). يمكن استخدام مفتاح لحظي (Button) للتوصيل بين أحد أطرافه وهذا المنفذ، حيث يتم تطبيق إشارة 0V عند الضغط على المفتاح لإعادة تشغيل اللوحة. يمكن استخدام هذا المنفذ عند استخدام لوحة غطاء (Shield) تمنع الوصول إلى زر إعادة التشغيل على اللوحة الأصلية.
- منفذ IOREF👈يوفر هذا المنفذ الجهد المرجعي الذي يعمل به المتحكم الصغير. يُستخدم هذا المنفذ بواسطة لوحات الغطاء (Shields) لاختيار مصدر الطاقة المناسب أو تمكين محول الجهد للعمل مع جهود 5V أو 3.3V.
- منفذ غير مستخدم حاليًا ويمكن استخدامه في المستقبل للتطوير.
*منافذ دخل تشابهية في الحساسات التشابهية
| الشكل (1-12) |
تُستخدم هذه المنافذ لإدخال إشارات تشابهية، وغالبًا ما يتم تحويل هذه الإشارات إلى إشارات رقمية باستخدام محول ADC في متحكم ATmega328.
يتميز المحول بدقة تمييز تبلغ 10 بت، والجهد المرجعي الافتراضي هو 5 فولت ويمكن تغييره عن طريق المنفذ AREF.
يوجد 6 منافذ تشابهية متاحة، وتُعرف بالأرقام A0، A1، A2، A3، A4، و A5 كما هو موضح في الشكل (1-12).
- يُمكن استخدام جميع هذه المنافذ كمنافذ خرج رقمية، حيث يمكنها توليد إشارة بقيمة 0V أو 5V وفقًا للشيفرة البرمجية المُحددة.
- يُمكن استخدامها أيضًا كمنافذ دخل رقمية، حيث يُمكنها استقبال إشارات بقيمة 0V أو 5V.
- تُستخدم هذه المنافذ لتوصيل عناصر ودوائر إلكترونية أخرى بسهولة.
- تحتوي بعض المنافذ مثل 6 و 5 و 3 و 9 و 10 و 11 على خاصية تعديل عرض النبضة "Pulse Width Modulation (PWM)". يُمكن التحكم في عرض النبضة المرتفعة (1) في إشارة PWM.
- المنافذ 1 و 0 تعمل كواجهة اتصال للبروتوكول التسلسلي UART. المنفذ 1 مُخصص للإرسال، بينما المنفذ 0 مُخصص للاستقبال. يتم توصيل هذين المنفذين في نفس الوقت مع منافذ متوافقة للمتحكم ATmega162، مما يتيح إرسال البيانات التسلسلية إلى الحاسوب عبر منفذ USB.
- المنافذ 2 و 3 يمكن استخدامهما كمقاطعات خارجية.
يمكن استخدامها لتوصيل
- الثنائيات الضوئية،
- شاشات العرض LCD التي تعرض البيانات الرقمية،
- أيضًا لوحات المفاتيح،
- المحركات. من خلال استخدام هذه المنافذ،
- يمكن للمتحكم التفاعل مع هذه العناصر الإلكترونية المختلفة و
- التحكم فيها بسهولة وفقًا لبرنامج البرمجة المناسب.
هناك مقاومات سحب داخلية "internal pull-up" متوفرة لكل من هذه المنافذ، ومع ذلك، فإنها غير مفعلة افتراضيًا.
وبالإضافة إلى ذلك، هناك منافذ أخرى في الشكل (1-13) ، وهي كالتالي:
- منفذ GND، وهو المنفذ الأرضي لوحة الأردوينو.
- منفذ AREF، وهو المنفذ الجهد المرجعي للمداخل التشابهية. سنتعرف على وظيفته لاحقًا.
- المنافذ الأخيرة هي SCL و SDA، وتُستخدم كواجهة اتصال للبروتوكول التسلسلي I2C.
*مزايا وخواص لوحة الأردوينو أونو
|
يتبع..........
ملاحظه مهمة : جميع الحقوق محفوظة لمدونة SY TECH TREND. الرجاء ذكر المصدر في حالة نسخ المقال ...... وشكرا