simular pin como no conectarse en ninguna parte

1

Estoy diseñando un sistema de medición basado en un solo pin. Cuando el pin está conectado a GND, significa moverse hacia la derecha. Si el pin no está conectado a nada, no ocurre ninguna acción.

El sistema fue controlado originalmente por un interruptor de botón, pero quiero controlarlo con un mouse tal que cuando el mouse se mueve a la derecha, el pin está conectado a GND, y cuando el mouse no se mueve, el pin está conectado en ninguna parte.

He intentado conectar el pin al tercer pin de Arduino UNO. Siempre que se detecte el movimiento hacia la derecha del mouse, el tercer pin debe conectarse a tierra. Cuando el movimiento del mouse es algo más que hacia la derecha, el tercer pin del Arduino UNO debería funcionar como si no estuviera conectado.

Creo que hacer que el tercer pin actúe como GND se puede hacer mediante analogWrite(3,0) , pero ¿cómo puedo simular "conectado en ninguna parte"?

    
pregunta kim taeyun

2 respuestas

1

Suena más como si tuvieras una resistencia pull-up en algún lugar. Cuando se desconecta el pin, la resistencia realmente lo eleva a Vcc, lo que provoca que la corriente fluya desde Vcc a la entrada, lo que provoca un alto nivel lógico. Cuando el pin está conectado a tierra, la energía fluye a través de la resistencia y baja a tierra sin pasar por la entrada, causando una baja lógica.

Muchas MCU tienen incorporadas estas resistencias de pull-up y se pueden habilitar / deshabilitar en el software.

Aplicar un "alto" lógico (enlazando a Vcc), o emitir un '1' lógico desde un puerto de salida, debería dar el mismo resultado que desconectar el pin.

    
respondido por el Majenko
2

No soy usuario de Arduino, pero sé que los AVR (como muchos otros microcontroladores) tienen el llamado estado de alta impedancia.

Hay una explicación sobre cómo usarlo en Arduino aquí . Así que lo intentaría con PinMode (pinno, entrada) . El estado de alta impedancia debe dejar el pin flotante y estar lo más cerca posible del pin no conectado como puedas.

    
respondido por el AndrejaKo

Lea otras preguntas en las etiquetas