用意するもの
ボリューム(10kΩ)
Arduino(Arduino UNO)
サーボ(SG90)
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <Servo.h> Servo myservo; int val; void setup(){ myservo.attach(9); Serial.begin(9600); } void loop(){ val = analogRead(0); val = map(val, 0, 1023, 0, 180); myservo.write(val); Serial.println(val); delay(20); } |
コード補足
Serial.begin(9600)
Serial.println(val2)
9600bpsで通信開始、表示
※シリアルモニターで表示不要であれば省略。
val = analogRead(0)
A0ピンから値を取得し、”val”に代入する
val = map(val, 0, 1023, 0, 180)
val(A0ピンのアナログ出力)は、0~1023の範囲で、角度を0°~180°とマッピング
delay(20);
20ms毎。※100ms等数字が増えると、スムーズでない動きとなるため、20msとした。