You are on page 1of 29

‫‪www.eee-books.

com‬‬

‫لتحميل المزيد من الكتب والمراجع باللغة العربية‬

‫تابعونا على‬

‫موقع عالم الهندسة الكهربية‬


‫‪www.eee-books.com‬‬
‫‪--------------------------------------------------‬‬
‫جروب عالم الهندسة الكهربية على الفيس بوك‬
‫‪www.facebook.com/groups/EEE.Arabic‬‬
‫الشركة الهندسية لاللكترونيات والكهرباء‬
‫متخصصون في تكنولوجيا التعليم‬

‫نادي المخرتع الصغري‬

‫‪Arduino Lap‬‬
‫تعتبر بيئة التطوير ‪ ARDUINO IDE‬االداة المستخدمة‬
‫في كتابة االكواد البرمجية بلغة ‪ARDUION C‬‬
‫وتحويلها بعد ذلك الي صيغة تنفيذية يمكن وضعها‬
‫علي المتحكمة الدقيقة الموجودة علي الدائرة ‪.‬‬
‫تجهيز البرمجيات‬
‫قم بتحميل بيئة تطوير أردوينو من مدونة المخترع‬
‫‪YoungInventorClub.WordPress.com‬‬
‫التعرف علي الواجهة الرسومية لبيئة‬
‫بعد االنتهاء من تثبيت ‪ARDUINo IDE‬‬
‫التطوير‬ ‫قم بالخطوات التالية لتوصيل الدائرة‬
‫بالكمبيوتر‬

‫قم بتوصيل الكابل‬


‫بدائرة االردوينو‬

‫قم بتوصيل الكابل في فتحة ‪ USB‬في‬


‫قليال حتي تظهر لك رسالة‬
‫ً‬ ‫الكمبيوتر وانتظر‬
‫تفيد بأن الحاسب‬
‫االلي تعرف علي‬
‫قطعة عتاد جديدة‬
‫‪ ,‬بعد ظهور تلك‬
‫الرسالة يأتي‬
‫وقت العمل علي‬
‫البيئة التطويرة ‪.‬‬
‫بعد ذلك تستطيع البدء في كتابة أول برنامج لك‬ ‫تتكون بيئة التطوير البرمجية من واجهة‬
‫علي االردوينو وذلك عن طريق اختيار ‪ NEW‬من‬ ‫بسيطة وتنقسم إلي أربعة أقسام رئيسية ‪:‬‬
‫قائمة ‪ File‬الموجودة بشريط القوائم‬
‫‪ -1‬شريط القوائم ‪.‬‬
‫أو يمكنك اختيار ‪ New‬مباشرة من شريط االوامر‬ ‫‪ -2‬شريط األوامر السريعة ‪.‬‬
‫السريعة‬ ‫‪ -3‬منطقة كتابة األكواد البرمجية ‪.‬‬
‫‪ -4‬الجزء الخاص بعرض التنبيهات واألخطاء‬
‫البرمجية في بيئة التطوير ‪.‬‬

‫تجهيز بيئة التطوير ‪:‬‬


‫أول خطوة لتجهيز البيئة التطويرية هي اختيار‬
‫البوردة التي سنتعامل معها ويتم ذلك عن طريق‬
‫الذهاب إلي قائمة ‪ TOOLS‬واختيار ‪ BOARD‬ثم نختار‬
‫نوع البوردة المتوفرة لدينا ‪ ,‬وفي هذه الحالة سنختار‬
‫أيضا توفر لك البيئة التطويرية مجموعة من األمثلة‬ ‫‪. ARDUINO UNO‬‬
‫البرمجية الجاهزة والتي تستطيع الوصول اليها من‬
‫خالل قائمة ‪ Examples‬الموجودة في قائمة ‪File‬‬
‫الرئيسية‬
‫المثال األول ‪ :‬تشغيل ثنائي ضوئي ‪Blinking‬‬
‫‪LED‬‬
‫مكونات المثال ‪:‬‬
‫لنبدأ العمل مع أردوينو‬
‫بوردة أردوينو‬
‫ثنائي ضوئي‬
‫جهاز كمبيوتر‬
‫بعد االنتهاء من كتابة الكود البرمجي اضغط زر‬ ‫من بيئة التطوير ‪ ARDUINO IDE‬قم بعمل‬
‫تأكيد ‪ Verify‬في شريط األوامر السريعة ثم انتظر‬ ‫ملف جديد واكتب األوامر البرمجية التالية في‬
‫حتي تظهر رسالة تخبرك بأن البرنامج قد انتهي‬
‫من تجهيز الكود ليتم رفعه علي دائرة االردوينو‬ ‫الجزء المخصص لكتابة االكواد‬
‫‪// Example 01 : Blinking LED‬‬
‫;‪const int LED = 13‬‬
‫) ( ‪void setup‬‬
‫تأكد من أن كابل االردوينو متصل بالحاسب ثم قم‬ ‫{‬
‫بالضغط علي زر "رفع" ‪ Upload‬وذلك حتي يتم‬ ‫;)‪pinMode(LED, OUTPUT‬‬
‫بدأ عملية تحميل البرنامج الي المتحكمة الدقيقة‬
‫وانتظر عدة دقائق ستالحظ عندها أن الـ ‪leds‬‬
‫}‬
‫الموجودة علي الدائرة المكتوب بجانبها (‪)TX/RX‬‬ ‫)(‪void loop‬‬
‫بدأت في االضاءة بسرعة عالية ثم تقف قليال‬
‫‪ ,‬وهذه االضاءة تعني ان الدائرة بدأت تستقبل‬
‫{‬
‫بيانات البرنامج الذي قمنا بكتابته ‪ ,‬بعد ذلك‬ ‫;)‪digitalWrite(LED, HIGH‬‬
‫يبدأ البرنامج ويجعل الـ ‪ led‬الذي وضعناه يضئ‬ ‫;)‪delay(1000‬‬
‫ويطفئ بانتظام كل ثانية ‪.‬‬
‫;)‪digitalWrite(LED, LOW‬‬
‫;)‪delay(1000‬‬
‫}‬
‫السطر الثاني من أوامر البرنامج هو تعريف وظيفة‬ ‫شرح الكود البرمجي ‪:‬‬
‫الـ‪ PIN‬رقم ‪ 13‬والتي نرمز له بـ ‪LED‬‬
‫)( ‪Void setup‬‬ ‫;‪const int LED = 13‬‬
‫{‬ ‫يقوم هذا األمر بعمل ثابت ‪Constant‬‬
‫;)‪pinMode(LED,OUTPUT‬‬ ‫قيمته ‪ 13‬ويسمي ‪LED‬‬
‫}‬
‫سؤال لماذا كتبنا هذا‬
‫في برامج المتحكم الدقيقة يتكون‬
‫الثابت ؟؟‬
‫البرنامج من ‪ 3‬مراحل وهي كالتالي ‪:‬‬
‫المرحلة األولي ‪ :‬أن تقوم بتعريف‬ ‫نقوم بإستخدام الثوابت حتي تسهل‬
‫المتغيرات والثوابت في البرنامج الذي‬ ‫علينا تسمية المخارج والمداخل للمتحكمة‬
‫سوف نقوم بكتابته‬ ‫الدقيقة ‪ ,‬فمثال في هذا البرنامج قمنا‬
‫بتعريف هذا الثابت حتي نعبر عن المخرج‬
‫المرحلة األولي ‪ :‬ان تقوم بتعريف أي‬ ‫رقم ‪ 13‬بأن اسمه ‪ LED‬وبذلك لو أردنا‬
‫متغيرات أو ثوابت في البرنامج الذي‬ ‫أن نأمر المتحكم في اي جزي من أجزاء‬
‫سوف نقوم بكتابته‬ ‫ً‬
‫الحقا بأن تشغل الـ‪LED‬‬ ‫الكود «البرنامج»‬
‫الموجودالمخرج ‪ 13‬وأن تقم بإطفاءه لن‬
‫نحتاج عندها لذكر الرقم وانما سنذكر كلمة‬
‫‪ LED‬مباشرة وستفهم المتحكمة الدقيقة‬
‫اننا نقصد بهذا المخرج رقم ‪.13‬‬
‫المرحلة الثالثة ‪ :‬في هذه المرحلة‬ ‫المرحلة الثانية ‪ :‬تتميز المتحكمات‬
‫نقوم بكتابة البرنامج نفسه وما نريد‬ ‫الدقيقة أن جميع الـ ‪DIGITAL PINS‬‬
‫من المتحكمة أن تفعله بالظبط وفي‬ ‫يمكن أن تستخدم كمخرج أو مدخل ‪,‬‬
‫حالة البرنامج السابق ستقوم المتحكمة‬ ‫وفي هذه المرحلة نقوم بضبط اعدادت‬
‫بتشغيل الثنائي الضوئي لمدة ثانية ثم‬ ‫المخارج والمداخل وتعريف المتحكمة‬
‫ً‬
‫وتكرارا‬ ‫ً‬
‫مرارا‬ ‫تطفئه لمدة ثانية وهكذا‬ ‫أن الـ ‪ PIN‬رقم ‪ 13‬أو ‪ 12‬أو ‪ 1‬مثال سوف‬
‫) (‪void loop‬‬ ‫يستخدم كمخرج أو أن الـ‪ PIN‬رقم ‪ 5‬أو ‪6‬‬
‫{‬ ‫سيستخدمان كمدخل للبيانات وتعتبر الدالة‬
‫المتحكمة تتعامل‬
‫‪ SETUP‬هي المرحلة الثالثة ‪.‬‬
‫مع الوقت بالميلي‬
‫;)‪digitalWrite(LED, HIGH‬‬ ‫ثانية فكل ‪1000‬‬ ‫مثال ‪:‬‬
‫;)‪delay(1000‬‬
‫ميلي = ‪ 1‬ثانية‬ ‫)( ‪void setup‬‬
‫;)‪digitalWrite(LED, LOW‬‬ ‫{‬
‫;)‪delay(1000‬‬ ‫;)‪pinMode(11,OUTPUT‬‬
‫;)‪pinMode(12,OUTPUT‬‬
‫في هذا المثال استخدمنا األمر (‪digitalWrite(LED, HIGH‬‬
‫;)‪pinMode(13,OUTPUT‬‬
‫وهو المسؤول عن تطبيق جهد كهربي إما ‪5V=HIGH‬‬
‫;)‪pinMode(2,INPUT‬‬
‫أو ‪ 0V=LOW‬حيث نقوم بكتابة اسم المخرج أوال ثم الجهد‬
‫الذي نريد تطبيقه ‪.‬‬ ‫}‬
‫أما بالنسبة لألمر ‪ )1000(delay‬فهو يستخدم الخبار‬ ‫البد من وضع عالمة ;‬
‫المتحكمة كم من الوقت يجب ان تنتظر قبل تنفيذ األمر‬ ‫بعد كل أمر واذا نسيتها‬
‫التالي وبهذا يمكن أن نتحكم في الوقت الذي يجب أن‬ ‫سوف تظهر رسالة تفيد‬
‫يضيئه أو يطفئ الثنائي الضوئي ‪.‬‬ ‫بوجود خطأ‬
‫مكونات المثال ‪:‬‬
‫المثال الثاني ‪ :‬تطوير للمثال السابق ليعمل الـ‪LED‬‬
‫عند الضغط علي المفتاح‬
‫‪ -1‬دائرة اردوينو ‪.‬‬
‫‪. breadboard -2‬‬
‫‪. push Button -3‬‬
‫‪. LED-4‬‬
‫‪ -5‬مقاومة ‪. 10Kohm‬‬
‫‪ -6‬مقاومة ‪. 220ohm‬‬

‫ملحوظة ‪:‬‬
‫قم بكتابة األوامر البرمجية‬
‫بنفسك وال تنسخها من‬
‫الكتاب ‪ ،‬وذلك حتي تتدرب‬
‫علي كتابة الكود‬
‫استخدام مقاومة‬: ‫المثال الثالث‬ ‫كتابة األكواد الربمجية‬
const int buttonPin = 2;

‫متغيرة للتحكم في سرعة اضاءة‬ // the number of the pushbutton pin


const int ledPin = 13;

‫ثنائي ضوئي‬ // the number of the LED pin

// variables will change:


int buttonState = 0; // variable for reading the
pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.


// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
‫المقاومة الضوئية‬: ‫المثال الرابع‬ : ‫المكونات‬
. ‫ دائرة اردوينو‬-1
. breadboard -2
10K ‫ مقاومة متغيرة‬-3
. LED-4
. 220ohm ‫ مقاومة‬-5

const int sensorpin=A0;


const int ledpin=13;
Code
int sensorvalue;
void setup()
{

: ‫المكونات‬ }
pinMode(ledpin,OUTPUT);

void loop()
. ‫ دائرة اردوينو‬-1 {
. breadboard -2 sensorvalue=analogRead(sensorpin);
. ‫ مقاومة ضوئية‬-3 digitalWrite(ledpin,HIGH);
delay(sensorvalue);
. 220ohm ‫ مقاومة‬-5 digitalWrite(ledpin,LOW);
. 10K ‫ مقاومة ثابتة‬-6 delay(sensorvalue);
}
Code
‫ ارسال البيانات واألوامر من‬:‫الفصل الثاني‬
const int lightpin=A0;
‫أردوينو الي الحاسب والعكس‬
const int ledpin=9;
int lightlevel;
void setup()
{
pinMode(ledpin,OUTPUT);
}
void loop()
{
lightlevel=analogRead (lightpin);
lightlevel-map(lightlevel,0,900,0,255);
lightlevel=constrain(lightlevel,0,255);
analogWrite(ledpin,lightlevel);
}
: ‫المكونات‬ ‫ تشغيل ثنائي ضوئي‬: ‫المثال الخامس‬
. ‫ دائرة أردوينو‬-1 ‫عن طريق استقبال أمر من الحاسب‬
. Breadboard -2
. ‫ ثنائي ضوئي‬-3
. 220 Ohm‫ مقاومة‬-4
Code :
int ledpin=13;
int value;
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
}
void loop ()
{
value=Serial.read();
if(value=='1'){digitalWrite(ledpin,HIGH);}
else if(value=='0'){digitalWrite(ledpin,LOW);}
}
Code : ‫إلضافة ثنائي ضوئي أخر‬
int ledpin=13;
int ledpin12=1;
int value;
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(ledpin1,OUTPUT);
}
void loop ()
{
value=Serial.read();
if(value==›1›){digitalWrite(ledpin,HIGH);}
else if(value==›0›){digitalWrite(ledpin,LOW);}
if(value==›1›){digitalWrite(ledpin1,HIGH);}
else if(value==›0›){digitalWrite(ledpin1,LOW);}

}
‫بعد االنتهاء من كتابة الكود ورفعه إلي أردوينو اضغط علي‬
، ‫ ستجد شريط كتابي في أعلي الصفحة‬Serial Monitor ‫أيقونة‬
‫ لينطفئ الثنائي‬0 ‫ ليضيئ الثنائي ورقم‬1 ‫اضغط رقم‬
: ‫المكونات‬ ‫ استخدام المقاومة الضوئية‬: ‫المثال السادس‬
. ‫ دائرة أردوينو‬-1 ‫وعرض شدة االضاءة علي الحاسب اآللي‬
. Breadboard -2
. ‫ مقاومة ضوئية‬-3
const int photocellpin=A0;. 10K ‫ مقاومة‬-4
int photocellReading;
void setup(void)
{Serial.begin(9600);}
void loop(void)
Code
{
photocellReading=analogRead(photocellp
in);
Serial.print(«Analog reading=»);
Serial.print(photocellReading);
if (photocellReading<10){Serial.println(«-
Dark»);}
else if (photocellReading<200){Serial.
println(«-Dim»);}
else if (photocellReading<800){Serial.
println(«-Bright»);}
else {Serial.println(«-Very bright»);}
delay(1000);
}
‫بعد االنتهاء من كتابة الكود وفحصه ورفعه‬
‫المثال السابع‪ :‬استخدام حساس الحرارة‬ ‫علي دائرة األردوينو قم بالضغط علي أيقونة‬
‫وارسال درجة الحرارة الي الحاسب اآللي‬ ‫‪ Serial Monitor‬حاول أن تغير شدة مستوي االضاءة‬
‫الساقطة علي المقاومة الضوئية عن طريق‬
‫تعريضها لضوء ساطع‬
‫ثم تغطيها بورقة ثم بتغطيتها بيدك لتمنع عنها‬
‫الضوء تماما‬
‫ملحوظة ‪:‬‬
‫‪ Dim‬تعني اضاءة خافتة‬
‫‪ Dark‬تعني ظالم دامس‬
‫‪ Light‬تعني اضاءة معتدلة‬
‫‪ Very Light‬تعني اضاءة شديدة‬

‫المكونات ‪:‬‬
‫‪ -1‬دائرة أردوينو ‪.‬‬
‫‪. Breadboard-2‬‬
‫‪-3‬حساس حرارة ‪.TMP35‬‬
‫بعد االنتهاء من كتابة الكود البرمجي‬
‫ نقوم بالضغط‬, ‫ورفعه إلي دائرة األردوينو‬
Code
const int sensorpin=A0;
‫ الموجود في‬Serial Monitor ‫علي زر‬ int reading;
‫شريط األوامر السريعة‬ float voltage;
float temperatureC;
void setup()
{Serial.begin(9600);}
void loop()
{
reading=analogRead(sensorpin);
voltage=reading*1024/5.0;
Serial.print(voltage);
Serial.println(«volts»);
temperatureC=(voltage100*)0.5-;
Serial.print(temperatureC);
Serial.println(«degreesC»);
delay(1000);
}
‫ستظهر صفحة خاصة تستقبل البيانات‬
‫استخدمنا األمر ‪voltage & temperatureC‬‬ ‫من دائرة األردوينو وتقوم بعرض درجة‬
‫بتعريفهم بـاألمر ‪ float‬بدال من ‪ int‬ألن‬ ‫الحرارة كل ثانية ‪ ،‬كما ستالحظ أن الثنائي‬
‫حساس الحرارة يقيس بدقة عالية جدا تصل‬ ‫الضوئي الموجود علي الدائرة وبجابنه ‪TX‬‬
‫إلي ‪ 0.1‬درجة مئوية وستكون قيمة الجهد‬ ‫بدأ في اإلضاءة بسرعة ‪ ,‬وذلك يعني أن‬
‫الكهربي الناتج عنه ودرجة الحرارة بالكسور‬ ‫أردوينو بدأ يرسل البيانات إلي‬
‫العشرية وليس األعداد الصحيحة لذلك‬ ‫الحاسب‬
‫استخدمنا األمر ‪float‬‬

‫يستخدم األمر‬
‫(‪ reading=analogRead(sensorpin‬في‬
‫تسجيل قراءة الدخل علي المتغير ‪ reading‬وهي القيمة‬
‫الناتجة من ‪ sensorpin‬أال وهو المدخل ‪A0‬‬
‫المثال الثامن ‪ :‬استخدام شاشة ‪LCD‬‬

‫الفصل الثالث ‪ :‬وسائل االدخال‬


‫واالخراج المتطورة‬

‫اآلن نقوم بتوصيل‬


‫المخرج ‪ 5v‬علي‬
‫خط الموجب األحمر‬
‫والطرف ‪ GND‬علي‬
‫الخط السالب في‬
‫البريد بورد‬
‫تركيب مقاومة متغيرة للتحكم في شدة‬ ‫بعد ذلك نقوم‬
‫االضاءة‬ ‫بتوصيل المدخل‬
‫رقم ‪ 16‬في شاشة‬
‫العرض علي الخط‬
‫األرضي ونوصل‬
‫الهدف من‬ ‫المدخل رقم‬
‫تركيب المقاومة‬ ‫‪ 15‬علي الخط‬
‫المتغيرة هو‬ ‫الموجب ‪ 5v‬كما‬
‫التحكم في التيار‬ ‫في الصورة اآلتية ‪:‬‬
‫الكهربي الداخل‬
‫الي الشاشة‬
‫وبالتالي التحكم‬
‫في شدة االضاءة‬
‫الناتجة ‪.‬‬

‫قم بتوصيل احد‬ ‫قم بتوصيل‬


‫االطراف الجانبية‬ ‫اردوينو بالكمبيوتر‬
‫للمقاومة‬ ‫سوف تالحظ أن‬
‫المتغيرة بالخط‬ ‫الضوء الخلفي‬
‫الموجب والطرف‬ ‫للشاشة بدأ في‬
‫الجانبي االخر‬ ‫العمل كما في‬
‫بالطرف السالب‬ ‫الصورة التالية‬
‫ثم قم بتوصيل‬
‫الطرف األوسط‬
‫بالمدخل رقم ‪3‬‬
‫علي الشاشة‬
‫اآلن قم بتوصيل المدخل‬ ‫قم بتوصيل‬
‫المدخل رقم‬
‫رقم ‪ 5‬في شاشة العرض‬ ‫‪ 1‬علي شاشة‬
‫بالطرف السالب‬ ‫العرض بالخط‬
‫السالب والمدخل‬
‫رقم ‪ 2‬بالخط‬
‫الموجب علي‬
‫لوحة البريد بورد‬

‫اآلن قم بتوصيل‬
‫االردوينو‬
‫بالكمبيوتر‬
‫وقم بتدوير‬
‫عصا الدوران‬
‫في المقاومة‬
‫المتغيرة والحظ‬
‫ماذا سيحدث‬
‫إلضاءة خلفية‬
‫شاشة العرض ‪.‬‬
‫قم بتوصيل المدخل رقم ‪ 14‬في‬
‫شاشة العرض علي المخرج رقم‬ ‫قم بتوصيل المدخل‬
‫‪ 12‬في‬ ‫رقم ‪ 4‬في شاشة‬
‫االردوينو‬ ‫العرض‬
‫علي‬
‫المخرج‬
‫رقم ‪ 7‬في‬
‫االردوينو‬

‫بعد ذلك قم بتوصيل‬


‫الخطوة االخيرة هي توصيل المداخل‬ ‫المدخل رقم ‪ 6‬في شاشة‬
‫رقم ‪ 13 , 12 , 11‬بالمخارج رقم ‪, 10 , 9‬‬ ‫العرض علي المخرج رقم‬
‫‪ 11‬في اردوينو بنفس الترتيب كما في‬ ‫‪ 8‬في االردوينو‬
‫الصورة‬
‫سنحتاج أن نعدل السطر البرمجي التالي ‪:‬‬ ‫الشكل النهائي بعد‬
‫;)‪liquidCrystal lcd(12,11,5,4,3,2‬‬ ‫توصيل جميع االطراف‬
‫الالزمة لتشغيل الشاشة‬
‫ليصبح بالشكل التالي‬ ‫مع اردوينو‬
‫;)‪liquidCrystal lcd(7,8,9,10,11,12‬‬

‫بعد تعديل الكود وفحصه قم برفعه‬


‫علي االدروينو‬

‫الشكل النهائي للمثال‬

‫توفر بيئة أردوينو العديد‬


‫من األمثلة الجاهزة‬
‫‪File > Examples > LiquidCrystal > HelloWorld‬‬
‫تنقسم المحركات الكهربية إلي نوعين رئيسيين‬
‫هما ‪:‬‬
‫الفصل الثاني ‪ :‬استخدام المحركات‬
‫‪ -1‬محركات التيار المستمر (‪)DC- Servo - Stepper‬‬
‫‪ -2‬محركات التيار المترددد (‪. )1phase - 3 Phase‬‬

‫‪DC Motor‬‬
‫‪SERVO Motor‬‬
//Example_10_DC_Motor
int motorPin=9; : ‫مكونات المثال‬
int onTime=2500; Code ‫ اردوينو‬-1
int offTime=1000;
‫ بريد بورد‬-2
void setup()
{pinMode(motorPin,OUTPUT);} DC ‫ موتور‬-3
void loop() 2N2222 ‫ أو‬PN2222 ‫ ترانزستور‬-4
{ 2.2kOhm ‫ مقاومة‬-5
analogWrite(motorPin,100); ‫ موحد سيليكون‬-6
delay(onTime);
digitalWrite(motorPin,LOW);
delay(offTime);
analogWrite(motorPin,255);
delay(onTime);
digitalWrite(motorPin,LOW);
delay(offTime);
}
‫مكونات المثال ‪:‬‬ ‫املثال التاسع ‪ :‬استخدام حمرك سريفو‬
‫‪ -1‬اردوينو‬
‫‪ -2‬بريد بورد‬
‫‪ -3‬موتور سيرفو ‪Servo Motor‬‬

‫بعد االنتهاء من توصيل‬


‫المكونات علي لوحة البريد‬
‫بورد قم بكتابة األكواد اآلتية ثم‬
‫ارفعها علي االردوينو‬
‫ملحوظة ‪ :‬يمكنك أن تجد كود‬
‫برمجي في قائمة األمثلة الجاهزة‬
//Example_11_Servo_Motor
#include <Servo.h>
Servo myservo;
int pos=0;
void setup() Code
{
myservo.attach(9);
}
void loop()
{
for (pos=0;pos<180;pos+=1)
{
myservo.write(pos);
- 01003205529 - 01227589580 :‫لالستفسار‬ delay(15);
01111471295 }
‫ نادي المخترع الصغير‬:Facebook for(pos=180;pos>=1;pos-=1)
E-Mail: Wg_Kit@Hotmail.Com {myservo.write(pos);
Website: YoungInventorClub.WordPress. Com delay(15);
}
}

You might also like