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

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

- اللهم صل ع محمد وال محمد 🖤،
Download Telegram
بهذا الرسم موضح طريقة الربط
شرح توصيلات المشروع
في الرسم كما موضح لقد قمت بتوصيل طرف الليد الموجب (+) مع المقاومة 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}
كل سطور الكود السابقة كان يا اما تعريف ثوابت ومتغيرات يا اما تحديد المداخل والمخارج، اذاً.. اين الأوامر الرئيسية الي من خلالها هياخد الاردوينو القرار بأنه يضيء الليد ولا يطفئه؟ . ذلك هيكون من خلال الجزء التالي من البرنامج وده الجزء اللي بوضح فيها للأردوينو متى يضيء الليد ومتى يطفئه، وفي هذا المشروع الهدف أن الاردوينو يقوم بتشغيل الليد عند الضغط على Button / Switch ويغلقه بمجرد إزالة اصبعي عنه.
هبدأ اصيغ هذه الجملة في هيئة اكواد يفهمها الأردوينو. وسوف اقوم بكتابتها داخل الدالة الرئيسية

void loop(){ }
والأوامر بتاعتنا هتكون كالتالي:
ButtonState = digitalRead(BUTTON);
if(ButtonState == HIGH){
digitalWrite(LED,HIGH);
}
else{
digitalWrite(LED,LOW);
}


في أول أمر، قمت بكتابة ButtonState = digitalRead(BUTTON); اه معناه الكلام ده،.. لو تتذكر معي في الأول خالص كنت قد عرفت ثابت BUTTON بأنه يعبر عن الـ pin رقم 2، هنا انا استخدمت BUTTON بدلاً من ذكر رقم 2. ومن خلال الأمر digitalRead(BUTTON) فانا بقوله قم بقراءة القيمة اللي على الـ pin رقم 2. القيمة ده في حالتنا هتكون يا اما HIGH وده في حالة الـ Switch مضغوط يا اما LOW في حالة انه غير مضغوط. ولكن ماذا عن الجزء الثاني من الأمر؟.. وبقوله بعد كدا.. خزن لي قيمة هذه القراءة في متغير اسمه ButtonState.
ثم بعد ذلك..
لو كانت قراءتك للمدخل رقم 2 تساوي HIGH خرج على المخرج 13 (LED) قيمة HIGH ،.. وإن لم يكن.. اجعل قيمته LOW. ده اللي انا وضحته له من خلال الجملة الشرطية if ..else
if(ButtonState == HIGH){
digitalWrite(LED,HIGH);
}
else{
digitalWrite(LED,LOW);
}
والأمر digitalWrite هو المسئول عن تطبيق الخرج اذا كان خرج HIGH او خرج LOW. حيث نقوم بكتابة داخله رقم المخرج وهو 13 وتعبر عنه بـ LED والخرج المراد تطبيقه عليه وهو يا اما HIGH او LOW. ملحوظة: HIGH تعني 5V و LOW تعني 0V.
كدا انتهينا من شرح الكود لو فيه اي نقطة غير واضحة .. لا تترد في انك تكتبها في تعليق وهرد عليك مباشرة.
 
ميحتاج انزل باقي الطريقتين
لانو بهذا الشرح موضح كلشي من الصفر

اتمنى تقروا زين وتركزون حتى تفهمون الفكرة كلها...💙🧚🏻‍♀️

* الشرح سحبته من مصدر لانو شفته كلش بسيط ويفيدكم💙🧚🏻‍♀️
مرحباً شلونكم💙🧚🏻‍♀️
الفقرات الجديدة الي حسويها بالقناة هي:-

1️⃣بين فترة وفترة انشر فقرة دعم مشاريع للمتابعين الي عدهم مشاريعهم ويردون دعم😍❤️

2️⃣كل اسبوع اصعد ادمن بالقناة يشرح موضوع او مشروع بخصوص الاردوينو وبهاي الحاله الكل حيستفاد عن طريق الشرح المختلف
(شرط يكون هذا الشخص حاصل ع شهادة مشاركة من فريقنا او من دورتنا ويا وزارة الشباب ، لانو بهاي الحالة حتأكد من معلومات الشخص ودراسته و خبرتة بالاردوينو)

3️⃣كل اسبوع ايضاً انزل شرح عن موضوع مختلف واستقبل شرح منكم ع نفس الموضوع الشرح يكون بطريقتكم وشلون فهمتوا الموضوع
(يعني انشر شرح تقروا انتوا وتجون تكتبون نفس الشرح لكن بطريقتكم وشلون فهمتوا وتكدرون تستخدمون النت حتى تطلعون ع شرح اكثر
اختار فقط 3 اشخاص وانشر مشاركاتهم (افضل 3 شروحات انشرهم))💡

4️⃣ان شاء الله كل يوم خميس انشرلكم مشروع معين مع الشرح+الربط+الكود


وكل التوفيق الكم😍💙

* الهدف هو التفاعل والفهم و نقدم فرص الكم حتى تستفادون وتشاركون💙💙
@yaqeen40

للتواصل معرفي👆🏻🌹
مرحبا شلونكم💙🧚🏻‍♀️
لكثرة الطلبات ع الكورس

رجع انفتح الاشتراك على كورس الاردوينو المسجل(فيديوات+محاضراتpdf)

شرح من الصفر الى مستوى متوسط
(بهذا الكورس حتعرف كلشي يخص الاردوينو من الالف للياء
+ شرح اساسيات برمجة الاردوينو
و تعليمكم ع ربط المشاريع الخ...)
مع شهادة مشاركة مقدمة من الفريق

كل هذا ب10$ اسيا فقط


الي يحب يشترك يراسلني @yaqeen40
اردويـــنو💡💻 pinned «مرحبا شلونكم💙🧚🏻‍♀️ لكثرة الطلبات ع الكورس رجع انفتح الاشتراك على كورس الاردوينو المسجل(فيديوات+محاضراتpdf) شرح من الصفر الى مستوى متوسط (بهذا الكورس حتعرف كلشي يخص الاردوينو من الالف للياء + شرح اساسيات برمجة الاردوينو و تعليمكم ع ربط المشاريع الخ...) مع…»
مرحباً شلونكم💙🧚🏻‍♀️

اليوم حـ نتحدث عن وحدة استشعار البصمات FPM10A ( حساس البصمة )مع الاردوينو

وباجر ان شاء الله انزللكم مشروع عنه🤩💙