كل يوم امر برمجي من c
ان شاء الله كل يوم رح انشر مشروع يتعلق بتعلم لغه البرمجة الخاصه بالاردوينو وهي c
كل يوم أمر برمجي
الدرس الاول
الدوال functions : هي طريقة مفيدة في بعض الأحيان لاختصار و تبسيط الكود.
فهي عبارة عن كود جانبي يتم استدعاءه لتنفيذ عمل معين وقت الحاجة ، ثم العودة للكود الرئيسي.
يتم التعرف على الدوال من القوسين اللذين يأتيان بعد اسمها … مثل:
sami();
x= hey(15);
y,z= fun(13,12,600);
أمثلة لأكواد يمكن جعلها كدوال واستدعائها من الكود الرئيسي:
تحويل درجة الحرارة من فهرنهايت إلى درجة مئوية.
تحويل الاطوال من قدم الى متر.
تشغيل LED و إطفاؤه.
المداخل و المخارج للدالة: بعض الدوال يتم استدعائها بدون إرسال أي قيمة لها . و تقوم بعمل معين . ثم تنتهي بدون أن تعود بأي قيمة منها .وهذه الدوال تكون من نوع void
مثال: دالة وميض بسرعة ثابتة أو تأخير زمني أو دالة panic لاصدار تحذير صوتي و مرئي.
لذا فمن المهم معرفة هل ستعود قيمة للدالة أم لا ، و إذا كانت ستعود قيمة ، ما هو نوع القيمة؟ int ؟ أو float وربما String … إذا كانت الدالة لن تعيد أي قيمة فيجب تعريفها بـ void
أمثلة على دوال موجودة و تم تعريفها في برمجة الأردوينو سابقاً: (غير موجودة في لغة C الأصلية)
delay(1000);
هذه الدالة لها دخل واحد (1000)وليس لها أي قيمة راجعة void
digitalWrite(13,1);
هذه الدالة لها دخلين ولا تعود منها أي قيمة void
digitalRead(3);
دالة لها دخل واحد (3) والعائد قيمة 0-1 وممكن تكون int أو boolean
analogRead(A0);
دالة لها دخل واحد والعائد يكون عدد 0-255 و تكون من نوع int أو byte
أمثلة لكود و دالة تعمل على تحويل درجة حرارة من فهرنهايت الى مئوية: مع العلم أن :
C=(F-32)*59
int F1=0; //here put the fahrenheit temp
int F2=10;
int F3=25;
void setup(){
int C1=FtoC(F1); //FtoC will convert Fahrenheit to degrees
int C2=FtoC(F2);
int C3=FtoC(F3); }
void loop(){ }
int FtoC(int x){ //FtoC is a function to convert Fahrenheit to degrees
int C = x-32*5/9;
return(C);}
مثال لعمل دالة (Blink) ترسل لها قيمتين عدد مرات الوميض و التأخير الزمني.
int LED = 13;
void setup(){
Blink(10,300);
Blink(5,1000);
Blink(2,5000);}
void Blink(int T, int D){
for ( ; T>0 ; T--){
digitalWrite(LED,HIGH);
delay(D)
digitalWrite(LED, LOW);
delay(D); } }
مثال آخر : مثل السابق ، لكن هذه المرة الدالة تستقبل 4 قيم : رقم المخرج الرقمي ، عدد الومضات ، زمن الإضاءة ، زمن الإنطفاء.
void loop(){
blink2(13,3,500,500);
blink2(12,5,300,200);
blink2(11,10,200,800); }
void blink2(int P, int T , int DON , int DOF){
for ( ; T>0 ; T--){
digitalWrite(P,HIGH);
delay(DON)
digitalWrite(P, LOW);
delay(DOF); } }
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !