في عصر الرقمنة والأتمتة، يعمل الذكاء الاصطناعي (AI) على تغيير الطريقة التي نقوم بها بالعديد من الأشياء، والآن يأتي ذلك مولد كود لاردوينو أو مولد كود Duino للقيام بذلك أيضًا في كيفية برمجة رسوماتنا أو أكواد المصدر لـ Arduino.
سواء كنت من عشاق الإلكترونيات، أو مهندسًا ذو خبرة، أو مجرد شخص مهتم بالذكاء الاصطناعي، فهذا الجديد يمكن أن تساعدك الخدمة في أكواد المصدر الخاصة بك. والأكثر من ذلك، إذا لم تكن جيدًا في إنشاء التعليمات البرمجية أو كنت مبتدئًا، حيث ستتمكن من إنشاء التعليمات البرمجية تلقائيًا ثم تعديلها إذا كانت بحاجة إلى أي تعديلات.
ما هو مولد كود Duino؟
إذا كنت من عشاق الأعمال اليدوية أو صانعًا بدأ للتو وليس لديك الكثير من المعرفة حول كتابة التعليمات البرمجية على لوحات البرامج مثل Arduino، فيمكن أن يساعدك الذكاء الاصطناعي. هذا هو المكان الذي يأتي في الصورة. مولد رمز دوينو، المدعوم من GPT-3.5-turbo الشهير، سيكون قادرًا على كتابة رمز الرسم لك. يتمتع نموذج اللغة المتقدم هذا، الذي طورته OpenAI، بالقدرة على إنشاء تعليمات برمجية لمشاريع Arduino الخاصة بك بمجرد مطالبة بسيطة. أي أنك تكتب في المطالبة وصفًا تفصيليًا لما تريد أن يفعله الكود الخاص بك، وعندما تضغط على زر إنشاء، سيظهر الكود في غضون ثوانٍ حتى تتمكن من نسخه ولصقه في IDE.
على سبيل المثال، قمت بإجراء اختبار عن طريق إدخال المعلومات التالية في الموجه: «قم بتسجيل البيانات من جهاز استشعار درجة الحرارة واستخدم ثلاثة مصابيح LED (الأزرق والبرتقالي والأحمر) للإشارة إلى درجة الحرارة.» وعندما ضغطت على زر إنشاء كانت النتيجة كالتالي:
// Include the necessary libraries #include <OneWire.h> #include <DallasTemperature.h> // Define the pins for the LEDs #define BLUE_LED 2 #define ORANGE_LED 3 #define RED_LED 4 // Setup a oneWire instance to communicate with the temperature sensor OneWire oneWire(5); // Pass the oneWire instance to DallasTemperature library DallasTemperature sensors(&oneWire); // Variable to store the temperature value float temperature; void setup() { // Initialize the serial communication Serial.begin(9600); // Initialize the LEDs as output pins pinMode(BLUE_LED, OUTPUT); pinMode(ORANGE_LED, OUTPUT); pinMode(RED_LED, OUTPUT); // Start communication with the temperature sensor sensors.begin(); } void loop() { // Request temperature readings from the sensor sensors.requestTemperatures(); // Read the temperature value and convert it to Celsius temperature = sensors.getTempCByIndex(0); // Print the temperature value to the serial monitor Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" °C"); // Check the temperature value and turn on the corresponding LED if (temperature < 20) { digitalWrite(BLUE_LED, HIGH); digitalWrite(ORANGE_LED, LOW); digitalWrite(RED_LED, LOW); } else if (temperature >= 20 && temperature < 30) { digitalWrite(BLUE_LED, LOW); digitalWrite(ORANGE_LED, HIGH); digitalWrite(RED_LED, LOW); } else { digitalWrite(BLUE_LED, LOW); digitalWrite(ORANGE_LED, LOW); digitalWrite(RED_LED, HIGH); } // Wait for 1 second before taking the next reading delay(1000); }
La المعلومات التي تقدمها للموجه يجب أن يكون صحيحًا، وإلا قد يفسر الذكاء الاصطناعي شيئًا آخر ويولد رمزًا لا يتوافق مع ما تبحث عنه حقًا. علاوة على ذلك، يجب أن تضع في اعتبارك أن Duino Code Generator ليس عصا سحرية تضمن دائمًا التعليمات البرمجية المثالية والمحسنة. على الرغم من ذلك، فهي أداة استثنائية لإنشاء مقتطفات من التعليمات البرمجية بسرعة أو للإلهام وتعديل التعليمات البرمجية التي تم إنشاؤها ورفيق مثالي لـ Arduino IDE.
مولد رمز الوصول لاردوينو مجانا
القيود والاعتبارات
كما ذكرت، Duino Code Generator ليس أداة سحرية. الذكاء الاصطناعي ليس مثاليًا بعد، ومن الممكن أن يفشل. والأكثر من ذلك عندما يتعلق الأمر بتفسير رسالة كتبتها والتي قد لا أفهمها تمامًا أو أسيء تفسيرها. لذلك، فإن إنشاء كود مثالي بنسبة 100% ليس بالأمر السهل. في الواقع، يحذرك موقع الخدمة نفسه من أن الكود قد تم إنشاؤه باستخدام الذكاء الاصطناعي و غير مضمون للعمل كما خطط له.
من ناحية أخرى، فإنه يحذرك أيضًا من مراعاة أي مكتبات تحتاج إلى تضمينها في بيئة تطوير Arduino المتكاملة (IDE)، وهذا شيء عليك القيام به عند حفظ الكود المصدري في Arduino IDE، نظرًا لأن هذا لا يمكن لمنظمة العفو الدولية أن تفعل ذلك نيابة عنك. علاوة على ذلك، فهو غير مناسب لأكواد المصدر أو الرسومات الطويلة جدًا، نظرًا لأن الإخراج كذلك يقتصر على ما يقرب من 2400 حرفا.
أمثلة على المطالبات
إذا كنت ستستخدم Duino Code Generator، فيجب أن تعرف بشكل أفضل كيفية إدخال النص أو الوصف الذي يتعين عليك وضعه في الموجه حتى يتمكن الذكاء الاصطناعي من تفسيره بشكل صحيح وإنشاء الكود الصحيح قدر الإمكان. ليس الأمر سهلاً دائمًا، ولكن هنا أضعك بعض الأمثلة من الممارسات الجيدة والسيئة:
- مطالبات غير صحيحة:
- «إنشاء طابعة ثلاثية الأبعاد باستخدام الاردوينو» -> قد تكون هذه المطالبة خاطئة لأنها عامة جدًا، ولا تزود الذكاء الاصطناعي بمعلومات كافية لإنشاء تعليمات برمجية مناسبة.
- «التعلم الآلي مع اردوينو» –> كما تعلمون هذا غير ممكن لأن الاردوينو ليس لديه هذه الإمكانية لذلك لا يمكن إنشاء الكود أو لن يعمل الكود الذي تم إنشاؤه على الإطلاق. ويجب أن تكون أشياء ملموسة وقابلة للتنفيذ.
- «التحكم في ري الحديقة» -> هذا الآخر بسيط جدًا أيضًا، ويحتاج إلى مزيد من التفاصيل، في هذه الحالة حول أجهزة الاستشعار والأجهزة المشاركة في هذا النظام... قد يولد رمزًا، لكنه بالتأكيد ليس ما توقعته.
- المطالبات الصحيحة:
- «جدول Arduino UNO لوميض مؤشر LED متصل بالدبوس 13 كل 3 ثوانٍ» –> هذا المثال أكثر إيجازًا وبساطة بالنسبة لـ Duino Code Generator لفهم وإنشاء الكود المناسب.
- «يقرأ درجة حرارة مستشعر DS18B20 المتصل به Arduino Uno ويعرض درجة الحرارة بالدرجات المئوية على شاشة LCD DFR0063» -> هذا الآخر محدد جدًا أيضًا وسيعمل بشكل جيد.
- «Lee datos de un sensor de humedad y cuando esté seco ponga en funcionamiento una bomba de agua para regar» –> Este otro ejemplo también es detallado, aunque no especifica qué sensores y dispositivos se usarán, pero la IA puede interpretar bien qué es lo ماذا تبحث.
في نهاية المطاف، الحيل لكي يظهر الكود المصدري لـ Arduino IDE بشكل مثالي قدر الإمكان:
- لغة: ليس مهمًا، يمكنك كتابة المطالبة باللغتين الإسبانية والإنجليزية وسيعرف الذكاء الاصطناعي كيفية تفسيرها. ومع ذلك، للحصول على أفضل النتائج، فمن الأفضل استخدام اللغة الإنجليزية، خاصة عندما تكون التعليمات البرمجية أكثر تعقيدًا.
- كن دقيقا: يجب أن تكون محددًا للغاية، وأن تقدم للموجه تفاصيل ما تريده، وألا تكون عامًا جدًا. من الأفضل أن تذكر جميع المكونات المعنية (أجهزة الاستشعار، المحركات، الوحدات،...)، حتى لو حددت الاسم أو الطراز بشكل أفضل، لأنه قد تكون هناك اختلافات أو استخدام لمكتبات مختلفة حسب الجهاز المستخدم.
- انفصال: إذا كان وصفك معقدًا للغاية، فمن الأفضل تقسيمه إلى أجزاء موجزة وبسيطة حتى يتمكن الذكاء الاصطناعي من معالجته بشكل صحيح.
- التجربة والخطأ: أخيرًا، يجب عليك إجراء التجربة والخطأ حتى تتعرف على هذه الأداة. بهذه الطريقة، سوف تكون قادرًا على تحسين كل من المطالبات والتعليمات البرمجية التي تم إنشاؤها. ومن السهل دائمًا مراجعة الكود الذي تم إنشاؤه تلقائيًا لتحسينه أو تصحيح الأخطاء الصغيرة التي قد تكون موجودة...