الفكرة العامة للمشروع
الروبوت "Leo" هو مساعد ذكي صغير يعتمد على تقنيات "الأنظمة المدمجة" (Embedded Systems) و "إنترنت الأشياء" (IoT). وظيفته الأساسية هي التواصل مع المستخدم عبر الصوت والعرض البصري (شاشة OLED)، مع ميزات إضافية مثل المنبه والربط بالإنترنت.
2. المكونات العتادية (Hardware Logic)
بناءً على الكود الذي قدمته، الروبوت يتكون من:
العقل المدبر (ESP32): متحكم دقيق يدعم Wi-Fi و Bluetooth، وهو المسؤول عن معالجة البيانات.
واجهة العرض (SSD1306 OLED): شاشة صغيرة لعرض "وجه" الروبوت وحالته (Idle, Listening, Speaking).
نظام الصوت الرقمي (I2S Protocol):
الميكروفون (INMP441): لاستقبال الأوامر الصوتية رقمياً.
المكبر الصوتي (MAX98357): لإخراج صوت الروبوت بجودة عالية.
الاتصال (Wi-Fi): لجلب الوقت الدقيق (NTP) والتواصل مع خوادم الذكاء الاصطناعي (مثل ChatGPT أو Voice APIs).
3. الهيكلية البرمجية (Software Architecture)
المشروع يعتمد على نظام الحلقات غير المحجوزة (Non-blocking Loop)، وهذا مهم جداً في هندسة الميكاترونيكس لضمان استجابة الروبوت بسرعة:
أ. إدارة الحالة (State Machine)
الروبوت ينتقل بين ثلاث حالات أساسية تظهر على الشاشة:
الانتظار (Idle): وجه هادئ، الروبوت مستعد لسماع كلمة الاستيقاظ "Leo".
الاستماع (Listening): تتغير العيون لتشير إلى أن الروبوت يسجل صوتك.
التحدث (Speaking): تظهر حركة "فم" أو أعمدة صوتية (Visualizer) تتفاعل مع نبرة الصوت.
ب. مزامنة الوقت (Time Synchronization)
استخدام بروتوكول NTP لجلب الوقت من الإنترنت، مما يجعل ميزة "المنبه" دقيقة جداً ولا تعتمد على ضبط يدوي.
ج. معالجة الصوت (I2S Communication)
هذا الجزء هو الأكثر تعقيداً تقنياً، حيث يتم نقل البيانات الصوتية كإشارات رقمية خام (Raw Bits) ومعالجتها داخل ESP32 قبل إرسالها للتحليل.