وا الفصل السادس : برمجة منافذ التحكم الإلكتروني بالبايثون م
التحكم الإلخترو ني بالبايثون
يشرح هذا الفصل استخدام الراسبيري في [ مخارج التحكم 0710
مشاريع التحكم الإلكتروني عن طريق ال 0710 | [ لنات البرمجة التي تدعمها الراسبيري
بحيث تتحول الراسبيري إلى بديل «تطور عن [* مقدمة عن لثة بايثون
المتحكمات الدقيقة 010116:5 1/1160 © ١ مشاريع تحكم مختلفة
6010 هي اختصار لتبارة 11110/01100116 01170058 -66118:21 (النقاط العامة التي تستخدم كدخل أو
خرج)؛ تمتلك لوحة الراسبيري 38 نقطة توصيل كهربية (1:19م) تسمى 0110 بعضها يستخدم في التحكم
الإلكتروني (0101015ه) والببض في الأستشمار (00100:) والببض في امداد الطاقة والببض مخصص
لبروتوكولات الاتصالات يبن المكونات والأجهزة الإلكترونية المختلفة
منافذ الطاقة
(1,17) نط : مخرج للطاقة بفرق جهد 3,3 فولت ويستطيع هذا المخرج توفير تيار كهربي 8#
حتى 5٠ مللى أمبير, لاحظ انه فى حالة سحب تيار اعلى من +5 مللى قد يتضر منظم الجيد ؟
ولوحة الراسبيري
(4 ,2) هنظ : مخرج (أو مدخل) للطاقة بفرق جهد ه فولت يتصل هذا المخرج بمنفذ ال 12 11
8 على اللوحة والمسؤل عن توفير الطاقة وستطيع توفير تيار كهربي على حسب 16 ب
الشاحن الكهربى المتصل بال1410:01158 ويمكن استخدامه كمدخل للطاقة عن طريق 18 7
توصيل بطارية بفرق جهد 5 فولت لتشئيل
(20,25 ,14 ,9 ,6) تنظ : نقاط التوصيل بالأرضي (0110) 0:001101
منافذ التحكم
(26 ,24 ,23 ,22 ,21 ,19 ,18 ,16 ,15 ,13 ,12 ,11 ,10 ,8 ,7 ,5 ,3) هذظ : تمتلك الراسبيري ١7 منفذ
خاص؛ هذه المنافذ يمكن استخدمها في التحكم الإلكتروني إما على صورة 0010006 أو 100111 ويتم ضبط
وضع تشغيلها عن طريق البرمجة كما سنرى في الفصول القادمة
بروتوكلات الاتصالات
بروتوكول الأتصالات هي مجموعة من التقنيات التي توصل الأجهزة و المكونات الإلكترونية مع بيضها
الببض لتتبادل البيانات؛ في حياتنا اليومية نستخدم عشرات بروتوكولات الاتصالات فمثلاع 80211 هو
اسم أشهر بروتوكول اتصال لاسلكي لتقنية ال :1771 والذي نستخدمة في الاتصال بالشبكات اللاسلكية
وبروتوكول 101/17 المستخدم في تنظيم عناوين الشبكات والإنترنت
تدعم الراسبيري © بروتوكولات للاتصالات مخصصة للقطع الإلكترونية وهي 117:6 فنا 571 ,120
والتي تمكننا من الاتصال بالعديد من المكونات الإلكترونية وزيادة قدرة الراسبيري باي على التحكم في
عشرات وحتى مئات الأجهزة الإلكترونية باستخدام هذه البروتوكولات والتي سنرى مدى أهيمتها
بالتفصيل في فصل "التحكم المتقدم "
تعمل هذه البروتوكولات على نفس منافذ ال 0110 حيث يتم ضبط المنفذ على العمل اما كى نا( أو
ار أو 01001 011111110108110 وذلك من خلال التلاعب باعدادات هذه المنافذ في نظام
التشثيل ليتكس وباستخدام لغات البرمجة مثل بايثون أوالسي
لات البرمجة التي تدعمها الراسبيري
تعمل الراسبيري بنظام لينكس والذي بسي انها تمتلك الدعم الكامل لمنظم لغات البرمجة التي يدعمها
استخدامها فى عمل أي نوع من التطبيقات سواء تطبيقات سطح المكتب أو سيرفرات أو حتى تطبيقات
للتحكم في المنافذ الإلكترونية 0110 حيث سنجد مكتبات برمجية يمكن اضافتها لأي من هذه اللنات
للتحول إلى أداة للتحكم فى ال 0010 بسهولة ويسر؛ فى هذا الكتاب سيكون التركيز الأكبر على لغة
البايثون :1710110 مع وضع مقدمة عن لغة :50:81 ولنة 0 باستخدام مكتبة :1771:1081 و الى تجبل
ما هي اللنة الأفضل للتحكم في ال 16010
تدعم العديد من المكتبات كما سنرى في الفصول القادمة؛ اما لغة السي © فتقدم سرعة فائقة في التحكم
في ال 0810 حتى أنه يمكنك ان تولد إشارات (ذبذبات) إلكترونية من مخارج الراسبيري بسرعة تصل
إلى 780 ميجا هرتز ( 250,000,000 نبضة في الثانية الواحدة)
يبنما نجد لغة سكراتش سهلة جداً لدرجة أن طفل صغير يستطيع أن يبني بها أنظمة روبوتات متطورة
بسهولة ويسر ودون كتابة ا كواد برمجية معقدة حيث تعتمد هذه اللنة على الرسومات (والتي تتحول فيما
على أي حال سيرتكز الكتاب على لغة بايثون باعتبارها الأشهر وصاحبة التطييقات الأكثر على الراسبيري
باي؛ وفى النهاية حرية الاختيار راجمة إليك
مقدمة عن لعة بايثون
0000 رج خلت كلمة البايثون "الأصلة" تعبر عن ثبان ضخم يعيش في انهار الأمازون
شهره جديدة بين المبرمجين فأصبحت كلمة البايثون تعبر عن أشهر لغات البرمجة مفتوحة المصدر في
العالم والتي تعتبر من لغات المستوى العالي وقتميز ببساطة كتابتها وقراءتها مقارنة بباقي اللغات
تعتبر لئة بايثون لغة تضيرية؛ «تعددة الأغراض وتستخدم بشكل واسع في العديد من | لمجالات: كبناء
البراهج المستقلة باستخدام الواجهات الرسومية 0111 وفي عمل برامج الويب, بالإضافة إلى استخدامها
كلنة برمجة نصية للتحكم في أداء بعض من أشهر البرامج المعروفة أو في بناء برامج ملحت لها؛ كما تدعم
كما تدعم برمجة منافذ التحكم 01310 في لوحة الراسبيري باي
بشكل عام يمكن استخدام بايثون لبرمجة البرامج البسيطة للمبتدئين؛ ولإنجاز المشاريع الضخمة كأي لئة
برمجية أخرى في نفس الوقت غالباً ما يُنصح المبتدئين في ميدان البرمجة بتعلم هذه اللغة لسهولتها
و مؤسسة الفضاء الدولى "ناسا/17/25"
غالباً ما تحصل هذه اللغة على الترقيب الرابع أو الخامس في قائمة أشهر لئات البرمجة في الالم (قبناً
لأحصائيات موقع 01111178 الشهير لمشاركة الأكواد البرمجية)؛ نشأت بايثون في مركز 01771 مركز العلوم
(ومشتقاته) - أنظمة الهواتف ١ لمحمولة مثل معتطستدرة و 0ندعتحنظ
© وجود أغلب المكتبات الإضافية معها فقسطيع في بايثون إيجاد مكتبة لكل شيء وأغلب هذه
المكتبات تأتي مرفقة مع اللغة؛ لكن هناك قليل من المكتبات التي تحتاج الى تحميلها من مصادر
خارجية ومن الأمثلة على هذه المكتبات: البلوقوث؛ منافذ التحكم الإلكتروني؛ واجهات الويب؛
التعامل مع الشبكة و الإنترنت؛ برمجة الحواسيب الفائقة؛ تطبيقات سطح المكتب؛ مكتبات
لتصميم الألعاب ثنائية وثلاثية الأبعاد إلخ
التكامل مع )++ و1878
تعمل ضمن بيئة تفاعلية أوعبر سكربقات (ملفات) مكتوبة
التعامل مع قواعد الببانات التالية
في هذا الكتاب سيرتكز الشرح على قدرة البايثون على التعامل مع منافذ التحكم الإلكتروني 061710
وبعض تطبيقات الإنترنت؛ والدليل على قوة هذه اللغة كلئة لبرمجة التحكم الإلكتروني أنه إذا ما بحثت
في الإنترنت عن المشاريع الإلكترونية والبرمجية المتعلقة بالراسبيري فغالباً ستجد هذه المشاريع مكتوبة
بلغة البايثون لذلك سأركز على شرح أكبر عدد من الأمثلة والمشاريع باستخدام هذه اللغة الرائعة
تأني البايثون مدمجة في معظم أنظمة لينكس سواء لأجهزة الحاسب الآلي أو على لوحة الراسبيري باي
سنستخدم في هذا الكتاب الإصدارة رقم 3,1 من البايثون مع العلم ان الاصدارة الثالثة قد صدرت بالفغل ؛
وسبب اختياري للإصدارة الثانية هي احتوائها على العديد من المكتبات البرمجية التي لم تنقل ببد
للإصدارة الثالثة؛ على أي حال تتوفر مكتبة التحكم في ال0110 لكل من الإصدارتين الثانية و الثالثة ولن
تجد اختلافات جذرية في الأكواد وطريقة الكتابة يبن كلتا الإصدارتين في «شاريع التحكم
مفسر بايثون التفاعلي
تتماز لغة بايثون بإمكانية عمل برامج عن طريق كتابتها في ملف (سكربت) أو تشغيلها مباشرة ومشاهده
النتائج فور كتابتها عن طريق مف بايثون التفاعلي والذي يمكنك تشغيله من سطر الأوامر مباشرة عبر كتابة
10م أو يمكنك تشئيله بالضغط مرتين على أبقونة 1017 على سطح المكتب ليظهر 51:81 111010ئر5 كما
في الصورة التالية:
شخصياً أفضل التعامل مع مفسر البايثون من سطر الأوا مر
سنكتب أول برنامج لعرض جملة "مرحباً أيها العالم" 1770110 11610 وذلك عن طريق كتابة الأمر 01لا ثم
الجملة المراد عرضها مثل الصورة التالية:
سنجد أن مفسر بايثون التفاعلي قد اظهر النتيجة فوراً بمجرد الضغط على زر 5015
اكتب 1+1 ثم اضئغط 1116
اكتب 2*2-1 (ضرب ؟ في ؟ ثم طرح )١
تتريف ل لمتثير ات
لتدريف أي متغير رقمي في لغة البايثون كل ما عليت فعلة هو كتابة اسم (المتغير - قيمته) ولعرض قيمة
المتغير نكتب ]01110 ثم اسم المتغير
لتغير المتثيرات النصية (كلمة أو جملة) نتكتب اسم المتثير ثم - "الكلام الذي يحتوبه المتغير" - لاتنسى
حفظ البرنامج في سكربت
في الأمثلة السابقة استخدمنا البايثون في تنفيذ الأوامر مباشرة عبر المفسر التفاعلي؛ لكن بالتأكيد عندما
نبني بشاريع حقيقة ضتحتاج لكتابة برامج ثابتة لا تضيع منا بمجرد غلق المضر و لتعل هذا يمكننا
استخدام أي محور نصوص وكتابة نفس الأوامر السابقة و حفظها على صورة سكربت (ملف نصي) بانتداد
برنامج لجمع رقمين
افتح برنامج 1,8810801 من قائمة 2005501188 ؛ ثم اكتب النص و احفظ الملف باسم 5111307 داخل
المجلد 1011786/01]/
رات : لاه بل لد لا
تل ملعتل لاس
ممص وات ٠١
سدم
لتشثيل البرنامج افتح سطر الأوامر واكتب
قبل الشروع في استخدام بايثون للتحكم بال0710 سنقوم بتنصيب مكتبة التحكم الإلكتروني 010ع1101