Arduino: ¿Dañé el clicker del joystick analógico al usar una entrada analógica en lugar de una entrada digital?

Estoy usando un joystick de pulgar para Arduino UNO, tratando de trabajar con él.

palanca de mando

Hay xy yvalores que obtengo con la entrada analógica A0y A1, y un zvalor para el clic que debería haber obtenido de la entrada digital D7, pero desafortunadamente lo conecté a otra entrada analógica ( A3).

Este es el cableado de la especificación.

detalles de cableado

Entonces, ahora que arreglé mi error, obtengo xfrom A1y yfrom A2, pero zsiempre es cero. ¿Existe la posibilidad de que la parte del joystick esté dañada físicamente? O peor, mi Arduino UNO? ¿Cómo puedo verificar?

int sensorPin = 5;
int value = 0;
void setup() {
  pinMode(7, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  value = analogRead(0);
  Serial.print("X:");
  Serial.print(value, DEC);
  value = analogRead(1);
  Serial.print(" | Y:");
  Serial.print(value, DEC);
  value = digitalRead(7);
  Serial.print(" | Z: ");
  Serial.println(value, DEC);
  delay(100); 
}

La especificación específica china está aquí . ¡Ojalá también estuviera disponible en inglés! :-/

Dudo que hayas dañado algo. Y no hablo chino. Pero me parece que faltan las instrucciones de cableado para el eje z, así que... ¿Cómo lo cableaste?
@VladimirCravero Mirando el código. Está leyendo desde el pin digital 7 en digitalRead(7). ¿No es el caso? Por cierto, el traductor de Google hizo un buen trabajo al traducirme del chino al inglés; Desafortunadamente después del hecho. :-/
intente pinMode (7, INPUT) en lugar de OUTPUT
Lo que dijo Weslesy, definitivamente. Y le pregunté cómo lo conectó, es decir, lo conectó, no cómo intenta leerlo.
@VladimirCravero Traté de averiguar sobre el cableado del código, porque no pude encontrar nada útil en la especificación en sí. Descubrí que está leyendo desde la entrada digital 7, así que cambié mi cableado y lo conecté a la sección digital, número 7.
El cable al número 7 está conectado a algo llamado swque no pude entender, pero es la única opción para z. Parece que es "interruptor".

Respuestas (1)

¿Daño el clicker del joystick analógico al usar la entrada analógica en lugar de la digital?

No. Ninguno de los modos extraerá cantidades dañinas de corriente a través del dispositivo.

Pero parece que ha configurado el pin 7 para que sea una salida y está tratando de leer los valores digitales de ese pin. ¿Es eso lo que pretendías? :)

En su lugar, conviértalo en una entrada y, en general, analice de cerca su código línea por línea.

Más información: configurar un pin para que sea una entrada configurará su microcontrolador para usar el modo "High-Z" en ese pin en particular. Esto significa que el pin se convierte en una entrada de alta impedancia ("Z" es la letra estándar para impedancia). Esto significa que casi ninguna corriente puede extraerse o sumergirse en ese pin.

Mientras está en estado High-Z (también conocido como "tri-estado", o simplemente como "entrada"), este pin puede hacer lecturas de entrada digital (niveles lógicos... 0 y 1) o lecturas analógicas (un 8- la entrada analógica de bits puede darle un valor entre 0x00 y 0xff), que puede escalar matemáticamente a un voltaje entre 0V y VCC.

El código es en realidad de la especificación, y creo que se lee desde el pin digital configurando pinMode(7, OUTPUT)y luego digitalRead(7). ¿No es el caso?
Por favor, no se ofenda, pero su "Pregunta" no se trata de eso. Se trata de si ha dañado o no su dispositivo. :) No tiene sentido leer valores de un pin de salida, ya que su propio código establece el valor de salida en sí.
@Ho1: si necesita una fuente para sentirse mejor, lea el estado de un botón usando pinMode (X, INPUT): arduino.cc/en/Tutorial/Button
@Ho1: en realidad, puede ser más dañino configurar un pin como Salida y luego acortarlo a 5V o GND con un botón que cambiar lectura analógica por lectura digital.
@Wossname No hay problema, primero elegí el título "problema de clic del joystick del pulgar analógico", pero luego pensé que debería ser más específico. Gracias por señalarme posibles peligros.
¿Puede editar su pregunta original para mostrarnos su diagrama de cableado con todo detalle (preferiblemente en forma de imagen).
@Wossname Mi problema se solucionó de alguna manera, y ahora puedo obtener los clics del interruptor. Si es necesario, puedo agregar cableado para mayor claridad. Pero como soy nuevo aquí (y la electrónica en general), no sé cómo dibujar diagramas aquí. ¿Podría indicarme una ayuda para dibujar un diagrama de cableado?
Sospecho que su cambio de "SALIDA" a "ENTRADA" en el pin 7 lo resolvió por usted, pero para referencia futura, puede cargar una captura de pantalla de su diagrama o usar el editor de diagrama de circuito de intercambio de pila, que puede activar haciendo clic en el en la barra de herramientas del "editor de preguntas". Personalmente, solo subo una imagen la mayor parte del tiempo.
He adjuntado el diagrama de cableado de la especificación. El hecho divertido aquí es que hay otro error en el código original. La primera línea es incorrecta (número 5 en lugar de 7), pero tampoco está vigente. Gran control de calidad! :-D Gracias por su ayuda, así pude solucionar el problema. Por cierto, el último párrafo de su respuesta sobre el voltaje fue informativo. ¿Podrías agregarlo de nuevo?