Bassam Alshabrawi ⚡️
Bassam Alshabrawi ⚡️

@Bassam_Atif

16 تغريدة 77 قراءة May 27, 2022
تعتبر الأردوينو أحد الألواح الإلكترونية الشهيرة ولذلك لسهولة استخدامها خصوصا بساطة لغتها البرمجية أيضا لسهولة التعامل معها لتحويل الأفكار إلى مشاريع صغيرة.
تحتوي لوحة الأردوينو على نقاط (pins) هل تعلم ما الذي تعنيه بالضبط؟
هذا ما سنوضحه في هذه السلسلة.
#هندسة_كهربائية
#تقنية
يمكننا تقسيم هذه النقاط إلى :
١- نقاط التغذية (Power pins)
٢- نقاط التأريض (Ground pins)
٣- نقاط رقمية (Digital pins)
٤- نقاط تناظرية (Analog pins)
٥- نقاط بروتوكولات الاتصال وتشمل (UART,I2C,SPI)
وسنتحدث عن كل قسم.
ملاحظة : نوع لوحة الأردوينو التي سنتحدث عنها هو Arduino UNO
أولا : نقاط التغذية (Power pins)
وهي النقاط التي عن طريقها يتم إدخال المصدر الكهربائي لتغذية اللوحة وبعضها يتم إخراج المصدر الكهربائي منها لتغذية معدات المشروع.
وتغذية اللوحة إما عن طريق توصيل اللوحة إلى جهاز الكمبيوتر كما هو مبين بالصورة أدناه
يتبع
أو عن طريق مصدر خارجي (Power Supply) كما هو مبين بالصورة أدناه أو عن طريق نقطة Vin، ومهما كانت طريقة إدخال المصدر سيتم تنظيم جهده إلى 5V و 3.3V عن طريق منظمات جهد (Voltage Regulator) لكل منهما والموجودان بالصورة أدناه ليتم تغذية معدات المشروع بأحدهما حسب ما يتطلبه المشروع.
ثانيا : نقاط التأريض (Ground pins)
والتي نقصد بها النقاط الموصلة بالارضي الخاص بلوحة الأردوينو والموجودة بالصورة أدناه والغرض منها هو إيجاد مسار لإكمال الدائرة الكهربائية للنظام والمشروع المراد عمله.
ثالثا : نقاط رقمية (Digital pins)
والموجودة على يمين الصورة أدناه والبالغ عددها 14 (من 0 إلى 13) وهي عبارة عن نقاط تعمل كمدخلات (digitalRead) أو مخرجات (digitalWrite) وذلك على حسب رغبة المبرمج وتكون المدخلات والمخرجات رقمية أي إما 0V (LOW) أو 5V (HIGH).
يتبع
ويوجد بعض الأرقام في النقاط الرقمية بجانبها علامة(~) والتي تعني احتوائها خاصية PWM والمبينة بالصورة والتي عن طريقها بإمكاننا إخراج قيم
بين 0V و 5V أي بإمكانها إخراج قيم رقمية وتناظرية أيضا، ولإخراج قيمة تناظرية نقوم عند كتابة الكود بكتابة (analogWrite) بدلا من (digital Write) .
وسبق أن تحدثنا عن خاصية PWM والتي عن طريقها يتم التحكم بمحركات DC هنا
رابعا : نقاط تناظرية (Analog pins)
والموجودة على يسار الصورة أدناه والبالغ عددها 6 (من A0 إلى A5) وهي عبارة عن نقاط تعمل كمدخلات فقط (analogRead) أي لا نستطيع استعمالها كمخرجات.
يتبع
ومع ذلك بإمكاننا استعمال البيانات التناظرية كمخرجات لكن ليست عن طريق النقاط التناظرية بل عن طريق بعض النقاط الرقمية وهي بالتحديد التي يكون بجانبها علامة (~) بمعنى أنها تمتلك خاصية PWM كما ذكرنا سابقا.
خامسا : نقاط بروتوكولات الاتصال (Communication Protocols)
وهي عبارة عن نقاط لها عدة خصائص أهمها نقل البيانات بشكل أسهل وأسرع بين لوحة اردوينو ولوحة أردوينو أخرى أو بين الأردوينو و الجهاز أو المعدة المراد نقل البيانات إليها وتشمل UART و I2C و SPI كما هو مبين بالصورة أدناه
يتبع
وهذه النقاط غير ظاهرة بسطح لوحة الأردوينو ويمكن معرفة نقاط تواجدها بلوحة الأردوينو عن طريق Datasheet الخاصة بنوع لوحة الأردوينو والتي في هي في هذه الحالة بالصورة أدناه Arduino UNO.
وسنتحدث عن كل نوع من انواع بروتوكولات الاتصال ووظيفة كل منها.
1- UART (Universal Asynchronous Reception and Transmission)
وهو نوع من أنواع بروتوكولات الاتصال ومن الاسم يتضح لنا أنه غير متزامن (لا يحتوي على Clock) ،و يقوم بإرسال واستقبال البيانات مع جهاز آخر عن طريق نقطتي Tx (Transmission) و Rx (Reception) والمبينة بالصور أدناه.
2- I2C (Inter-Integrated Circuit)
وهو عبارة عن بروتوكول اتصال متزامن (يحتوي على Clock) حيث يقوم بتنظيم البيانات الموصلة بين Master و Slaves ويحتوي على طرفين وهما SDA وهو المسؤول عن نقل البيانات و SCL وهو المسؤول عن Clock المتولد عن طريق Master لتنظيم البيانات كما بالصور أدناه.
3- SPI (Serial Peripheral Interface)
وهو بروتوكول اتصال شهير متزامن يشبه I2C إلى حد ما لكنه يتميز بسرعة أعلى وذلك لاستطاعته بأن يرسل ويستقبل بيانات لحظيا أي أنه يملك خاصية Full-Duplex، ويحتوي على أربع أطراف كما هو مبين بالصورة أدناه.
ختاما الجدول المبين بالصورة أدناه يوضح ويلخص الفرق بين الأنواع الثلاث لبروتوكولات الاتصال UART, I2C, SPI ومميزات وخصائص كل منها.
انتهى
@rattibha

جاري تحميل الاقتراحات...