الموضوع الثالث : المتغيرات :
بعد ان قمنا بتجهيز مختبر العمل الخاص بنا وقمنا بتنفيذ ورح اول كود لنا والذى يسمى الوميض
سنأخذ اليوم العديد من الأكواد ومواضيع مختلفة فى شرح المتغيرات
فى البداية يجب علينا شرح كيف تعمل الأردوينو فى تخزين البيانات والكود بطريقة بسيطةالكمبيوتر بتحويل الكود من لغة يفهمها البشر الى لغة الاله
(مجموعةمن أصفار و ووحايد) ويقوم بإرسالها الى وحدةSerial inوتقوم هذه الوحدة بتنظيم الكود والبيانات وإرسالها الى المتحكم
الدقيق
داخل المتحكم الدقيقة يوجد شئ يسمى (SRam)داخل الرام يوجد جزئين :
هو الجزء رقم (1) ويعتبر الأكبر حجما وهو السئول عن تخزين الكود:Flash
هو الجزء رقم (2) ويتعبر هذا الجزء مسئول عن تخزين البيانات والمتغيرات:Data
فبهذه الطريقة يمكن للأردوينو تخزين الكود والمتغيرات داخل ذاكرتها الداخلية
فلقد قمنا بشرح هذا الجزء لكى تعرفوا ما هى المتغيرات
فالمتغيرات : هى عبارة انك تقوم بحجز مكان داخل الرام
الخاصة بالأردوينو وتقوم بتسمية هذا المكان عن طريق اسم
المتغير مع تحديد قيمته وحجمه بحيث يمكن الرجوع اليه
بسهولة عن طريق كتابة اسمه مما يسهل علينا التعديل على
الكود ويسهل علينا كتابة الكود
انواع البيانات :
تنقسم البيانات الى عدة انواع ( انظمة العد)
الدقيق
داخل المتحكم الدقيقة يوجد شئ يسمى (SRam)داخل الرام يوجد جزئين :
هو الجزء رقم (1) ويعتبر الأكبر حجما وهو السئول عن تخزين الكود:Flash
هو الجزء رقم (2) ويتعبر هذا الجزء مسئول عن تخزين البيانات والمتغيرات:Data
فبهذه الطريقة يمكن للأردوينو تخزين الكود والمتغيرات داخل ذاكرتها الداخلية
فلقد قمنا بشرح هذا الجزء لكى تعرفوا ما هى المتغيرات
فالمتغيرات : هى عبارة انك تقوم بحجز مكان داخل الرام
الخاصة بالأردوينو وتقوم بتسمية هذا المكان عن طريق اسم
المتغير مع تحديد قيمته وحجمه بحيث يمكن الرجوع اليه
بسهولة عن طريق كتابة اسمه مما يسهل علينا التعديل على
الكود ويسهل علينا كتابة الكود
انواع البيانات :
تنقسم البيانات الى عدة انواع ( انظمة العد)
نظام العد الثنائى :وهى طريق العد عن طريق (صفر – واحد) فهذه اللغة التى يفهمها الحاسوب ويتعامل معها
نظام العد العشرى :وهو نظام العد العشرى الذى يفهمه البشر من 0الى 9
نظام العد الثمانى حيث يحتوى على ثمان قيم فقط من 1الى 8
نظام العد السداسى عشر : هو نظام عد مكون من 16قيمة تمتد من 0الى 9ثم من Aالى Fحيث :A=10
B=11
C=12
D=13
E=14
F=15وسنقوم بعرض مثال رقم 64بالأنظمة العددية
نظام العد الثنائى
نظام العد العشرى
نظام العد السداسى عشر
وحدة تخزين البيانات :
تعتبر وحدة تخزين بيانات عبارة عن مقاييس لتقدير كمية
البيانات حيث
يوجد ( بت – بايت – كيلو بايت – ميغا بايت – جيجا بايت)
حيث :8بت = 1بايت1023بايت = 1كيلو بايت1023كيلو بايت = 1ميغا بايت1023ميغا بايت = 1جيجا بايت
انواع المتغيرات :
تنقسم البيانات الى ثلاثة انواع ( رقم – نص – حالة )
void setup(){
int x =200;
}
void loop(){
x=x+1;
}
تعتبر وحدة تخزين بيانات عبارة عن مقاييس لتقدير كمية
البيانات حيث
يوجد ( بت – بايت – كيلو بايت – ميغا بايت – جيجا بايت)
حيث :8بت = 1بايت1023بايت = 1كيلو بايت1023كيلو بايت = 1ميغا بايت1023ميغا بايت = 1جيجا بايت
انواع المتغيرات :
تنقسم البيانات الى ثلاثة انواع ( رقم – نص – حالة )
وهى اضافة رقم الى الذاكرة الخاصة : number
بالأردوينو والأرقام تنقسم الى عدة انواع
وهى اضافة رقم صحيح بدون كسر : a.Integer
عشرى الى الذاكرة ويتم استخدام امر
;int __1 = __2
حيث هذا الأمر خو المسئول عن إضافة رقم صحيح
داخل الرام ففى الخانة الأولى نضع إسم المتغير
وفى الخانة الثانية نضع قيمة المتغير
ملحوظة يقبل هذا الأمر كقيمة قصوى 32,767
وقكيمة ادنى 32,768-
وهى اضافة رقم عشرى الى الذاكرة : b.Float
حيث يمكننا اضافة رقم عشرى الى ذاكرة الأردوينو
عن طريق استخدام امر
;float __1 = __2
حيث القيمة الأولى هى اسم المتغير والقيمة الثانية
هى قيمة المتغير
وهى اضافة نص الى ذاكرة الأدروينو : String
لكى نضيف نص الى ذاكرة الأردوينو عن طريق امر
;"String __1 = "___2
ففى الخانة الأول نضع اسم المتغير وى القيمة الثانية نضع
قيمة المتغير
فى حالة النص يجب وضع النص بين علامتين تنصيص ("نصك")
وهى قيمة متغير تكون حالتان فقط صفر او :.Status
واحد ويمكن اضافة متغير عن طريق
;1/bool __1 = 0
ففى الخانة الأولى نضع اسم المتغير و نضع فى قيمة المتغير صفر او واحد
لكى نستخدم انظمة العد الرقمية مع الأردوينو يجب وضع
Binary system : 0b________1
الى انك تقوم بتنبيه الأردوينو بأنك ستقوم بتخزين قيمة ثنائية حيث يرمز رمز (0b)
Octal system : 0________1
حيث لكتابة قمية النظام الثمانى يجب وضع صفر فى بداية يجب ان يكون العدد بين0و9
Hexadecimal system : 0x________1
حيث لكتابة رقم بالصيغة السداسية عشر يجب وضع(0x)
ويوجد نوع متغير اخر يسمى
;byte __1 = __2
ففى هذا الأمر نقوم بتخزين قيمة 8بت فقط ففى القيمة الأول نضع اسم المتغير وفى القيمة الثانية نضع قيمة المتغير
فمثلا عند كتابة امر
;byte = 0b10111001
تخزن هذه القيمة فى 8بت فى ذاكرة الأردوينو بهذه الطريقة
ويوجد متغير يسمى
يتسع هذا المتغير من 2مليار الى سالب 2مليار
ويوجد متغير يسمى
;long ___1 = ___2
القيمة الأول نضع فيها اسم المتغير
القيمة الثانية فيها قيمة المتغيريتسع هذا المتغير من 2مليار الى سالب 2مليار
int x = 10;
float y = 5.134;
long g = 8900013;
unsigned long c = 4122241;
byte z = 0b11011010;
int t = 0XA15;
int b = 0574;
void setup() {}
void loop() {}
float y = 5.134;
long g = 8900013;
unsigned long c = 4122241;
byte z = 0b11011010;
int t = 0XA15;
int b = 0574;
void setup() {}
void loop() {}
فى المثال الأعلى مثال لكل أنواع المتغيرات التى قمنا بشرحها اليوم
:الإضافات للمتغيرات
هناك إضافتان شهيرتان للأردوينو
1-constعند وضع هذه التعليمة قبل المتغير نجعل الأردوينو هذا
المتغير غير قابل للتعديل ابدا عن طريق البرنامج
2-staticعند وضع هذه التعليمة قبل المتغير نجعل الأدردوينو يعرف
المتغير مره واحدة
3-unsignedعند وضع هذه التعليمة نقوم بإزالة القيمة السالبة من المتغير
فمثال عند وضع
unsigned long __1 = __2;تكون القيمة الأدنى للمتغير صفر
والقيمة الأقصى 4مليار
int x = 10;
float y = 5.134 ;
long g = 8900013;
unsigned long c = 4122241;
byte z = 0b11011010;
int t = 0XA15;
int b = 0574;
void setup() {}
void loop() {}
: أنواع المتغيرات
(Global - private)يوجد للمتغيرات نوعين
1- global :هو تعريف متغير فى ذاكرة الأردوينو فى اعلى الكود بحيث يمكن استخدامه فى كل
الكود
x كما نلاحظ قمت بتعريف متغير
مما يجعل يمكن استخدامه فى كل الكود
int x =200;
void setup(){}
void loop(){
x = x+1;
}
private :
x ففى هذا الكود قمت بتعريف متغير
void setup() داخل
void setup() مما يجعل هذا المتغير لا يمكن استخدامه الا داخل
فإذا قمنا بتشغيل الكود سيظهر خطأ بان
x البرنامج لا يعرف ما هى
int x =200;
}
void loop(){
x=x+1;
}
فهكذا هو مبدأ المتغيرات العامة والخاصة
مشروع الموضوع
قوموا بعمل وميض لأكثر من ليد مع تعريف فترة التأخير فى
المتغيرات
ففى هذا اليوم تعرفنا على كيفية عمل الأردوينو فى تخزين
الكود والمتغيرات وعرفنا ما هى المتغيرات وما هى انواعها
وانظمة العد والتعليمات الأساسية للبيانات
الحمد لله رب العالمين
لا يوجد تعليقات
أضف تعليق