إذا كنت مهتمًا بدمج المتحكمات الدقيقة مع التعلم الآلي، فقد وصلت إلى المكان الصحيح: برمجة أردوينو باستخدام الذكاء الاصطناعي يجمع هذا الكتاب بين سحر الإلكترونيات والبرمجة والنماذج الذكية في مشاريع تتطور من الفضول إلى الفائدة الحقيقية. ستجد هنا دليلاً شاملاً وواقعياً للبدء دون الخوض في المصطلحات التقنية، ولكن بدقة كافية لجعل ما تبنيه ناجحاً.
الهدف هو أن تتمكن من إعداد بيئتك من الصفر، تدريب نموذج التعلم الآلي على جهاز الكمبيوتر الخاص بك، أحضره إلى لوحتك، وشغّله مع المستشعرات والمشغلات. سترى أيضًا أمثلةً أساسيةً على التعليمات البرمجية (بدون ذكاء اصطناعي) ستساعدك على فهم تدفق قراءات المستشعرات والتحكم في المخرجات، وأفكارًا للمشاريع، وأدواتٍ مدعومةً بالذكاء الاصطناعي لإنشاء التعليمات البرمجية، وحتى تحديًا عمليًا بجوائز لإلهامك على البناء.
ماذا يعني برمجة Arduino باستخدام الذكاء الاصطناعي اليوم؟
عندما نتحدث عن دمج الذكاء الاصطناعي في أردوينو، فإننا نشير إلى تشغيل نماذج تعلم آلي خفيفة الوزن على لوحات محدودة الموارد. لتحقيق ذلك، TensorFlow لايت إنه الخيار الأكثر شيوعًا، لأنه يسمح بنقل النماذج المدربة مسبقًا إلى تنسيق مُحسَّن للميكروكنترولر.
قبل البدء، يُنصح بتكوين فكرة واضحة عن الحد الأدنى من المعدات. بفضل هذا المزيج، ستتمكن من تغطية معظم السيناريوهات، ويمكنك التوسع إذا توسع مشروعك أو أصبح أكثر تعقيدًا. اللوحة والمكتبات والمكونات وقليل من لغة C++.
- لوحة اردوينو: Arduino UNOتعد Nano أو Mega من الخيارات الشائعة؛ اخترها بناءً على الدبابيس والذاكرة والاتصالات التي تحتاجها.
- مكتبات الذكاء الاصطناعي:يسمح لك TensorFlow Lite للميكروكنترولرات بتشغيل النماذج الصغيرة بكفاءة.
- مكونات الكترونية: أجهزة الاستشعار (الضوء، درجة الحرارة، القرب (على سبيل المثال مستشعر VL53L4CD))، المحركات، أو الكاميرات أو الميكروفونات، اعتمادًا على التحدي الذي تريد حله.
- قاعدة برمجة C++ والتعرف على مفاهيم الذكاء الاصطناعي مثل الشبكات العصبية والتعلم الخاضع للإشراف.
لضمان تجربة سلسة، من الجيد إعداد سير عمل واضح منذ اليوم الأول: التفكير وجمع البيانات والتدريب والتحويل إلى تنسيق خفيف الوزن والتكامل والتعديلبهذه الطريقة لن يتم استبعادك عند النشر.

خطوة بخطوة: من IDE إلى النموذج الأول على اللوحة
لنبدأ بالأساسيات: تثبيت البيئة وتجهيزها لتحميل الكود والمكتبات. اردوينو بيئة تطوير متكاملة سيؤدي التحديث إلى توفير الصداع لك فيما يتعلق بالتبعيات والتوافق.
١) تثبيت بيئة التطوير: نزّل بيئة التطوير المتكاملة Arduino وثبّتها من موقعها الرسمي، وتحقق من إمكانية تجميع وتحميل مثال بسيط (مثل Blink الكلاسيكي). يضمن هذا التحقق ما يلي: اللوحة الأم وبرامج التشغيل والمنفذ تم تكوينها بشكل صحيح.
٢) تهيئة أردوينو للذكاء الاصطناعي: ستحتاج إلى دمج TensorFlow Lite مع المتحكمات الدقيقة. الطريقة الأكثر عملية هي استخدام مدير مكتبة بيئة التطوير المتكاملة (IDE) بحيث يتم حل التبعيات تلقائيًا. تجنب عدم التوافق.
- افتح Arduino IDE وأدخل الأدوات > إدارة المكتبات.
- ابحث عن "TensorFlow Lite" واضغط على "تثبيت"، مع التأكد من ذلك النسخة متوافقة مع شارتك والمثال الذي تريد اتباعه.
٣) درّب نموذج الذكاء الاصطناعي الخاص بك: يحدث السحر على جهاز الكمبيوتر الخاص بك. يمكنك استخدام TensorFlow لإنشاء النموذج وتدريبه باستخدام بياناتك. من الأمثلة النموذجية روبوت يتجنب العوائق بناءً على قراءات مستشعر القرب؛ خيار آخر هو تصنيف الأصوات البسيطة باستخدام ميكروفون أو إجراء... التعرف على الصور مع وحدات اقتصادية. بمجرد تحقيق أداء مقبول، التصدير إلى TensorFlow Lite للاستخدام في المتحكمات الدقيقة.
٤) حمّل النموذج على اللوحة: بعد تحسين الملف، حان وقت دمجه في رسمك. يتكون النمط الأساسي من تحضير الموتر، وقراءة المستشعرات، وتشغيل الاستدلال، والتصرف وفقًا لذلك. في المشاريع البسيطة، يمكن اتخاذ القرار ببساطة عن طريق تشغيل محرك إذا تجاوز الاحتمال حدًا معينًا؛ أما في السيناريوهات الأكثر طموحًا، فيمكنك تجربة... التعرف على الصورة أو الصوت.
#include <TensorFlowLite.h>
// Incluir cabeceras específicas del ejemplo o del modelo convertido
// Variables para sensores y salida
// (ajusta pines y tipos a tu hardware)
void setup() {
Serial.begin(115200);
// Inicializar sensores
// Inicializar modelo: arena, intérprete, tensores
}
void loop() {
// 1) Adquirir datos del sensor
// 2) Preprocesar y copiar a entrada del modelo
// 3) Invocar la inferencia
// 4) Leer la salida y tomar decisiones (mover motor, encender LED, etc.)
}
٥) عدّل مشروعك وخصّصه: لا يوجد نموذج مثالي من المرة الأولى. ستحتاج على الأرجح إلى معايرة المستشعرات، وتحسين عتبة القرار، أو حتى إعادة التدريب باستخدام بيانات إضافية. دورة التكرار هذه طبيعية؛ قضاء الوقت في القياس والتصحيح حتى يكون السلوك مستقرا في ظل الظروف الحقيقية.
لتسريع عملية إنشاء النماذج الأولية، توجد أدوات بمساعدة الذكاء الاصطناعي مثل Code Generator for Arduino (وأيضًا أدوات مثل فيسوينو) التي تُنشئ هيكل الكود من الوصف. وهي مفيدة للبدء، مع أنه يُنصح بمراجعة المنطق و أداء اللحن يدويًا، لأن الكود الناتج ليس دائمًا الأكثر كفاءة.

أمثلة أكواد أساسية (بدون الذكاء الاصطناعي) لدمج المستشعرات والمخرجات
على الرغم من أن هذه المقالة تتناول الذكاء الاصطناعي، إلا أنه من المفيد فهم بعض أنماط قراءة المستشعرات والتحكم في المخرجات. ستُشكل هذه الأمثلة أساسًا لربط استنتاجات النموذج بالعالم المادي. التحقق من صحة أجهزتك بسرعة.
مثال 1: تشغيل مؤشر LED عند الضغط على زرإنه جهاز اختبار كلاسيكي يتحقق من المدخلات والمخرجات الرقمية؛ وهو مثالي للتأكد من أن اللوحة والأسلاك لديك على ما يرام قبل دمج النموذج.
int pinBoton = 2; // Pin del botón
int pinLED = 13; // Pin del LED
void setup() {
pinMode(pinBoton, INPUT);
pinMode(pinLED, OUTPUT);
}
void loop() {
if (digitalRead(pinBoton) == HIGH) {
digitalWrite(pinLED, HIGH);
} else {
digitalWrite(pinLED, LOW);
}
}
المثال الثاني: التحكم في سطوع مصباح LED باستخدام مقاومة ضوئية. يجمع هذا النمط بين مدخل تناظري ومخرج تعديل عرض النبضة (PWM)؛ وهو مفيد جدًا عند الرغبة، بعد الاستدلال، في تعديل شدة الضوء أو سرعته أو أي قيمة مستمرة في مشروعك. سيطرة سطوع.
int ldr = A0; // Entrada analógica del LDR
int ledPWM = 9; // Salida PWM para el LED
void setup() {
pinMode(ledPWM, OUTPUT);
}
void loop() {
int lectura = analogRead(ldr);
int brillo = map(lectura, 0, 1023, 0, 255);
analogWrite(ledPWM, brillo);
delay(10);
}
ستتيح لك هذه الكتل، جنبًا إلى جنب مع استنتاجات النموذج، اتخاذ قرارات آنية: على سبيل المثال، تفعيل محرك إذا اكتشف النموذج عائقًا، أو تغيير سطوع الضوء بناءً على تصنيف مشهد. والمفتاح هو أن منطق التطبيق الخاص بك ترجمة مخرجات النموذج بشكل جيد إلى إجراءات مادية.

أفكار مشاريع تجمع بين Arduino والذكاء الاصطناعي
الإمكانيات لا حصر لها، لكن البدء بأهداف ملموسة يساعدك على التركيز. إليك بعض الاقتراحات المستوحاة من مواقف واقعية، والتي يمكنك تكييفها مع أجهزتك والبيانات التي يمكنك جمعها وتصنيفها. جودة كافية.
- ترموستات متصليقيس درجة الحرارة باستخدام مستشعر BMP180، ويُدرّب نموذجًا للتنبؤ بوقت التشغيل الأمثل. يتحكم في التدفئة أو تكييف الهواء، ويضيف اتصالًا للتحكم عن بُعد.
- كاشف الحركة الذكي: يستخدم أجهزة استشعار PIR أو مقياس تسارع (على سبيل المثال LSM9DS1) ويقوم بتدريب المصنف للتمييز بين الضوضاء أو الحيوانات الأليفة أو الوجود البشري قبل تشغيل أجهزة الإنذار أو الأضواء.
- التحكم التكيفي في الإضاءة: يجمع بين المقاومة الضوئية ونموذج يأخذ في الاعتبار الوقت من اليوم وعادات الاستخدام لضبط شدة الإضاءة وأنماطها.
- شاشة المعلومات:بفضل شاشة OLED، فإنه يعرض قراءات المستشعر (درجة الحرارة والرطوبة وجودة الهواء) ويضيف نموذجًا يكتشف الشذوذ في الوقت الفعلي.
- جهاز مراقبة جودة الهواء: يصنف جودة الهواء على أساس مستشعر BME680 ويقوم بتنشيط التهوية عندما يتوقع النموذج مستويات غير مرغوب فيها.
- موزع الأدوية المتصل:جدولة التذكيرات، والتحكم في محرك المؤازرة للجرعات، وإضافة نموذج يتعلم الروتينات لتحسين التذكيرات.
مهما كان اختيارك، ابدأ بنموذج أولي بسيط، وتأكد من أن قراءات المستشعر مستقرة، وبعد ذلك فقط يدمج نموذج الذكاء الاصطناعي لإضافة الذكاء وتقليل الإيجابيات الخاطئة.
الأدوات التي تعمل بالذكاء الاصطناعي والتي تولد التعليمات البرمجية ومتى تستخدمها
يوجد اليوم مساعدون يقترحون، بناءً على وصف باللغة الطبيعية، رسمًا تخطيطيًا وظيفيًا. منصات مثل مولد الكود لاردوينو يمكنهم توفير ساعات لك عند إنشاء هيكل مشروعك الأولي وتوفير دليل سريع على المفهوم.
الآن، ضع في اعتبارك حدوده: لا ينتج الذكاء الاصطناعي دائمًا الكود الأكثر نظافة أو كفاءة، وفي بعض الأحيان ستحتاج إلى ضبط الدبابيس أو التوقيتات أو مكتبات محددةمن الممكن أيضًا، دون تقديرك، أن لا تتمكن الأداة من التقاط تفاصيل الأجهزة التي تستخدمها.
عمليًا، من المفيد جدًا استخدام هذه المولدات لتحديد نقطة انطلاق، ثم تعزيزها بالاختبار والقياس وإعادة الهيكلة يدويًا. تخيّل الذكاء الاصطناعي كمساعد يُسرّع مشروعك الناشئ، ولكن لا يحل محل التحقق الخاص بك على طاولة العمل.
حدث و26 تحديًا للصانعين باستخدام الذكاء الاصطناعي: التعلم من خلال البناء
إذا كنت ترغب في دفعة إضافية، فهناك نشاط مصمم لمساعدتك على تعلم برمجة أردوينو حتى لو كنت مبتدئًا. في مجموعة من الجمعة 26 يوليو، من الساعة 10:30 صباحًا حتى 12:00 ظهرًا، يتم اقتراح تحدي يتضمن 26 تحديًا للصانعين لجميع المستويات.
الفكرة هي أنه بمساعدة الذكاء الاصطناعي كمساعد (استخدمه إن أردت)، يمكنك إكمال كلٍّ من التحديات الستة والعشرين، واكتساب إتقانٍ للمكونات والتقنيات. الهدف هو: اي شخص يمكنك الاستمتاع بالبناء والحل.
آليات النشاط:
- بطاقة التحدي:سوف تتلقى بطاقة تحتوي على 26 تحديًا ويمكنك التحقق من التحديات التي أكملتها.
- عرض التحديكل تحدٍ له قيمته عندما تُظهر نجاحه لفريق Maker Hardware؛ إذا سارت الأمور على ما يرام، فسوف يلصقون ملصقًا على بطاقتك.
- انتهاء:أولئك الذين يكملون جميع التحديات الـ 26 يضمنون الحصول على جائزة؛ السرعة والدقة هما المفتاح هنا، حيث أن ترتيب التحديات يؤثر على الجوائز.
قم بزيارة الصفحة لرؤية التحديات وكيفية تقدم المشاركين الآخرين: https://inven.es/euskalencounter-retos-arduino-con-ia/إنها طريقة رائعة لتحفيز نفسك، وفي الوقت نفسه، الحصول على أفكار لخطوتك التالية مشروع مع الذكاء الاصطناعي.
الجوائز:
- أول شخص يكمل:
- 3D طابعة
- اردوينو كيت
- تي شيرت أوسكال
- سلسلة مفاتيح خاصة
- الدبلومة الذهبية
- الشخص الثاني:
- اردوينو كيت
- تي شيرت أوسكال
- سلسلة مفاتيح خاصة
- الدبلومة الفضية
- الشخص الثالث:
- تي شيرت أوسكال
- سلسلة مفاتيح خاصة
- دبلومة برونزية
- أولئك الذين أكملوا الـ 26:
- سلسلة مفاتيح خاصة
- دبلومة برونزية
بالإضافة إلى الحافز، ستتاح لك فرصة التحدث مع صناع آخرين، والاطلاع على أساليب مختلفة، ومشاركة إبداعاتك الأولى. مع دعم الذكاء الاصطناعي، تصبح البداية سهلة للغاية. أسرع وأكثر متعة.
الخصوصية عند الوصول إلى موارد المجتمع
عند البحث عن معلومات في المجتمعات، ضع في اعتبارك سياسات ملفات تعريف الارتباط والخصوصية الخاصة بها. تستخدم منصات مثل Reddit وشركاؤها ملفات تعريف الارتباط لتحسين تجربتك، وتخصيص المحتوى، وقياس الإعلانات؛ حتى إذا اخترت إلغاء الاشتراك في ملفات تعريف الارتباط غير الضرورية، بعضها يبقى ضروري للوظائف الأساسية. إذا كنت مهتمًا بالتفاصيل، يُرجى مراجعة إشعارات ملفات تعريف الارتباط وسياسة الخصوصية قبل التصفح.