機構部分
以下のリンク参照
https://fabble.cc/sukiyaki/mightxbexmagicxbox
サーボホーンの取り付け調整
注意:この作業は適当にやっても構わないが、その場合はArduinoスケッチ内のANGLE_UNLOCKとANGLE_LOCKの定数を調整すること。
サーボのラベルが見えるようにサーボマウント(写真赤色のもの)に取り付ける
マウンターに取り付けたあと、サーボホーンを写真の様な可動域になるように取り付ける
電気部分
配線する
Arduino UNO
に
GROVEベースシールド
を接続する
GROVEロータリーエンコーダ
をGROVEベースシールドのD2コネクタに接続する
GROVE円形LED
をGROVEベースシールドのD8コネクタに接続する
サーボ(SG92R)
のシグナルピン(オレンジ色)をArduinoの11番ピンに接続する
LEDストリップ
のシグナル(DI)をArdinoの6番ピンに接続する
配置する
LEDマトリクスをArduinoに1週させる
サーボのアームにケーブルが絡まないようにする
電源と接続する
ハコの裏にUSBケーブルを挿すための穴を開けておき、裏からケーブルを挿し込む
プログラム
以下のリンク先を参照
https://github.com/shozaburo-shimada/PandraBoxes/blob/master/Encoder/Encoder.ino
今回はEncoder.hというエンコーダー用のライブラリを利用したが、それがTimer1を使用している。
Timer1はServo.hでも利用しており、前回までのコードをそのまま流用してしまうとうまく動作がしない。
そこでEncoder.hはそのままでServo.hは使わず、サーボに関してはTimer2でそのままPin11にPWM出力するようにした(8bitタイマーなので分解能が低いが今回の用途では気にしない)。