前回、無事サーボが動いたので次はツマミでサーボを制御したいと思います。
使用するツマミは10kΩの可変抵抗(Bカーブ)
__
ツマミからのデータを36pin(A0)に入力
void loop() {
int hy01_val;
hy01_val = analogRead(36); //ツマミからのデータを36pin(A0)に入力
Serial.print("HEAD_YAW ="); //文字を送信
Serial.println(hy01_val/16); //値を送信maxが4096なので16で割って大体255にする
setJoint(HEAD_YAW, hy01_val/16);//36pin(A0)に入力された値をHEAD_YAWに代入
delay(20);
___
___
◆不明点
- 挙動がイマイチ(値が上手く取れてない?)
- 回転が反対なのでプラスとマイナスを逆にした(プログラム上で値を反転できる?)
- 0〜4096を0〜255にするには?
___
◆資料
ADCに使えるピン
定数 | GPIOピン |
A0 | 36 |
A3 | 39 |
A4 | 32 |
A5 | 33 |
A6 | 34 |
A7 | 35 |
A10 | 4 |
A11 | 0 |
A12 | 2 |
A13 | 15 |
A14 | 13 |
A15 | 12 |
A16 | 14 |
A17 | 27 |
A18 | 25 |
A19 | 26 |
A1,A2は定義されていない。
GPIO0、2は書き込みモードの制御
GPIO15,12も他の機能で使われることがある
___◆参考
ESP-WROOM-32に関するTIPS