Arduino在第7次之后停止循环

时间:2018-04-11 00:24:32

标签: arduino arduino-uno

我的Arduino上有一个距离传感器和伺服器。在第7次读取之后,循环停止,并且没有其他任何内容添加到串行监视器。有什么线索的原因?

#include <Servo.h>

Servo myservo;

void setup() {
  Serial.begin(9600);
  myservo.attach(9);
  delay(15);
}

void loop() {
  const int analogInPin = A0;
  int sensorValue = 0;
  sensorValue = analogRead(analogInPin);
  int outputValue = 0;
  outputValue = map(sensorValue, 0, 1023, 255, 0);
  Serial.println(outputValue);
  myservo.write(outputValue);
  delay(500);
}

1 个答案:

答案 0 :(得分:0)

  outputValue = map(sensorValue, 0, 1023, 255, 0);

不应该是:

  outputValue = map(sensorValue, 0, 1023, 0, 255);
  

语法

     

map(value, fromLow, fromHigh, toLow, toHigh)

     

参数

     

值:要映射的数字

     

fromLow:值的当前范围的下限

     

fromHigh:值的当前范围的上限

     

toLow:值的目标范围的下限

     

toHigh:值的目标范围的上限

正如您编码的那样,现在,您走得越高,outputValue越低......所以如果您将底池(或A0上连接的任何东西)拉到一边向上,outputValue将为0.伺服将被告知停止。