مقدّمة: راسبيري باي بوّابة الابتكار المنزلي
منذ إطلاق اللوحة الأولى سنة 2012 تحوّلت راسبيري باي إلى أيقونة في عالم التعليم التقني وصناعة النماذج السريعة. يجتمع في هذه الشريحة البلاستيكية‑المعدنية الصغيرة معالج قوي، منافذ إدخال / إخراج متعددة، دعم شبكي مدمج، وأهمّ من ذلك: مجتمع عالمي يرفدها بكمٍ هائل من المصادر المفتوحة. يتيح هذا المزيج بناء مشاريع إلكترونية تبدأ من ألعاب الورشة المدرسية البسيطة وتصل إلى أنظمة إنترنت الأشياء الصناعية المصغّرة. يركز هذا المقال على توصيل راسبيري باي بعناصر إلكترونية شائعة وبرمجتها بلغتين مرتكزتين إلى التعليم: سكراتش و بايثون؛ مع تناول مفصّل للأساسيات الكهربائية، بيئات التطوير، أمثلة تطبيقية، وممارسات الأمان.
1. المكوّنات المادّية لراسبيري باي وواجهات الاتصال
1‑1 منفذ GPIO: القلب النابض للمشاريع
-
يتكوّن من 40 دبابيس مرتّبة في صفّين (منذ الإصدار +B).
-
يوفّر خطوط جهد 3.3 V، 5 V، أرضي GND، إضافة إلى 26 دبوسًا عامّة يمكن برمجتها كمدخل أو مخرج رقمي، وبعضها يدعم بروتوكولات خاصّة (UART / I²C / SPI / PWM).
-
أقصى تيار لكل دبوس ≈ 16 mA وأقصى تيار إجمالي ≈ 50 mA: يجب استخدام مقاومات سلسلية أو ترانزستورات عند تشغيل أحمال أعلى.
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
-
تنزيل صورة النظام من الموقع الرسمي.
-
نسخها إلى بطاقة micro‑SD عبر أداة Raspberry Pi Imager.
-
ضبط الشبكة واللغة عبر ملف
userconf.txt أو واجهة first‑boot.
2‑2 تحديث الحزم الأساسية
bashsudo 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 مشروع مصباح ليد تفاعلي
-
توصيل LED بمقاومة 330 Ω على GPIO17 والأرضي.
-
في سكراتش:
-
استيراد امتداد “Raspberry Pi GPIO”.
-
إنشاء كتل:
-
عند النقر على العلم الأخضر → «ضبط GPIO17 إلى output».
-
عند الضغط على مفتاح المسافة → «تبديل حالة GPIO17».
-
-
-
تشغيل المشروع؛ كل ضغطة مفتاح تبدّل إضاءة المصباح.
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 مثال تطبيقي: محطة طقس مصغّرة
pythonfrom 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. الاعتبارات الكهربائية والأمان
-
حماية الجهد: استخدم مقسمات جهد أو محوّلات مستوى عند ربط أجهزة 5 V بخطوط GPIO 3.3 V.
-
التيار العابر: الصمامات الثنائية السريعة لحماية المنافذ عند قيادة الأحمال الاستقرائية (مراوح، مرحلات).
-
التهوية: المشروعات الطويلة ذات استهلاك المعالج العالي تحتاج مشتّت حرارة ومروحة صغيرة لتجنّب اختناق الأداء.
-
العزلة: المرحلات SSR أو المقاييس البصرية (optocouplers) إلزامية عند التحكّم بتيار AC منزلي.
-
النسخ الاحتياطي: برامج مراقبة جهد البطارية تضمن إيقافًا آمنًا عند انقطاع الكهرباء للحفاظ على سلامة بطاقة 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. تحسين محركات البحث لمشاريع راسبيري باي
-
الكلمات المفتاحية الطويلة: استخدم عبارات مثل «برمجة راسبيري باي بسكراتش للمبتدئين» في العناوين H2 لتستهدف بحث المبتدئ العربي.
-
الروابط الداخلية: صِل المقال بدروس لحام مكونات SMD، أو مقالات سابقة عن إنترنت الأشياء لرفع زمن المكوث.
-
البيانات المنظمة: أضف شيفرة JSON‑LD من نوع
HowTo تعرض خطوات تركيب LED. -
الصور الموصوفة: سمِّ كل ملف بصيغة
raspberry-pi-gpio-setup.jpg واستخدم خصيصة alt غنية بالشرح لتحسين الظهور في «صور Google».
خاتمة
يُمكن اعتبار راسبيري باي مختبرًا مصغّرًا يضع بين يديك إمكانياتٍ كانت قبل عقدين حكرًا على مراكز البحث الصناعي. بفضل توافقه مع سكراتش أضحى جسـرًا مثاليًا لطلاب المدارس، وبمكتبات بايثون صار خيارًا محترفًا لمن يسعى إلى بناء أنظمة IoT أو روبوتات مُعتمدة ميدانيًا. ولا يكتمل النجاح دون الالتزام بقواعد السلامة الكهربائية، كتابة كود مُنظَّم قابل للتوسّع، وتحرّي مستجدّات المجتمع المفتوح لضمان استدامة أي مشروع.
المصادر
-
Raspberry Pi Documentation — GPIO, Scratch & Python Guides.
-
Monk, S. Programming the Raspberry Pi: Getting Started with Python, 3rd Ed., McGraw‑Hill, 2021.

