我刚刚开始用几个 Teensy 和 Teensy++ 深入研究 arduino 的世界,到目前为止,除了我在尝试从多个按钮获取输入时遇到的极其奇怪的行为外,它已经变得很好。
几乎,我只有一个 teensy++、一个 LCD 显示屏和 3 个按钮。我刚刚读取所有三个按钮的状态的代码,然后将结果发布到屏幕上,0 或 1。再简单不过了,这就是为什么我无法弄清楚它为什么不起作用的原因。
使用一个按钮,上述工作正常。但是,当我将其他按钮之一添加到组合中时,当我按下按钮 1 时,按钮 1 和按钮 2 都变为 1,而不是正常工作。按钮 2 什么也不做。按钮 3 也没有任何作用,甚至在按下任何其他按钮时都不会变为 1。
我的第一个倾向是我笨拙的屁股在板上用焊料桥接了一些痕迹。我抓起一个新的并重新焊接,检查每个触点以确保它是好的,而且确实如此。我没有使用我通常使用的面包板线,而是使用实芯线来确保电线不是问题。我还更换了面包板以防万一出现故障。
同样的问题。我不确定是什么导致它不起作用。我希望你们中的一位大师可以突然出现并告诉我我做错了什么,因为我不明白为什么它根本不起作用
这是我的代码:
#include <LiquidCrystal.h>
LiquidCrystal lcd(5,6,7,8,9,10);
void setup(){
pinMode(13,INPUT);pinMode(21,OUTPUT); //Button one
pinMode(12,INPUT);pinMode(20,OUTPUT); //Button two
pinMode(11,INPUT);pinMode(19,OUTPUT); //Button three
digitalWrite(21,HIGH); //Power buttons
digitalWrite(20,HIGH);
digitalWrite(19,HIGH);
lcd.begin(16,4);
}
int resp1 = 3; //Variables for responses
int resp2 = 3;
int resp3 = 3;
void loop(){
resp1 = digitalRead(13); //Read button 1
resp2 = digitalRead(12); //Read button 2
resp3 = digitalRead(11); //Read button 3
//Print it to screen
lcd.clear();
lcd.print("Mike's Devboard");
lcd.setCursor(0,1);
lcd.print("Btn 1:");
lcd.print(resp1);
lcd.print(" Btn 2:");
lcd.print(resp2);
lcd.setCursor(0,2);
lcd.print("Btn 3:");
lcd.print(resp3);
delay(48);
}
有任何想法吗?