進捗状況とタイマ周りのやらかし
かくにんすること
LED
モーター
ブザー
スイッチ
赤外線センサ
ジャイロセンサ
エンコーダ
前回からの進歩
前回の投稿では
- 基板到着
- はんだ付けと仮組み
までが済んでいました.
あれ以降で行ったことは,
- ジャイロ購入
- モータ動作確認
- エンコーダ動作確認
- ブザー動作確認
- ジャイロ動作確認
です. ジャイロはAmazonでアホほど安く売ってるMPU6050を買ってそのままポン付けしています.
I2CでWhoAmIとコンフィグの設定は確認しました.
そこらへんはまた別で記事にしたいと思います.
動作の様子
主要アクチュエータ動いたよ報告です pic.twitter.com/Jgtxc0X6Od
— るる (@r_u__r_u) June 29, 2019
スイッチ押したらピピーって鳴ってモーターが回るようにしてます.
愉快ですね.
ここまでで引っかかったこと
モーターを回してブザーを鳴らすまでにやっちまったことの数々をお伝えします.
その①:クロック供給忘れ
__HAL_RCC_GPIOx_CLK_ENABLE();
を呼び忘れていたことでPWM出力用のpinにクロックが供給されておらず,
outputしても出力がされていませんでした(ブリュリュ)
その②:はんだ付け不良
PWM出力用のpinがかな~~り見づらい感じにはんだ不良で導通していませんでした.(ブリュリュ)
その③:ハンドラの初期化忘れ
TIM_HandleTypeDef 型で宣言される変数をクラスで所持する形にしていたのですが,コンストラクタでこいつを初期化するのを忘れていたために欲しい設定にできてませんでした(ブリュリュ)
終わりに
上記に示す各種やらかしをしましたが,今となっては動いたのでオールオッケーです.
今の悩みの種は,I2Cを扱うとPWM出力用のピンから謎の波形が出力されるです.
多分ピン設定とかだと思うので,原因を探らないとなぁ