¿Cómo reemplazar el interruptor momentáneo y mantenido por Teensy?

0

Tengo una placa de controlador LCD (con algunos botones para abrir el menú / + / -) y un interruptor HDMI bidireccional (con un botón de cierre para redireccionar la salida HDMI a uno u otro) donde quiero eliminar esos botones y los ordenan a través de un teensy 2+ que compré. Solo necesito conectar GND a la placa y cambiar GND a teensy y hacer lo siguiente: (permite que el PIN_D5 establecido esté conectado al menú del botón de la placa lcd y PIN_D6 al botón de cierre)

En función de bucle:

pinMode(PIN_D5, OUTPUT); 
digitalWrite(PIN_D5, LOW); 
digitalWrite(PIN_D5, HIGH); 

para simular un impulso momentáneo

y

pinMode(PIN_D6, OUTPUT); 
digitalWrite(PIN_D6, LOW);

para simular un empuje mantenido?

    
pregunta Frntz

1 respuesta

1

La declaración de los modos de pines debería permanecer en la función de configuración, ya que no debería cambiar durante el programa.

Además, puedes mantener el estado del botón en una variable y cambiarlo más tarde mientras simulas un impulso:

bool btnState = false;
// ...
setup(){
      pinMode(PIN_D5, OUTPUT);
      pinMode(PIN_D6, OUTPUT);
    }

void switchButton(){
  btnState = !btnState;
  digitalWrite(PIN_D6, btnState);
}

[EDITAR]

Si desea simular un botón pulsado momentáneamente, es posible que deba esperar un poco entre presionar y soltar un botón dado, como se muestra a continuación:

void pressButton(int button){
  digitalWrite(button, HIGH);
  delay(100);
  digitalWrite(button, LOW);
}

NB: según la lógica de la placa del controlador LCD, es posible que deba cambiar el nivel ALTO a BAJO y viceversa

    
respondido por el Wizehunt

Lea otras preguntas en las etiquetas