カテゴリ:工作
今までArduinoはC言語ライクではあるものの、完全なCでは無いため敬遠していました。
会社で自己啓発の勉強会でM5Stickのの話になりました。1/16 Armコアでは無く、ESP32と言う無線チップのマイコンです。 そんなマイコン買ってもペリフェラルとかのI/Fを新たに覚えるのが面倒なので、手を出したく無いデバイスです。 自宅に戻って色々調べるとやっぱり高機能でとても面白そうなデバイスで興味が湧きました。 マルツオンラインで発注すれば、M5StickCが1,980円で、あと千円位注文すると送料無料になる為、DCモータードライバIC等と一緒に発注してしまいました。1/17 高性能なマイコンと言う事なので、倒立振子でも作ってみようと思いました。 1/18の夜M5StickCを受け取る事が出来ました。 開発環境としてはArduinoの他に、M5Flowで、ブラウザ上からブロックを組み合わせるだけでプログラムする事も可能です。 今回はとりあえずArduinoで色々なサンプルを動かして勉強しました。 今まで敬遠していましたが、流石Arduino。マイコンの事を知らなくても沢山あるサンプルプログラムをそのまま利用できました。 M5Stick専用のライブラリも多いですが、Arduinoに組み込むことで利用出来るようになり、何とか動く形のある物にすることはできました。1/19 思い立ってから3日で以下の事が実現できました。 1)LCDへの文字出力 2)ジャイロ(MPU6886)の読み出し 3)Arduinoシリアルポートへの出力 4)WiFiを利用してAmbientへジャイロデータの送信 5)Bluetoothを利用してM5Stickのパラメータ変更(ゲイン設定等) 6)PWM出力を行い、DCモータードライバの制御 7)マルチタスク化し、処理分散 M5StickCには標準でLEGO Tecnic用の固定アダプタが付属しているので容易にLEGOへ取り付けできました。 モータは9V位で駆動しないといけないので、RC飛行機用に使っていたリポバッテリーの3セルを使いました。 一応PI制御で倒立振子プログラムを組んで見ましたが、メカ構造が悪いのか、ソフトウェアが悪いのか、比例ゲイン、積分ゲインが悪いのか分かりませんが、ガタガタでうまく動作しませんでした。。。 ちょっと思ったのは、そもそも倒立振子って、ほうきを手の上に乗せてバランスを取るのと同じ原理なので、手の上でバランスが取れるような構造にしないとダメな気がしてきました。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2020.01.20 00:20:34
コメント(0) | コメントを書く
[工作] カテゴリの最新記事
|
|