بسم الله الرحمن الرحيم
سنبدأ اليوم سلسلة من احد اهم السلاسل الموجوده على الموقع
وهى سلسة لتعلم الحساسات والأدوات الأساسية مع الأردوينو
والتى سوف نقوم بتقسيمها الى 10 دروس
وسنناقش فى هذا الدرس الأدوات التى يتم استعمالها فى الإخراج
مع شرح الأوامر الأساسية الخاصة
سنناقش اليوم led و RGB و PUZZER
فى البداية قبل الدخول الى السلسلة يجب ان تأخذ فكرة واضحة عن ما هى الأردوينو
لقد قمت بكتابة العديد من الدروس يمكن الإطلاع عليها من هنا
ونبدا اولا باول عنصر الكتروني لدينا وهو LED
وهو عبارة عن دايود ضوئى
وهو من احد العناصر التى يمكننا اخراج ضوء منها
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaFfP0QTlXn_37_cfetl94Hz4IwuPBOAXFEzIMyYRWl1YXrD9hmfOtXi2GvLWghYaOQNGO2Fr64mCSq4sa8R2ELKyuB1FJp7JQR6S81W18ogg63NsHE0P6SSryj4NfpuHEZsT8w1VwPZPf/s0/7.jpg)
ويختلف فرق الجهد لكل ليد على حسب لونه فيجب الأخذ فى الإعتبار بانه يجب وضع مقاومة لا تقل عن 330 اوم لتجنب حرق الليد
ويتم تعيين قيمة المقاومة من قانون اوم
بعد ذلك ننتقل الى الليد مع الأردوينو
فى البداية يحتوى الليد على طرفان طرف + ANODE و طرف -CATHOD
كما موضح بالأعلى فى التوصيل يتم توصيل ANODE الى المنافذ الرقمية الخاصه بالأردوينو
وتوصيل CATHOD الى السالب الخاص بالأردوينو
والأن نستعرض اهم الأكواد وهو كود BLYNK
void setup()
{
pinMode(8, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(8, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
في البداية يجب تعريف المنفذ الرقمى الخاص بالليد كخرج عن طريق هذا الأمر
pinMode(8, OUTPUT);
ثم اخراج 5 فولت على منفذ رقم 8 عن طريق
digitalWrite(8, HIGH);
ثم الإنتظار مدة 1000 مللى ثانية والتى تعادل ثانيه واحده عن طريق
delay(1000);
ثم اخراج صفر فولت على المنفذ رقم 8 الرقمى عن طريق
digitalWrite(8, LOW);
ثم الإنتظار مدة ثانية واحده
فمثلا مثل هذا المشروع الذى يعتبر من المشاريع الجمليه
والكود بسيط جدا ويمكنكم استنباطه بأنفسكم
ثانيا : RGB
وهو عبارة عن مكون ضوئى يتكون من ثلاثة دايودات والذى يتميز بأنه يمكن ان تغير اللون الخاص به
والذي يغير لونه على حسب الإشارة التماثلية الخارجه له من
منافذ 3 و 5 و 6 و 9 و 10 و 11
سنقوم بتطبيق مثل هذه الفكرة التى موضحه فى الفيديو الذى فى الأعلى
فى البداية نحن استخدمنا امر
random(min-max);
حيث يمكن لهذا الأمر ايجاد قيمة عشوائية بين رقمين
وملحوظة : يمكن للأردوينو اخراج موجة تماثلية من 0 الى 255
الكود :
int red=11;
int blue=10;
int green=9;
void setup()
{
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
}
void loop()
{
int x = random(5,255);
analogWrite(red,x);
analogWrite(blue,x);
analogWrite(green,x);
}
فى البداية قمت بتعريف المنافذ فى متغيرات لتسهيل الأمر قليلا
int red=11;
int blue=10;
int green=9;
ثم تعريف هذه المنافذ كخرج عن طريق
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
ثم انشاء متغير اسمه x يتم تخزين فيه قيمة عشوائية بين 5 الى 255
ثم اخراج هذه القيمة فى هيئة موجه تماثلية على المنافذ الخاصه ب rgb
analogWrite(red,x);
analogWrite(blue,x);
analogWrite(green,x);
ثالثا السماعه :
السماعه او puzzer كما يسميه البعض
هو مكون الكترونى يمكنه العمل مع الأردوينو لإخراج صوت منه ويتم إخراج صوت عن طريق تحديد تردد الصوت المطلوب
منفذ الموجب والذي يتم اتصاله بالمنافذ الرقمية الخاصه بالأردوينو
منفذ السالب الذي يتم اتصاله بالسالب الخاص بالأردوينو
فى البداية لكي يتم التحكم فى السماعه يتم استخدام امر
tone(pin,frequency);
سنقوم بتطبيق هذه الفكرة التى موضحه بالفيديو والتى هى تشابه لفكرة البيانو الرقمى الحديث
الكود :
int b1 = 5;
int b2 = 4;
int b3 = 3;
int sp = 11;
void setup(){
pinMode(sp,OUTPUT);
pinMode(b1,INPUT_PULLUP);
pinMode(b2,INPUT_PULLUP);
pinMode(b3,INPUT_PULLUP);
}
void loop(){
int x1 = digitalRead(b1);
int x2 = digitalRead(b2);
int x3 = digitalRead(b3);
if(x1==0){tone(sp,250);}
if(x2==0){tone(sp,350);}
if(x3==0){tone(sp,450);}
}
في البداية قمت بتعريف المنافذ الخاصه ب 3 سويتشات
وقمت بتعريف المنفذ الخاص بالسماعه
int b1 = 5;
int b2 = 4;
int b3 = 3;
int sp = 11;
ثم قمت بتحديد منفذ السماعه كخرج وتحديد منافذ السويتشات كدخل لمقاومة رفع
ان لم تفهم هذه النقطه قم بمراجعه السبع دروس التى قمنا بكتابتها من قبل حول الأردوينو
pinMode(sp,OUTPUT);
pinMode(b1,INPUT_PULLUP);
pinMode(b2,INPUT_PULLUP);
pinMode(b3,INPUT_PULLUP);
ثم انشاء ثلاث متغيرات وجعل فيهم قراءة السويتشات
int x1 = digitalRead(b1);
int x2 = digitalRead(b2);
int x3 = digitalRead(b3);
ثم الدخول في عمل مقارنات فإذا تم ضغط الزر الأول قم باخراج صوت بتردد معين وهكذا مع باقى الكود
if(x1==0){tone(sp,250);}
if(x2==0){tone(sp,350);}
if(x3==0){tone(sp,450);}
وهكذا فى هذا الدرس لقد تعلمنا العديد من المواضيع
(الليد : rgb : السماعه : السويتش)
وكيفية التعامل مع كل منهم
وان هذا الدرس بسيط بعض الشئ ولكن من الدرس القادم سنبدأ التعمق اكثر مع حساس الأردوينو
لأى استفسارات اتركها فى صندوق التعليقات
يمكنكم تحميل جميع الأكواد التى فى الأعلى من هنا
لا يوجد تعليقات
أضف تعليق