機構部分


以下のリンク参照

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タイマーなので分解能が低いが今回の用途では気にしない)。