저는 몇 가지 Teensy 's와 Teensy ++로 arduino의 세계를 탐구하기 시작했습니다. 지금까지 입력을 시도 할 때 얻었던 매우 이상한 행동을 제외하고는 아주 훌륭했습니다. 여러 단추.Arduino : 버튼으로 설명 할 수없는 행동
거의 모든 것, 나는 십대 ++, LCD 디스플레이 및 3 개의 버튼이 있습니다. 코드는 세 버튼의 상태를 모두 읽은 다음 화면에 결과를 0 또는 1로 게시합니다. 더 간단 할 수는 없으므로 작동하지 않는 이유를 파악하는 데 어려움이 있습니다.
단일 버튼으로 위의 동작이 정상입니다. 그러나 다른 버튼 중 하나를 믹스에 추가하자마자 바로 작업하는 대신 버튼 1을 누르면 버튼 1과 버튼 2가 모두 1로 바뀝니다. 버튼 2는 아무 것도하지 않습니다. 버튼 3도 아무 것도하지 않으며, 다른 버튼을 누를 때도 아무 것도하지 않습니다.
내 첫 번째 경향은 내 서투른 엉덩이가 보드에 솔더로 흔적을 남겼다는 것이었다. 나는 새로운 것들 중 하나를 움켜 잡고 다시 땜질하고, 모든 접촉을 점검하여 그것이 좋았다는 것을 확인했다. 내가 일반적으로 사용하는 브레드 보드 전선을 사용하는 대신 전선이 문제가 아닌지 확인하기 위해 견고한 중심선을 사용했습니다. 또한 결함이있는 경우 브레드 보드를 전환했습니다.
같은 문제가 있습니다. 이것이 작동하지 않는 원인이 될지 모르겠습니다.
#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);
}
: 나는 내가이 모든
에서 작동하지 않는 이유를 알아낼 수 있기 때문에 전문가의의 중 하나가 급습 내가 완전히 뭔가를 잘못하고 있어요 것을 말해 줄 수 바라고은 내 코드입니다
아이디어가 있으십니까?
배선 스키마를 게시 할 수 있습니까? 코드를 보면 몇 가지 이상한 것을 볼 수 있습니다. 1) 귀하의 버튼에 대한 전원 공급 장치로 출력을 사용하지 말고 gnd를 사용하고 5V는 버튼과 5v 사이의 직렬 연결을 arduino [튜토리얼] (http://arduino.cc/en/Tutorial/DigitalReadSerial) – Sibster
정확히 내가 뭘 잘못하고 있었는지, 고마워. 저항기가 LED가 날아 가지 못하도록 막는 것만으로는 생각했지만 더 조심스럽게 읽었습니다. 왜 내가 필요한지 알 수 있습니다. 이제 작동 중입니다. –