البرمجة

برمجة راسبيري باي للمبتدئين

مقدّمة: راسبيري باي بوّابة الابتكار المنزلي

منذ إطلاق اللوحة الأولى سنة 2012 تحوّلت راسبيري باي إلى أيقونة في عالم التعليم التقني وصناعة النماذج السريعة. يجتمع في هذه الشريحة البلاستيكية‑المعدنية الصغيرة معالج قوي، منافذ إدخال / إخراج متعددة، دعم شبكي مدمج، وأهمّ من ذلك: مجتمع عالمي يرفدها بكمٍ هائل من المصادر المفتوحة. يتيح هذا المزيج بناء مشاريع إلكترونية تبدأ من ألعاب الورشة المدرسية البسيطة وتصل إلى أنظمة إنترنت الأشياء الصناعية المصغّرة. يركز هذا المقال على توصيل راسبيري باي بعناصر إلكترونية شائعة وبرمجتها بلغتين مرتكزتين إلى التعليم: سكراتش و بايثون؛ مع تناول مفصّل للأساسيات الكهربائية، بيئات التطوير، أمثلة تطبيقية، وممارسات الأمان.


1. المكوّنات المادّية لراسبيري باي وواجهات الاتصال

1‑1 منفذ ‎GPIO‎: القلب النابض للمشاريع

1‑2 بروتوكولات الاتصال المضمّنة

البروتوكول عدد الخطوط الغرض سرعة نموذجية حالات الاستخدام
UART ‎ TX,RX تواصل تسلسلي غير متزامن حتى 115 kbps وحدات GPS، وحدات بلوتوث، التصحيح التسلسلي
I²C SDA,SCL حافلة عنونة متعددة الأجهزة حتى 1 Mbps حساسات الحرارة BME280، شاشات OLED
SPI MOSI,MISO,SCLK,CE تزامن عالي السرعة حتى 125 MHz داخليًا محوّلات DAC/ADC، شاشات TFT
PWM أي GPIO بدعم ALT توليد نبضات مجسّمة حتى 41.6 kHz قيادة محركات Servo، تعديل إضاءة LED

2. تجهيز البيئة البرمجية

2‑1 تثبيت نظام ‎Raspberry Pi OS‎

  1. تنزيل صورة النظام من الموقع الرسمي.

  2. نسخها إلى بطاقة micro‑SD عبر أداة Raspberry Pi Imager.

  3. ضبط الشبكة واللغة عبر ملف ‎userconf.txt‎ أو واجهة first‑boot.

2‑2 تحديث الحزم الأساسية

bash
sudo apt update && sudo apt full-upgrade -y sudo apt install python3-pip python3-gpiozero scratch scratch2

2‑3 تمكين واجهة ‎GPIO‎ في سكراتش

يفعّل الامتداد «GPIO Server» تلقائيًا في Scratch 3 (أو إضافة GPIO في Scratch 2). يفتح المنفذ 0.0.0.0:42001 ليستقبل أوامر ‎TCP‎، ما يتيح للكتل البرمجية قراءة الدبابيس وكتابتها بلا أسطر كود نصّي.


3. برمجة التفاعل باستخدام سكراتش

3‑1 مشروع مصباح ليد تفاعلي

  1. توصيل ‎LED‎ بمقاومة 330 Ω على ‎GPIO17‎ والأرضي.

  2. في سكراتش:

    • استيراد امتداد ‎“Raspberry Pi GPIO”‎.

    • إنشاء كتل:

      • عند النقر على العلم الأخضر → «ضبط ‎GPIO17‎ إلى‎ output».

      • عند الضغط على مفتاح المسافة → «تبديل حالة ‎GPIO17».

  3. تشغيل المشروع؛ كل ضغطة مفتاح تبدّل إضاءة المصباح.

3‑2 تسجيل درجة الحرارة على شاشة

  • حسّاس ‎DS18B20‎ يعمل بخط 1‑Wire على ‎GPIO4‎.

  • كتل سكراتش تستدعي قيمة الحساس عبر متغير ‎temperature‎ يُحدَّث كل ثانية، ثم تُظهِر القيمة على خلفيات مختلفة تمثل الطقس (شمس، غيوم، ثلج).


4. بايثون: السيطرة الدقيقة وإنترنت الأشياء

4‑1 مكتبة GPIO Zero مقابل RPi.GPIO

خاصيّة GPIO Zero RPi.GPIO
أسلوب البرمجة كائني عالي التجريد منخفض المستوى
دعم PWM مدمج يتطلب تهيئة يدويّة
توافق الأجهزة يدعم لوحات إضافية (Sense HAT, PiCamera) يركّز على ‎GPIO‎ فقط
مثال تشغيل ‎LED‎ LED(17).blink() GPIO.output(17,True)

4‑2 مثال تطبيقي: محطة طقس مصغّرة

python
from gpiozero import DigitalInputDevice, LED from w1thermsensor import W1ThermSensor from time import sleep import paho.mqtt.publish as publish led = LED(17) rain = DigitalInputDevice(27) # مستشعر مطر يعمل كمفتاح temp = W1ThermSensor() MQTT_BROKER = "broker.hivemq.com" TOPIC = "home/pi/weather" while True: t = temp.get_temperature() r = not rain.value # 1 = جاف payload = f"{t:.1f},{r}" publish.single(TOPIC, payload, hostname=MQTT_BROKER) led.blink(on_time=0.2, off_time=4) if r else led.on() sleep(5)

تحليل: يقرأ البرنامج درجة الحرارة، ويتحقق من هطول المطر كل خمس ثوانٍ، وينشر البيانات عبر MQTT لتطبيق هاتف ذكي.

4‑3 واجهات ويب تفاعلية عبر ‎Flask‎

يستطيع بايثون تحويل راسبيري باي إلى خادم مصغّر يعرض صفحة HTML تُحدث حالة محركات أو أضواء في الوقت الحقيقي. مثالًا، يُنشأ مسار ‎/api/status‎ يُرجع JSON بقيم الدبابيس، ومسار ‎/control//‎ يبدّل الدبوس المطلوب.


5. الاعتبارات الكهربائية والأمان

  1. حماية الجهد: استخدم مقسمات جهد أو محوّلات مستوى عند ربط أجهزة 5 V‎ بخطوط ‎GPIO 3.3 V‎.

  2. التيار العابر: الصمامات الثنائية السريعة لحماية المنافذ عند قيادة الأحمال الاستقرائية (مراوح، مرحلات).

  3. التهوية: المشروعات الطويلة ذات استهلاك المعالج العالي تحتاج مشتّت حرارة ومروحة صغيرة لتجنّب اختناق الأداء.

  4. العزلة: المرحلات SSR أو المقاييس البصرية ‎(optocouplers)‎ إلزامية عند التحكّم بتيار AC منزلي.

  5. النسخ الاحتياطي: برامج مراقبة جهد البطارية تضمن إيقافًا آمنًا عند انقطاع الكهرباء للحفاظ على سلامة بطاقة SD.


6. أمثلة مشاريع متقدّمة

6‑1 روبوت تتبّع الخط

  • محركا دفع DC عبر درايفر ‎L298N‎ على قنوات PWM.

  • مستشعر خط ثلاثي ‎TCRT5000‎ يوصّل ببروتوكول ADC MCP3008.

  • خوارزمية «PID» في بايثون تصحّح المسار، فيما واجهة سكراتش تُظهر خريطة آنية.

6‑2 نظام ريّ ذكي للحدائق

المكوّن الوصف دبوس ملاحظة
مستشعر رطوبة تربة ‎YL‑69‎ يوفّر جهدًا تماثليًا يعكس نسبة الماء ADC CH0 معايرة فيزيائية ضرورية
مضخة 5 V‎ تُدار عبر ترانزستور N‑MOSFET GPIO18 PWM تيار > 300 mA
مستشعر أمطار ‎MH‑Rain‎ مفتاح رقمي GPIO23 يوقف الريَّ تلقائيًّا

كود بايثون يجمع القراءات، يقرر التشغيل وفق عتبة قابلة للتغيير من لوحة تحكم على الهاتف (واجهة Flask + Bootstrap).

6‑3 منصة بث وسائط مع أوامر صوتية

  • يلتقط Mic USB الأوامر؛ مكتبة ‎speech_recognition‎ تحوّلها إلى نص.

  • يستدعي البرنامج omxplayer لتشغيل المقاطع من قرص NAS.

  • يمكن للمستخدم إضافة عبارات جديدة عبر سكراتش بإرسال رسائل broadcast إلى سكريبت بايثون عبر سوكت UDP.


7. تحسين محركات البحث لمشاريع راسبيري باي

  1. الكلمات المفتاحية الطويلة: استخدم عبارات مثل «برمجة راسبيري باي بسكراتش للمبتدئين» في العناوين H2 لتستهدف بحث المبتدئ العربي.

  2. الروابط الداخلية: صِل المقال بدروس لحام مكونات SMD، أو مقالات سابقة عن إنترنت الأشياء لرفع زمن المكوث.

  3. البيانات المنظمة: أضف شيفرة JSON‑LD من نوع ‎HowTo‎ تعرض خطوات تركيب LED.

  4. الصور الموصوفة: سمِّ كل ملف بصيغة ‎raspberry-pi-gpio-setup.jpg‎ واستخدم خصيصة alt غنية بالشرح لتحسين الظهور في «صور Google».


خاتمة

يُمكن اعتبار راسبيري باي مختبرًا مصغّرًا يضع بين يديك إمكانياتٍ كانت قبل عقدين حكرًا على مراكز البحث الصناعي. بفضل توافقه مع سكراتش أضحى جسـرًا مثاليًا لطلاب المدارس، وبمكتبات بايثون صار خيارًا محترفًا لمن يسعى إلى بناء أنظمة IoT أو روبوتات مُعتمدة ميدانيًا. ولا يكتمل النجاح دون الالتزام بقواعد السلامة الكهربائية، كتابة كود مُنظَّم قابل للتوسّع، وتحرّي مستجدّات المجتمع المفتوح لضمان استدامة أي مشروع.


المصادر

  1. Raspberry Pi Documentation — GPIO, Scratch & Python Guides.

  2. Monk, S. Programming the Raspberry Pi: Getting Started with Python, 3rd Ed., McGraw‑Hill, 2021.