مشروع لمساعدة ذوي صعوبات التعلم على المذاكرة باستخدام أردوينو 3

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

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

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

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

  • يهدف هذا الابتكار إلى خلق بيئة تعلم داعمة، تُراعي احتياجات ذوي صعوبات التعلم، وتمنحهم الأدوات اللازمة لتنظيم وقتهم ومهامهم الدراسية بطريقة تدريجية وبسيطة.

  • في الختام، نرجو أن يكون هذا المشروع نافعًا بإذن الله، وأن يُسهم في فتح آفاق جديدة أمام من يواجهون تحديات تعليمية، فكل عقل يستحق أن يتعلم بطريقته الخاصة، ومع القليل من الدعم، يمكن لكل فرد أن يحقق النجاح والتقدم.

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

مخطط المشروع

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

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

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

LiquidCrystal_I2C lcd(0x27, 16, 2);

const int buttonPin = 2;
const int buzzerPin = 3;

// الخطوات الفعلية فقط (5 خطوات)
String steps[] = {
“Solve your homework”,
“Read the lesson text”,
“Prepare new lesson”,
“Do more math exercises”,
“Review for exam”
};

// النصائح (لا تعد خطوات للتنقل)
String advices[] = {
“Stay focused and try!”,
“Great job! Keep learning!”
};

const int totalSteps = sizeof(steps) / sizeof(steps[0]);
const int totalAdvices = sizeof(advices) / sizeof(advices[0]);

int currentStep = -1; // لم يبدأ بعد
bool lastButtonState = HIGH;
unsigned long lastStepTime = 0;
const unsigned long stepDelay = 5000; // 5 ثواني للانتقال التلقائي

bool started = false;
bool showingAdvice = false;
int currentAdvice = 0;

void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(buzzerPin, OUTPUT);

lcd.init();
lcd.backlight();

lcd.setCursor(0, 0);
lcd.print(“Study Helper”);
lcd.setCursor(0, 1);
lcd.print(“Press to start”);
}

void loop() {
bool buttonState = digitalRead(buttonPin);

if (buttonState == LOW && lastButtonState == HIGH) {
delay(200); // منع الارتداد

if (!started) {
currentStep = 0;
showingAdvice = false;
playMotivatingTone();
showStep(currentStep);
started = true;
lastStepTime = millis();
} else if (!showingAdvice && currentStep < totalSteps – 1) {
currentStep++;
playMotivatingTone();
showStep(currentStep);
lastStepTime = millis();
} else if (!showingAdvice && currentStep == totalSteps – 1) {
// انتهت الخطوات، عرض النصائح
showingAdvice = true;
currentAdvice = 0;
playMotivatingTone();
showAdvice(currentAdvice);
lastStepTime = millis();
} else if (showingAdvice && currentAdvice < totalAdvices – 1) {
currentAdvice++;
playMotivatingTone();
showAdvice(currentAdvice);
lastStepTime = millis();
} else {
// إعادة البدء
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Well done!”);
lcd.setCursor(0, 1);
lcd.print(“Press to retry”);
playMotivatingTone();
started = false;
currentStep = -1;
showingAdvice = false;
}
}

if (started && millis() – lastStepTime >= stepDelay) {
if (!showingAdvice && currentStep < totalSteps – 1) {
currentStep++;
playMotivatingTone();
showStep(currentStep);
lastStepTime = millis();
} else if (!showingAdvice && currentStep == totalSteps – 1) {
showingAdvice = true;
currentAdvice = 0;
playMotivatingTone();
showAdvice(currentAdvice);
lastStepTime = millis();
} else if (showingAdvice && currentAdvice < totalAdvices – 1) {
currentAdvice++;
playMotivatingTone();
showAdvice(currentAdvice);
lastStepTime = millis();
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Well done!”);
lcd.setCursor(0, 1);
lcd.print(“Press to retry”);
playMotivatingTone();
started = false;
currentStep = -1;
showingAdvice = false;
}
}

lastButtonState = buttonState;
}

void showStep(int index) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Step “);
lcd.print(index + 1);

String text = steps[index];
scrollTextBackAndForth(text);
}

void showAdvice(int index) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Advice:”);

String text = advices[index];
scrollTextBackAndForth(text);
}

void scrollTextBackAndForth(String text) {
if (text.length() <= 16) {
lcd.setCursor(0, 1);
lcd.print(text);
delay(1500); // عرض ثابت لفترة
} else {
int len = text.length() – 16;
// تمرير يمين -> يسار -> يمين … بلا توقف (لمدة قصيرة فقط هنا)
for (int repeat = 0; repeat < 3; repeat++) { // كرر 3 مرات فقط (يمكن تعديلها)
// تمرير من البداية للنهاية
for (int i = 0; i <= len; i++) {
lcd.setCursor(0, 1);
lcd.print(text.substring(i, i + 16));
delay(400);
}
// تمرير من النهاية للبداية
for (int i = len – 1; i >= 0; i–) {
lcd.setCursor(0, 1);
lcd.print(text.substring(i, i + 16));
delay(400);
}
}
}
}

void playMotivatingTone() {
tone(buzzerPin, 523, 300); // C5
delay(350);
tone(buzzerPin, 587, 300); // D5
delay(350);
tone(buzzerPin, 659, 300); // E5
delay(350);
tone(buzzerPin, 698, 500); // F5
delay(500);
noTone(buzzerPin);
}

3 Comments

  1. شكرا لكم مشروع جيد اريد اتطبيقة مع بعض الطلاب يعانون من صعوبة التعلم كحافز لهم على النجاح ولتقدم في الدراسة بس ما عندي فكرة عن الأردوينو والبرمجة والأكواد
    لكن حابب تنفيذ المشروع من حيث شراء الأدوات والتنفيذ والبرمجة
    اعطويني الإليت والتكلفة
    وشكرا لكم

    nabilfaress.physics
  2. مشكورين مشروع جيد يفيد الطلاب
    انا معلم صراحة ما عندي فكرة بالأردوينو لكن حابب اطبقة في تدريسي من باب التعلم وايضا كمشروع كيف ابدأ معكم وما عندي فكرة عن الأكواد والبرمجة بس صديق ارسل لي الرابط
    كيف ابدأ معكم بخصو هذا المشروع ( الشراء – التنفيذ .. التطبيق .. سيفيد طلاب .. )
    وشكرا لك
    نبيل فارس محمود
    اميلي :
    nabilfaress.physics@gmail.com

    نبيل فارس
    1. حياك الله استاذ نبيل وسعيدين بمشاركتك
      جميع تفاصيل المشروع معروضة في الصفحة ، بالنسبة للطلب والشراء يتم عن طريق الطلب اونلاين من متجرنا الالكتروني
      خالص التحية

      ielectrony Support Team

اترك تعليقاً

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

تحديثات مهمة للعملاء في السعودية بدءًا من 1 يناير 2026م

يرجى الاطلاع على تفاصيل التحديثات عبر الرابط التالي:

اضغط هنا
إغلاق هذا الإشعار يُعد تأكيدًا على أنك قرأت التحديثات وفهمتها.