【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の手を借りて、自分だけのロボットプログラムに挑戦してみてください。



コメント