اردويـــنو💡💻
3.63K subscribers
390 photos
69 videos
8 files
64 links
قناة مختصه بكل ما يتعلق بالاردوينو وبرمجته

تهتم بالتكنلوجيا والهندسة👩🏻‍💻🕹

- اللهم صل ع محمد وال محمد 🖤،
Download Telegram
✳️انتباااه..‼️

التعليم العالي تعلن استمرار التعليم المدمج في الفصل الدراسي الثاني في الجامعات.
مرحباااا حبايبي
خلصتوا امتحانات لو بعدكم؟
Anonymous Poll
29%
ييي كملنه الحمد الله😍❤️
62%
بعد☹️💔
10%
متخرج/ة مرتاح/ة 😂❤️
اردويـــنو💡💻 pinned «مرحباااا حبايبي
خلصتوا امتحانات لو بعدكم؟
»
مرحبااا حبايبي شخباركم💙🧚🏻‍♀️
ان شاء الله تكونون بخير

بما انو الاغلب خلص امتحانات
واني هم خلصت الحمد الله🙏🏻

فـ حبيت ابدي بفقرات جديدة
وشرح مواضيع جديدة 😍

راح انزل بوست وافتح التعليقات
اي شي تحبون نشرحه او فقره نسويها اكتبوها بالتعليقات
واني اختار💯💯

* بالنسبة للدورة ان شاء الله بعد شهر رمضان نبلش بيها🧚🏻‍♀️💙
اي موضوع او جهاز او ادوات حابين نشرحها ونتطرق الها بالايام الجاية
اكتبوها بالتعليق
وايضا اذا ببالكم فقرة نسويها
هم اكتبوها 💙🧚🏻‍♀️
اردويـــنو💡💻 pinned «اي موضوع او جهاز او ادوات حابين نشرحها ونتطرق الها بالايام الجاية اكتبوها بالتعليق وايضا اذا ببالكم فقرة نسويها هم اكتبوها 💙🧚🏻‍♀️»
اردويـــنو💡💻 pinned «صباح الخير . ان شاء الله راح نبدي اليوم لذلك لازم ابين الكم شنو الراح تتعلموا بالدورة . اول شي راح نحجي عن مفهوم الانظمة المدمجة وشنو تعريفها و نفهمها بعدها نفهم شنو اساس عملها و شلون تشتغل . ثاني شي نعرفكم ع شغل المتحكمات و ليش نستخدمها شلون نستخدمها و…»
طلب احد الاخوان شرح هذا المشروع🌹🌹

مشروعنا اليوم عن برمجة الاردوينو لتشغيل LED والتحكم به من خلال المفتاح Switch.
وسوف اقوم بعرض لك 3 طرق مختلفة للتحكم فيه، وذلك لتكتسب مزيد من الخبرة في برمجة الاردوينو.
في مشروعنا اليوم سوف نتكلم عن كيف تقوم ببرمجة الاردوينو بطرق مختلفة للتحكم في LED باستخدام Switch:
• المشروع الأول: إضاءة LED بمجرد الضغط على الزر/المفتاح وإيقافه بمجرد التوقف عن ضغط الزر.
• المشروع الثاني: إضاءة LED وإطفائه بمجرد الضغط على الزر.
• مفتاح لتشغيل LED ومفتاح آخر لإيقافه.
المشروع الأول: إضاءة LED بمجرد الضغط على الزر/المفتاح وإيقافه
نبدأ بعرض المكونات التي سوف نحتاجها في المشروع، ثم توصيلها بـ لوح الاردوينو اونو.


توصيلات المشروع Hardware
المكونات المطلوبة

في هذا المشروع نحتاج إلى مجموعة مكونات وهي:
• Arduino UNO
• Breadboard
• 1 × push Button switch
• 1 × Red LED
• 1 × 220Ω Resistor
• 1 × 10kΩ Resistor
بهذا الرسم موضح طريقة الربط
شرح توصيلات المشروع
في الرسم كما موضح لقد قمت بتوصيل طرف الليد الموجب (+) مع المقاومة 220 اوم ثم وصلته بالـ Pin رقم 13 بلوح الأردوينو. والطرف السالب لليد قمت بتوصيله مباشرة بالـ Pin ال GND الموجودة بالاردوينو.
واذا واجهت مشكلة في تحديد انهي طرف الموجب للـ LED وانهي طرف السالب، فالموضوع بسيط يوجد طرق كثيرة لتحديد أطراف الليد. ولكن سوف اوضح طريقتين منهم الأولة وهي من خلال شرائح الليد الداخلية، لو دققت جيداً في الليد وقربته منك سوف تجد شريحتين واحدة كبيرة والأخرى صغيرة كما موضح في الصورة السابقة. الشريحة الكبيرة هي الطرف السالب له، أما الشريحة الصغيرة فهي الطرف الموجب له.
الطريقة الثانية هي من خلال أطراف الـ LED. فعند شرائك ليد جديد سوف تجد طرف كبير والآخر صغير . الكبير يعبر عن الموجب والطرف الآخر الصغير فأنه يعبر عن السالب، اتمنى اكون قد وضحت لك الأمر.  ننتقل الى شرح توصيلات باقي المكونات، لقد انتهينا من توصيل الليد نأتي الى الـ Switch.
لقد قمت بتوصيل طرف من أطراف Switch بالـ Pin الـ 5V بالاردوينو. الطرف الثاني قمت بتوصيله بالـ pin رقم 2 للوح الاردوينو. وقمت بتوصيل الطرف الثاني للـ switch ايضاً بالمقاومة 10k أوم على التوالي مع pin ال GND للإردوينو.
الهدف.. من توصيل الـ switch او المفتاح بهذا الشكل هو أنه عندما يكون في حالته الأساسية (أي: غير مضغوط) يكون الجهد على الـ pin رقم 2 للإردوينو هو جهد GND أي يساوي 0V ويطلق على هذه الحالة LOW. وعندما يكون في حالته الثانية (أي: مضغوط) يصبح الجهد على pin رقم 2 للإردوينو هو جهد 5V ويطلق على هذه الحالة HIGH. وهذه هي الإشارات الرقمية التي سوف نقوم بإستخدامها مع الأردوينو، والتي بناءاً عليها سوف يقوم بتنفيذ أوامر معينة،.. مثل إضاءة الليد أو إطفائه.


الى هنا انتهينا من الجزء الخاص بالتوصيلات..
ننتقل الى الجزء الخاص بالبرمجة وشرح الأوامر التي سوف نعطيها للإردوينو.
خطوات البرمجة Programming
سوف نقوم بتوصيل الاردوينو بالكمبيوتر من خلال الكابل USB type A/B. ونقوم بفتح برنامج Arduino ثم نقوم بظبط الإعداد، وهي الخاصة بتعريف نوع الاردوينو: اتبع الخطوات التالية..
1 | UNO من نافذة البرنامج: اضغط في الشريط من فوق على Tools > Board > Arduino Genuino UNO

2 | الأمر الثاني اسم Port المستخدمة لتوصيل الاردوينو بالكمبيوتر. و تتأكد من انك مستخدم COM الصحيح: اضغط على Tools > Port
 
3 | بعد ذلك افتح مشروع جديد، من خلال الضغط في اعلى البرنامج على File > New project.
 
const int LED = 13;
const int BUTTON = 2;
int ButtonState = 0;
void setup(){
pinMode(LED,OUTPUT);
pinMode(BUTTON,INPUT);
}

void loop(){
ButtonState = digitalRead(BUTTON);
if(ButtonState == HIGH){
digitalWrite(LED,HIGH);
}
else{
digitalWrite(LED,LOW);
}
}
الكود☝🏻☝🏻
شرح أوامر البرنامج (الكود)
في الجزء الأول من الكود قمت بكتابة السطور التالية:

const int LED = 13;
const int BUTTON = 2;
int ButtonState = 0;

في هذا
الجزء اللي بكتب فيه الثوابت و المتغيرات. فمثلاً لما كتبت const int LED = 13; هنا انا بقول للمتحكم أو للإردوينو أن LED هي ثابت ويساوي 13 ولا يتغير..
ممكن تعتبرها انك بتُعيد تسمية رقم 13 بـ LED (وهو رقم المخرج pin الذي قمنا بتوصيل عليه الليد). والهدف منها هو استخدام LED أثناء كتابتي للبرنامج، وتسهيل عملية الكتابة ومراجعة الكود البرمجي. وإذا قمت بالاستغناء عن هذا الأمر وكتبت رقم 13 في البرنامج، فسوف يعمل بدون اي مشاكل.

والسطر الثاني ايضاً هو نفس الفكرة هو اني بعرف ثابت BUTTON وأنه يساوي 2.

اما في السطر الثالث فإنه يختلف عن السطرين الأولين. لأنه متغير وليس ثابت، بمعنى أنه سوف تتغير قيمته بقيم أخرى،.. وهتعرف كيف يتغير ولكن لما نتعرف على باقي الأوامر.
في الجزء الثاني من الكود هو الجزء الذي تقوم من خلاله بتعريف المداخل والمخارج ويبدأ بـ Void setup():


void setup(){
pinMode(LED,OUTPUT);
pinMode(BUTTON,INPUT);
}


في كتابة الكود البرمجي من المهم جداً انك تقوم بتحديد انهي الأطراف اللي هتكون دخل Input وانهي الأطراف اللي هتكون خرج Output. وده من خلال الأمر:
pinMode(pin number , state);

مكان pin number بنضع رقم الـ pin، مثلما فعلت عند كتابتي للكود، حيث قمت بكتابة LED وده لانها تعبر عن Pin رقم 13.
ومكان state بنضع حالة pin هل هي دخل Input مثل الـ Switch / Button. ولا هي خرج Output مثل الـ LED. وانا حددت أن الـ Switch / Button هيكون Input، لان المفتاح وظيفته انه يدخل اشارة رقمية يا اما قيمتها 5V يا اما 0V. لذلك هيكون Input. أما في حالة LED فأنا حددت انه هيكون Output لانه سوف يتم اخراج عليه جهد يا اما 5V ليضئ يا اما 0V ليطفئ. لذلك هيكون Output. ولاتنسى أن pinMode بيتكتب داخل الدالة:


void setup( ){here}