【问题标题】:Joystick with switch control for Arduino Uno R3 will not display switch push带有 Arduino Uno R3 开关控制的操纵杆不会显示开关按钮
【发布时间】:2019-10-23 02:04:14
【问题描述】:

我正在尝试让我的代码显示来自 Arduino Uno 上的操纵杆的开关输入。

当我在串行监视器上查看时,我看到移动操纵杆时显示 x 和 y 轴。

当我点击它时,我没有得到任何显示。我已将 Arduino 上的开关设置为引脚 2。

我编译代码时没有错误。

int pin_x = A0; 
int position_x = 0;
int pin_y = A1;
int position_y = 0;
int pin_z = 2; // switch pin
int position_z = LOW;

void setup() {
    Serial.begin(9600);   // initialize serial communications at 9600 bps
    pinMode(pin_x, INPUT);  // set pin mod as INPUT
    pinMode(pin_y, INPUT);
    pinMode(pin_z, INPUT);  // switch pin
}
void read(){
    position_x = analogRead(pin_x);
    position_y = analogRead(pin_y);
    position_z = digitalRead(pin_z);
}
void show(){
Serial.print(" X:");  //print information to Serial Monitor 
Serial.print(position_x);
Serial.print(" Y:");
Serial.print(position_y);
Serial.print(" Z:");
Serial.print(position_z);
}
void loop() {
  read();
  show();
  delay(500); 
}

【问题讨论】:

  • 您是否确保交换机正常工作并连接正确?
  • 我确实检查过了。开关工作正常,电线连接到正确的引脚。
  • 您在两种开关状态下测量的电压是多少?
  • 我测试了按下和释放开关的连续性,但我还没有测试电压。它正在耗尽 5v 引脚。我将不得不检查电压以查看其输出是什么

标签: arduino switch-statement arduino-uno joystick


【解决方案1】:

您可以使用多种方法来查找错误,以下是一些建议:

  1. 阅读操纵杆的数据表
  2. 使用万用表检查两个开关引脚的导电性
  3. 将其他东西连接到您的开关输入,检查输入是否正常工作

也就是说,您的代码编写方式希望您的开关引脚连接到 Vcc,检查是否确实如此。

【讨论】:

    【解决方案2】:

    试试这个:

    void setup() {
       Serial.begin(9600);   // initialize serial communications at 9600 bps
       pinMode(pin_x, INPUT);  // set pin mod as INPUT
       pinMode(pin_y, INPUT);
       pinMode(pin_z, INPUT);  // switch pin
       digitalWrite(pin_z, HIGH);
    }
    

    否则代码看起来正确。操纵杆上的开关确实是数字的,而其他开关是模拟的,你没看错。

    这是一个关于如何使用操纵杆的视频,也许对你有帮助:https://www.youtube.com/watch?v=MlDi0vO9Evg

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多