Arduino ide not declared in scope 问题

Arduino ide not declared in scope problem

你好,我正在为坦克制作无线电控制器,但我对操纵杆代码有疑问。每次当我在 Serial.print('JR') 中遇到同样的问题时 ('JR' was not declared in this scope);线。我对arduino没有太多经验,所以很容易解决问题。有人可以帮我吗? ---------------------------------------------- ---------------------------------------------- ---------------------------------------------- ---------------------------------------------- ----------

#define K10 14
#define K11 15
#define JRY A2
#define JRX A3
#define JLY A4
#define JLX A5

void setup() {

  pinMode(K10, INPUT_PULLUP);
  pinMode(K11, INPUT_PULLUP);
  pinMode(JRY, INPUT);
  pinMode(JRX, INPUT);
  pinMode(JLY, INPUT);
  pinMode(JLX, INPUT);

  bool K10Run = false;
  bool K11Run = false;
  int JR = 5;
  int JL = 5;
  Serial.begin(9600);
  
}

void loop() {


if ( digitalRead(K10) == LOW ){
  
  bool K10Run = true;
  
} else {

  bool K10Run = false;
  
}


if ( digitalRead(K11) == LOW ){
  
  bool K11Run = true;
  
} else {

  bool K11Run = false;
  
}


if ( analogRead(JRY) < 1100 ) {    //
  
  JR = 1;     //przód
  
} else if ( analogRead(JRY) > 1900 ){

  JR = 2;     //tył  
  
} else if ( analogRead(JRX) < 1100 ){
  
  JR = 3;     //lewo
  
} else if ( analogRead(JRX) > 1900 ){

  JR = 4;     //prawo
  
} else {

  JR = 5;     //stop
  
}


if ( analogRead(JLY) < 1100 ) {
  
  JL = 1;     //przód
  
} else if ( analogRead(JLY) > 1900 ){

  JL = 2;     //tył  
  
} else if ( analogRead(JLX) < 1100 ){
  
  JL = 3;     //lewo
  
} else if ( analogRead(JLX) > 1900 ){

  JL = 4;     //prawo
  
} else {

  JL = 5;     //stop
  
}

Serial.print(JR);
Serial.print("\t");
Serial.print(JL);
Serial.print("\t");
Serial.print(K10Run);
Serial.print("\t");
Serial.print(K11Run);
Serial.print("\t");
delay(100);

}

您的问题是您在无效设置中将 JR 声明为局部变量。如果要在 void loop() 中使用,则必须将其声明为全局变量。其他的也会有同样的问题,所以你必须对JR、JL、K10等做同样的事情...

您可以试试这个代码:

#define K10 14
#define K11 15
#define JRY A2
#define JRX A3
#define JLY A4
#define JLX A5

bool K10Run = false;
bool K11Run = false;
int JR = 5;
int JL = 5;

void setup() {

  pinMode(K10, INPUT_PULLUP);
  pinMode(K11, INPUT_PULLUP);
  pinMode(JRY, INPUT);
  pinMode(JRX, INPUT);
  pinMode(JLY, INPUT);
  pinMode(JLX, INPUT);

  
  Serial.begin(9600);
  
}

void loop() {


if ( digitalRead(K10) == LOW ){
  
  K10Run = true;
  
} else {

  K10Run = false;
  
}


if ( digitalRead(K11) == LOW ){
  
  K11Run = true;
  
} else {

  K11Run = false;
  
}


if ( analogRead(JRY) < 1100 ) {    //
  
  JR = 1;     //przód
  
} else if ( analogRead(JRY) > 1900 ){

  JR = 2;     //tył  
  
} else if ( analogRead(JRX) < 1100 ){
  
  JR = 3;     //lewo
  
} else if ( analogRead(JRX) > 1900 ){

  JR = 4;     //prawo
  
} else {

  JR = 5;     //stop
  
}


if ( analogRead(JLY) < 1100 ) {
  
  JL = 1;     //przód
  
} else if ( analogRead(JLY) > 1900 ){

  JL = 2;     //tył  
  
} else if ( analogRead(JLX) < 1100 ){
  
  JL = 3;     //lewo
  
} else if ( analogRead(JLX) > 1900 ){

  JL = 4;     //prawo
  
} else {

  JL = 5;     //stop
  
}

Serial.print(JR);
Serial.print("\t");
Serial.print(JL);
Serial.print("\t");
Serial.print(K10Run);
Serial.print("\t");
Serial.print(K11Run);
Serial.print("\t");
delay(100);

}