現在、PCからのシリアル入力の値でサーボモーターを制御する
プログラムを作成しています。
しかし、0~180の値を入力しても、うまく動作しません。
arduino
1#include <Servo.h> 2 3Servo myServo; 4int incomingbyte=0; 5 6//serial TX RX TEST 7 8void setup(){ 9 Serial.begin(9600); 10 myServo.attach(9); 11 Serial.println("Servo start"); 12 myServo.write(0); 13} 14 15void loop(){ 16 incomingbyte=0; 17 if(Serial.available()){ 18 incomingbyte = Serial.read(); 19 incomingbyte = Serial.parseInt(); 20 if(0>=incomingbyte || 180<=incomingbyte){ 21 Serial.println("Please,input onemore."); 22 } 23 else{ 24 Serial.print("Servo :"); 25 Serial.println(Serial.read()); 26 myServo.write(incomingbyte); 27 } 28 } 29} 30 31
いろいろ調べたのですが、どうやら文字の数値への変換がうまく行かないようです。
間違いの指摘をお願いします。
追記
ちなみに、サーボモーターはSG-90を使っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。