مشروع للتحفيز الذاتي وزيادة الثقة بالنفس باستخدام اردوينو اكتب تعليقُا

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

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

  • في هذا المشروع سنقوم بتصميم نظام إلكتروني لعرض عبارات تحفيزية تُسهم في تعزيز الثقة بالنفس.

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

  • يتم توكيد كل عبارة ثلاث مرات بشكل تلقائي، قبل الانتقال إلى عبارة تحفيزية جديدة.

  • يساعد هذا النظام في رفع المعنويات وتحفيز النفس، خصوصًا للأشخاص الذين يمرّون بمرحلة ضعف أو قلة ثقة.

  • وعليه نسأل الله أن يكون هذا المشروع سببًا في بث الأمل والطاقة الإيجابية في النفوس.

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

مخطط المشروع

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

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

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

// تعريف الشاشة LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);

// تعريف المكونات الأخرى
const int buzzer = 3;
const int button = 2;

int pressCount = 0; // عدد مرات الضغط
const int repeatLimit = 2; // عدد مرات تكرار العبارة قبل التغيير

// مصفوفة العبارات التوكيدية المحفزة
String affirmations[][2] = {
{“You are”, “unstoppable ^_^”},
{“Your strength”, “has no limit ^_^”},
{“You deserve”, “great things ^_^”},
{“You radiate”, “confidence ^_^”},
{“You are”, “strong & brave:)”},
{“Success comes”, “to you now ^_^”},
{“Your dreams”, “will come true:)”},
{“You achieve”, “big goals ^_^”},
{“You inspire”, “the world ^_^”},
{“You create”, “happiness ^_^”}
};

const int numAffirmations = 10;
int currentIndex = 0;

void setup() {
pinMode(buzzer, OUTPUT);
pinMode(button, INPUT_PULLUP);
lcd.init();
lcd.backlight();

// عرض العبارة الافتتاحية
lcd.setCursor(0, 0);
lcd.print(“Welcome! Stay”);
lcd.setCursor(0, 1);
lcd.print(“Confident ^_^”);
delay(3000);
lcd.clear();

// عرض أول عبارة تحفيزية
displayAffirmation();
}

void loop() {
// التحقق من حالة الزر
if (digitalRead(button) == LOW) {
delay(50); // انتظار لتجنب الاهتزازات
if (digitalRead(button) == LOW) { // التحقق مجددًا
displayAffirmation();
pressCount++;

// إذا وصل عدد مرات الضغط إلى 3، يتم تغيير العبارة
if (pressCount >= repeatLimit) {
pressCount = 0; // إعادة العد
changeAffirmation();
}

// انتظار تحرير الزر قبل متابعة التنفيذ
while (digitalRead(button) == LOW);
delay(50);
}
}
}

void displayAffirmation() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(affirmations[currentIndex][0]);
lcd.setCursor(0, 1);
lcd.print(affirmations[currentIndex][1]);
playTone();
}

void changeAffirmation() {
currentIndex = random(numAffirmations);
displayAffirmation();
}

void playTone() {
int melody[] = {1880, 2320}; // نغمة TADA بصوت رفيع
int duration[] = {300, 400};
for (int i = 0; i < 2; i++) {
tone(buzzer, melody[i], duration[i]);
delay(duration[i] + 100);
}
noTone(buzzer);
}

اترك تعليقاً

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

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

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

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