デジタル化と自動化の時代において、人工知能 (AI) は私たちのさまざまなことのやり方を変革しており、今それが到来しています。 Arduino 用コード ジェネレーターまたは Duino コード ジェネレーター Arduino のスケッチやソース コードをプログラムする方法でも同様です。
あなたがエレクトロニクス愛好家でも、経験豊富なエンジニアでも、あるいは単に AI に興味がある人でも、この新しい サービスはソースコードを支援します。コードの作成があまり得意でない場合や初心者の場合は、コードを自動的に生成し、調整が必要な場合に変更できるため、さらにそうです。
Duino コードジェネレーターとは何ですか?
DIY 愛好家や、初心者で Arduino などのプログラム ボードにコードを記述する知識があまりないメーカーであれば、AI が役に立ちます。ここで登場します。 Duino コードジェネレーターは、有名な GPT-3.5-turbo を搭載しており、スケッチ コードを作成できます。 OpenAI によって開発されたこの高度な言語モデルには、簡単なプロンプトだけで Arduino プロジェクトのコードを生成する機能があります。つまり、プロンプトにコードで実行したい内容の詳細な説明を書き、「生成」ボタンを押すと、数秒以内にコードが表示されるので、それをコピーして IDE に貼り付けることができます。
たとえば、プロンプトに次の情報を入力してテストを実行しました。 «温度センサーからのデータを記録し、3 つの 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 プロンプトに入力した情報 それは正しくなければなりません。そうしないと、AI が別のものを解釈し、実際に探しているものに対応しないコードを生成する可能性があるからです。さらに、Duino コード ジェネレーターは、常に完璧で最適化されたコードを保証する魔法の杖ではないことに留意する必要があります。それにもかかわらず、これはコード スニペットを迅速に生成したり、インスピレーションを得たり、生成されたコードを変更したりするための優れたツールであり、Arduino IDE と完璧に連携します。
制限と考慮事項
先ほども述べたように、Duino コード ジェネレーターは魔法のツールではありません。 AIはまだ完璧ではなく、失敗する可能性があります。あなたが書いたプロンプトを解釈する場合、私が完全には理解できなかったり、誤解したりする可能性がある場合はなおさらです。したがって、100% 完璧なコードを生成するのは簡単ではありません。実際、サービスの Web サイト自体では、コードが人工知能を使用して生成されたものであると警告しています。 動作する保証はありません 予定通り。
一方で、Arduino 統合開発環境 (IDE) に含める必要があるライブラリを考慮するよう警告します。これは、ソース コードを Arduino IDE に保存するときに行う必要があります。これは AI が代わりに行うことはできません。さらに、出力が長すぎるため、ソース コードやスケッチには適していません。 約2400文字までに制限されています.
プロンプトの例
Duino コード ジェネレーターを使用する場合は、AI が正しく解釈して可能な限り最も正しいコードを生成できるように、プロンプトに入力する必要があるテキストまたは説明を入力する方法をよく知っておく必要があります。必ずしも簡単なことではありませんが、ここでご紹介します いくつかの例 良い習慣と悪い習慣:
- 間違ったプロンプト:
- «Arduinoで3Dプリンターを作ってみる» –> このプロンプトは一般的すぎて、適切なコードを生成するのに十分な情報を AI に提供しないため、間違っています。
- «Arduinoを使った機械学習» –> ご存知のとおり、Arduino にはこの機能がないため、これは不可能です。そのため、コードを生成できないか、生成されたコードがまったく機能しません。具体的で実現可能なものでなければなりません。
- «庭の灌漑を制御する» –> これも非常に単純ですが、このシステムに含まれるセンサーとデバイスについての詳細が必要です...コードが生成される可能性がありますが、それは確実に期待したものではありません。
- 正しいプロンプト:
- «スケジュール Arduino UNO ピン 13 に接続されている LED を 3 秒ごとに点滅させます。» –> この例は、Duino コード ジェネレーターが適切なコードを理解して生成できるように、より簡潔かつシンプルです。
- «に接続されている DS18B20 センサーの温度を読み取ります。 Arduino Uno LCD 画面に温度を摂氏で表示します DFR0063» –> これも非常に具体的で、非常にうまく機能します。
- 「湿度センサーからデータを読み取り、乾燥したら給水ポンプを起動して灌漑する」 –> この他の例も詳細に説明されていますが、どのセンサーやデバイスが使用されるかは特定されていませんが、AI は適切に解釈できます何が起こっているのですか。何を探していますか。
最終的には、 トリック Arduino IDE のソースコードを可能な限り完璧にするため、次のようになります。
- 言語: それは重要ではありません。プロンプトはスペイン語と英語の両方で書くことができ、AI はそれを解釈する方法を認識します。ただし、最良の結果を得るには、特にコードが複雑な場合は、英語の方が適しています。
- 具体的に: プロンプトに必要な内容の詳細を非常に具体的に入力する必要があり、一般的になりすぎないようにする必要があります。使用するデバイスによっては、違いがあったり、異なるライブラリが使用されたりする可能性があるため、名前やモデルをより適切に指定する場合でも、関連するすべてのコンポーネント (センサー、モーター、モジュールなど) について言及することをお勧めします。
- 壊す: 説明が非常に複雑な場合は、AI が適切に処理できるように、簡潔な部分と単純な部分に分割するのが最善です。
- 試行錯誤: 最後に、このツールに慣れるまで試行錯誤してください。このようにして、プロンプトと生成されたコードの両方を完成させることができます。また、自動生成されたコードをレビューして最適化したり、存在する可能性のある小さなエラーを修正したりすると常に便利です...