情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

ChatGPTを使ってArduinoマイコンソフト開発-Arduino/XIAOにコマンドを送る

2024-01-02 11:01:08 | AI,IoT,SensorNetworking
SeeedStudio XIAOのSAMD21マイコン版は、Arduino IDEで開発することができる。Arduino IDEの開発環境で、XIAOの開発ボードを使うと、開発着手までの期間は短くなる

 

USB接続したマイコンにUSBホスト側からコマンド送り、コマンドの指示で様々な動作をさせる。試作として、ホスト側のArduino IDEのシリアルモニター機能を使う。機能確認の方法として、一番簡単な方法だ

プログラム:開発者用LEDの明滅時間をコマンドで変更する
起動時はLEDが一秒ごとに明滅する
"BLINK"をホスト側から送ると125msecごとに忙しく明滅する
"SPAN=N"をホスト側から送ると指定したNmsecごとに明滅する

1.ChatGPTでLED明滅コードを生成
起動したらLED明滅が始まるだけの、簡単なプログラムをChatGPTを使ってプロトタイプした。ChatGPTの惜しいバグを修正して、期待の動作ができるようになった

2.ChatGPTでシリアルからのコマンドを受けるコードを追加
"BLINK"コマンドをホスト側から送ると、明滅間隔を125msecにする

ChatGPTを使って、シリアルからのコマンドを受け付けるコードを追加。loop(){}中で、ループのたびにserialポートへのデータ=コマンドの到着の有無を確認。到着していれば、到着したコマンドをシリアル出力し、ホスト側にエコーバック。"BLINK"であれば明滅間隔を125msecに変更する

ChatGPTのコードの変数の宣言位置を調整して、バグとなりにくいコードに変更して完成

3.ChatGPTで"SPAN=N"指定機能をコードに追加
指定する明滅間隔をコマンド行から取得して、明滅間隔としてセットする
受け取ったSPANコマンドが指定した明滅間隔をシリアル出力とし、エコーバック。
先のコードの素直な機能拡張なので、難なく動作

USB接続したArduino/XIAOにコマンドを送るコードは初めて書いたが、これで、コマンドを送るコードが具体化した。ChatGPTが必要なメッソドとコードを教えてくれるので、全体の実装は簡単だった

完成したコードは次回掲載し、解説する

いつもアクセスありがとうございます。ChatGPTを使ったマイコンプログラムの様子を共有します。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 2024年の匠技術研究所の取り... | トップ | ChatGPTを使ってArduinoマイ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

AI,IoT,SensorNetworking」カテゴリの最新記事