El banco de pulsadores Arduino de fabricación propia no funciona

0

Así que estoy tratando de hacer un teclado similar a un teclado de 5 teclas, pero con una mayor sensación táctil, así que dejé los pulsadores comprados en la tienda real. Monté las llaves con un poco de papel de aluminio y piezas de plástico y las conecté a 5V. Todos los botones comparten este 5V. Luego, hice unas almohadillas de contacto de papel de aluminio que tienen un cable intercalado entre dos capas. Este cable tenía dos cables, uno que se conectaba a uno de los E / S digitales y otro que se conectaba a una resistencia que luego se conectaba a tierra. Todos los contactos comparten la resistencia (y, por lo tanto, la tierra). Así que cuando la pieza de plástico se conecta con la pieza intercalada, se convierte en un botón. Esto funciona, lo he intentado. Lo que no puedo arreglar es que si solo conecto el pin para Digital 2, luego presiono cualquier botón, no solo el que está conectado al pin 2, registra un empuje.

Aquíestáelcódigoqueutilizoparaverificarlasprensas:

intledPin=13;intval=0;voidsetup(){Serial.begin(9600);pinMode(ledPin,OUTPUT);for(intx=2;x<6;x++){pinMode(x,INPUT);}}voidloop(){/*for(intx=2;x<6;x++){val=digitalRead(x);if(val==HIGH){digitalWrite(ledPin,LOW);Serial.println(x);}else{digitalWrite(ledPin,HIGH);}}*/if(digitalRead(2)==HIGH){Serial.println("2");
    digitalWrite(ledPin, LOW);  
  } else {
    digitalWrite(ledPin, HIGH);  
  }

}

La parte comentada estaba destinada a verificar las 5 conexiones, mientras que la parte sin comentarios solo comprueba el pin 2.

    
pregunta nadjatee1996

1 respuesta

2

Necesitas tener una resistencia por botón. Si no lo hace, entonces cualquier pulsación de tecla elevará el nodo común a + 5V y todos registrarán la pulsación de teclas.

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas