動画BASIC(3J)Arduino

03.Arduino【tone】| 驚き !! Gemini の 圧勝

【AI比較】C言語プログラミングでGeminiが圧勝?クムクムを使った電子工作実践

プログラミング学習の現場において、ChatGPTやGeminiといったAIの活用はもはや常識となりつつあります。しかし、「実際に動くコードを書かせる」という点では、AIによってその精度に大きな差が出ることがあります。

今回は、プログラミング教育用ロボット「クムクム」とArduino環境を用い、AIにC言語のプログラム(BEEP音の制御)を生成させた際の検証結果を詳しく解説します。特にGoogleのAI「Gemini」が、他のAIと比較してどれほど正確にハードウェア制御を理解しているのか、その驚きの結果をご紹介します。

学ぶ概要:AIを活用したマイコンプログラミング

現代のC言語学習では、文法をゼロから暗記するのではなく、AIに「やりたいこと」を伝えてコードを生成させ、それをデバッグ(修正)しながら理解を深める手法が非常に効率的です。

本記事のベースとなる動画では、以下のステップを学習します。

AIへのプロンプト入力: 制御したいハードウェア(Arduino/クムクム)と目的(音を鳴らす)を伝える。

コードの検証: 生成されたコードが実際のハードウェア仕様(ピン番号等)に合っているか確認する。

音楽プログラムへの応用: 単音だけでなく、メロディ(カエルの歌、チューリップ等)を生成させる。

詳細:Geminiによる「音を鳴らす」プログラムの実装

動画内での検証において、Geminiは他のAI(ChatGPT等)に比べて非常に高い「文脈理解力」と「正確性」を示しました。

1. シンプルなBEEP音の生成

まず、「D12ピンを使ってトーンを鳴らすプログラムをシンプルに作って」という指示に対し、Geminiは即座に動作可能なコードを生成しました。Arduinoのtone()関数を適切に使用し、余計な設定を排除した実用的なコードです。

メロディの再現(カエルの歌・チューリップ)

驚くべきは、音楽的な知識をプログラムに落とし込む能力です。

カエルの歌: ドレミの音階を正確に周波数に変換し、メロディとして成立させました。

チューリップ: 歌詞(さいた、さいた…)のリズム感を理解し、Arduinoのコードとして出力。

マリオのテーマ: 複雑なスタッカート(音を短く切る)の指示に対しても、適切なディレイ処理を含めたコードを提案しました。

思考モードの活用

Geminiの「思考モード(思考プロセス)」を活用することで、より複雑な曲や、あやふやな指示に対しても「過去の対話履歴」を参照しながら、最適なピン設定(D12ピンの継続使用など)を維持したまま回答を導き出しています。

注意点:ハードウェア固有の制約
AIにコードを書かせる際には、以下の点に注意が必要です。

ピン番号の指定: 今回の「クムクム」ではBEEP音にD12ピンを使用しますが、一般的なArduinoボードとは異なる場合があります。必ず「どのピンを使うか」をAIに明示しましょう。

ピンモードの設定: 動画内でも指摘されていますが、tone()関数を使用する場合、必ずしもpinMode(12, OUTPUT);は必須ではありませんが、AIは安全策として記述することがあります。不要なコードを見極める力も必要です。

音の接続: メロディを奏でる際、音が繋がりすぎると不自然になります。AIに「短く切るように(スタッカート)」と指示を加えるのがコツです。

応用への道:AIとロボットで広がる創造性

AIが正確なコードを出力できることが分かれば、学習者は「構文のミス」に悩まされることなく、「どんな動きをさせたいか」という創造的な部分に集中できるようになります。

センサーとの連動: 「障害物を見つけたら警告音を鳴らす」といった条件分岐の追加。

複雑な楽曲制作: AIに楽譜情報を読み込ませ、より長いメロディをクムクムで演奏させる。

多言語展開: C言語だけでなく、PythonやScratchへの書き換えもAIなら一瞬です。

今回の検証から、ハードウェア制御を伴うプログラミング学習において、Geminiは非常に強力なパートナーになることが証明されました。ぜひ、皆さんもAIの手を借りて、自分だけのロボットプログラムに挑戦してみてください。

コメント

タイトルとURLをコピーしました