🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

1292閲覧

arduino スケッチ

reikisoraarosir

総合スコア9

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/12/19 09:04

赤外線センサーのでサーボモーターを制御させたいんですが(赤外線センサーでライントレース)、
スケッチのどこがおかしいのかわかりません。
どこがおかしいのかご指摘お願いします。

このスケッチで左のセンサーしか反応しませんでした。
スケッチとしては黒い線に右(左)のセンサーが乗ったら右(左)に何度角度を曲げて進むというスケッチにしたいと思っています。

赤外線センサー;ELEGOOについているセンサー(赤外線センサーが3つ付いています)
サーボモーター;SANWA RS-991(販売終了)

スケッチでA0、A1、A2をこのように接続しています
A0=L (赤外線センサー"左")
A1=M (赤外線センサー"真ん中")
A2=R (赤外線センサー"右")

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int potpin1 = A0; // analog pin used to connect the potentiometer
int potpin2 = A1;
int potpin3 = A2;
int val; // variable to read the value from the analog pin

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop() {
Serial.println(); //シリアルモニタにデータを出力
digitalRead(9);

if (0) {
val = 180;
myservo.write(90); //サーボを動かす(135度)
val = 0; //変数の初期化
delay(2000); //ボタンを押してから何秒後に”135度に傾くか”
myservo.write(90); //サーボを動かす 初期0度(90度の位置)
delay(2000); //135度で何秒間止まるか
}
{
val = analogRead(potpin1); // reads the value of the potentiometer (value between 0 and 1023)
val = analogRead(potpin2);
val = analogRead(potpin3);
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(200); // waits for the servo to get ther
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

val = analogRead(potpin1); // reads the value of the potentiometer (value between 0 and 1023)

val = analogRead(potpin2);
val = analogRead(potpin3);

同じ変数につぎつぎ計測結果を上書きしてますが、なにをしたいんでしょう。
結局、potpin1とpotpin2の計測結果は捨てられてますね

投稿2019/12/19 09:27

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問