電気屋SEの日常

電気工事会社に就職したITエンジニアのひとりごと

2024年6月14日

2024-06-14 15:16:08 | 日記
  • ESP32からSG90(サーボモータ)を動かす。とりあえずArduinoUnoで動作確認したときのやつそのまま使ったらライブラリがESP32に対応してなかった。
  • ESP32対応のライブラリがあるみたいだから入れてみたけど動作しない。ここから長い原因切り分けの旅が始まる…
  • 生成AIに聞いたら赤が5vで橙がIOってのが入れ替わって配線してたことが判明。初歩的すぐる。
  • ArduinoUnoに繋いだらちゃんと動いた。サーボモータは正常。5v給電は必須なんだな。
  • ESP32のPWMピンが正常に電圧出せてないのかも、ということでLEDつないでみたらちゃんと光量変わる。ESP32も正常。
  • LEDにつながってるところをSG90にしたらビクビクした。サーボにいれる5vとESP32にいれる5vが一緒じゃないとだめ。モーター給電だけ別系統は無理なんですね。
  • 現状ではSG90にPWM直接入れてるけど、それじゃ上手く動かないぽい。やっぱライブラリ使わないと面倒そう。
  • いくつか参考サイト眺めてたらESP32Servoライブラリのバージョン違いの記事みつけた。バージョンダウンしてみたらちゃんと動いた。なんでや。
  • 動作テストしてみたら0度→180度で0.5秒くらいかかるみたい。動かすときは変更する度数*3msくらいでwaitかければ大丈夫そう。
  • 0度と10度を繰り返させたらよい感じにビクビクしだした。演出はとりあえずこんなもんでいこう。
  • ESP32にリクエスト受け取ったらビクビク時間をランダムで60~6000ms待機したあとで180度に動くように機能追加。それっぽくなった。
  • 最後にユニバーサル基盤に据え付けて完了。USBケーブル刺して192.168.0.107にアクセスすると動く。Siriからやってみたら良い感じだった。