استخدام Raspberry Pi مع LED و Pushbutton في Node.js
يُعتبر Raspberry Pi من أشهر الحواسيب الصغيرة التي تُستخدم في المشاريع الإلكترونية والتعليمية. من خلال استخدام Node.js، يمكننا التحكم في الأجهزة الإلكترونية مثل المصابيح (LED) والأزرار (Pushbutton) بسهولة. في هذه المقالة، سنستعرض كيفية إعداد وتنفيذ مشروع بسيط للتحكم في LED باستخدام Pushbutton على Raspberry Pi مع كتابة الكود باستخدام Node.js.
إعداد Raspberry Pi للتفاعل مع LED و Pushbutton
قبل البدء في كتابة الكود، يجب علينا التأكد من توفر الأدوات والمكونات الأساسية. نحتاج إلى Raspberry Pi، LED، مقاومة مناسبة، Pushbutton، ولوحة تجارب لتوصيل المكونات. يجب أن يكون لديك Node.js مثبتًا على Raspberry Pi. يمكنك استخدام مكتبة مثل “onoff” للتحكم في دبابيس GPIO بسهولة في Node.js.
يمكنك تثبيت المكتبة باستخدام الأمر التالي في الطرفية:
npm install onoff
بعد تثبيت المكتبة، يمكنك البدء في كتابة [شركة برمجة مصرية] الكود لتشغيل وإطفاء LED باستخدام Pushbutton. سنقوم بتوصيل LED و Pushbutton إلى دبابيس GPIO على Raspberry Pi.
كتابة الكود للتحكم في LED باستخدام Node.js
بعد إعداد جميع [شركة برمجة مصرية] المكونات، نبدأ بكتابة الكود. سنقوم بإنشاء ملف JavaScript جديد لكتابة البرنامج. فيما يلي مثال بسيط للتحكم في LED باستخدام Pushbutton:
const Gpio = require('onoff').Gpio;
const led = new Gpio(17, 'out');
const button = new Gpio(4, 'in', 'both');
button.watch((err, value) => {
if (err) {
console.error('هناك خطأ في قراءة الزر:', err);
return;
}
led.writeSync(value);
});
process.on('SIGINT', () => {
led.unexport();
button.unexport();
console.log('تم إنهاء البرنامج بنجاح');
process.exit();
});
في هذا المثال، قمنا بتوصيل LED إلى الدبوس 17 و Pushbutton إلى الدبوس 4. يتم تشغيل LED عند الضغط على الزر وإطفاؤها عند تحريره. الكود يستخدم الحدث “watch” لمراقبة تغييرات حالة الزر، ومن ثم يقوم بكتابة القيمة إلى LED لتغيير حالته.
إضافة تحسينات وتعقيدات إضافية
يمكن تحسين هذا المشروع بإضافة تعقيدات إضافية، مثل تشغيل LED لوقت محدد بعد الضغط على الزر، أو تغيير لون LED باستخدام مصابيح متعددة الألوان. يمكنك أيضًا دمج حساسات أخرى أو استخدام واجهات مستخدم للتحكم في الأجهزة عن بُعد عبر الإنترنت.
بالإضافة إلى ذلك، يمكن استخدام المكتبات مثل “socket.io” لإنشاء اتصال حي بين واجهة المستخدم و Raspberry Pi، مما يسمح بالتحكم في LED من خلال تطبيقات الويب أو الجوال.
