ArduinoのAdvent Calendarを見つけたので、飛び入りで参加します。
Arduino Esploraはセンサー全部載せのArduino。ちょっと値が張りますが、センサーが載ってるだけでなく、ソフトウェアも書きやすいという特徴もあります。
私が作ったマシュマロ・カタパルトもそうですし、Maker Faire Tokyoでスイッチ・サイエンスさんが展示してた超音波スピーカーでも使われてましたが、Esploraのジョイスティックとサーボの相性は抜群なので、簡単な作り方を紹介します。
ジョイスティックの値を読む
ジョイスティックは秋月とかで手に入らなくもないですが、綺麗に基板に乗っててくれてる上に、ライブラリのサンプルのように、setup()でピン指定を指定せずにスッキリと使えます。
void loop(){
int value = Esplora.readJoystickX();
Serial.println(value);
delay(1000);
}
Output Tinkerkit Connectorsでサーボを動かす
Tinkerkitというのは、Arduinoでセンサやスイッチを簡単に扱える規格です。こういうキットもあって、センサ全部載せなEsploraを、さらに拡張できるわけです。
https://www.switch-science.com/catalog/681/
ただ、Tinkerkitって、あんまりはやってみたいなので、自分でコネクタとかを使って引き出す必要があります。私はチキンなので秋葉原のガード下で店員さんに確認してもらいましたが、MXJ 5051と刻印があったので、このコネクタと思います。
コネクタだけでなく、金具も買うのを忘れないように。
ピン番号ですが、基板のシルクにD3,D11と書かれてます。回路図(PDF)でも確認できます。
Arduino公式のサーボライブラリのサンプルを参考に配線し、ピン番号を書き換えて、ジョイスティックの値を流し込めば、ジョイスティックに合わせてサーボを動かせます。
スケッチはこちら。
#include <Servo.h>
#include <Esplora.h>
Servo myservo;
int pos = 0;
int servoPin = 11;
void setup(){
myservo.attach(servoPin);
}
void loop(){
pos = map(Esplora.readJoystickX(),0,1023,0,180);
myservo.write(pos);
}