مشروع لمساعدة المعاقين حركيا في تشغيل أجهزة المنزل اكتب تعليقُا

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

شرح فكرة المشروع

  • في هذا المشروع، سنقوم بتصميم نموذج بسيط لمساعدة المعاقين حركيا في تشغيل أجهزة المنزل، نظرا لصعوبة تحركهم بمرونة من مكان إلى اخر.
  • بعض الأشخاص ذوو الإعاقة الحركية قد يواجهون تحديات كبيرة في تشغيل الأجهزة المنزلية بسبب القيود الجسدية التي قد تعيق قدرتهم على الوصول إلى أزرار التحكم أو الوصول إلى الأجهزة بشكل عام.
  • في هذا البروتوتايب، سيتم التحكم في عملية تشغيل المصباح “نعبر عنه بالرقم 1″، والمروحة “رقم 2″، من خلال كتابة رقم الجهاز على تطبيق هاتفي وربطه مع لوحة الأردوينو لاسلكيا عبر Bluetooth.
  • في الختام، نرجوا ان نكون ساهمنا ولو قليلا في فهم و مساعدة و تقدير هذه الفئة المتابرة من ذوي الهمم، التي طالما تعلمنا منهم اجمل وأرقى معاني الإرادة والكفاح الدائم والمستمر للوصول الى الهدف المنشود.

أدوات المشروع

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • ليد احمر Red LED: عدد 1
  • مروحة تبريد: عدد 1
  • شاشة LCD 16 x 02 IIC/I2C Serial: عدد 1
  • موديول بلوتوث HC-05 Bluetooth Module: عدد 1
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم
  • أسلاك توصيل أنثى إلى أنثى دوبونت خط 40 دبوس 20 سم
  • أسلاك توصيل من ذكر إلى أنثى 40 دبوس 20 سم 
  • لوح تجارب 400 نقطة لون ابيض: عدد 1

مخطط المشروع

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • LiquidCrystal_I2C.h
  • SoftwareSerial.h
  • للحصول على تطبيق “Serial Bluetooth Terminal” (التطبيق المستخدم في هذا المشروع)، انقر هنا.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial BTSerial(11, 10); // RX, TX

void setup()
{
// Initialize the LCD display
lcd.init();
// Turn on the backlight
lcd.backlight();
// Set the cursor to the first column of the first row
lcd.setCursor(0, 0);

Serial.begin(9600); // Start the serial communication
BTSerial.begin(9600); // Start the serial communication over Bluetooth
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Send Number:”);

while (!BTSerial.available()); // Wait until data is available

// Set pin modes
pinMode(2, OUTPUT); // Set pin 2 as an output to control the LED
pinMode(3, OUTPUT); // Set pin 3 as an output to control the fan
}

void loop()
{
// Check if there is data available on the serial port
if (BTSerial.available()) {
Serial.println(“available”);
String input = BTSerial.readStringUntil(‘\n’); // Read the data until newline
input.remove(input.length() – 1); // Remove the newline character

Serial.println(input); // Print the input data to the Serial Monitor

lcd.clear(); // Clear the LCD display

if (input.length() <= 16) {
lcd.setCursor(0, 0); // Set cursor to the first column of the first row
lcd.print(input); // Print the input string on the LCD display
} else {
lcd.setCursor(0, 0); // Set cursor to the first column of the first row
lcd.print(input.substring(0, 16)); // Print the first 16 characters
lcd.setCursor(0, 1); // Set cursor to the first column of the second row
lcd.print(input.substring(16)); // Print the remainder of the string
}

// Additional functionality
if (input == “1”) {
digitalWrite(2, HIGH); // Turn on the LED
lcd.clear();
lcd.setCursor(0, 1); // Set cursor to the first column of the second row
lcd.print(“Switch Lamp”); // Display message for lamp
delay(2000);
lcd.clear();
} else {
digitalWrite(2, LOW); // Turn off the LED
}

if (input == “2”) {
digitalWrite(3, HIGH); // Turn on the fan
lcd.clear();
lcd.setCursor(0, 1); // Set cursor to the first column of the second row
lcd.print(“Switch Fan”); // Display message for Fan
delay(2000);
lcd.clear();
} else {
digitalWrite(3, LOW); // Turn off the fan
}
}
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *