Arduino: ¿Dañé el pulsador de joystick analógico usando entrada analógica en lugar de digital?

1

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

HayvaloresdexyyqueobtengoconlaentradaanalógicaA0yA1,yunvalordezparaelclicquedeberíahaberobtenidodelaentradadigitalD7,perodesafortunadamenteloconectéaotraentradaanolog(A3).

Esteeselcableadodelaespecificación

Entonces,ahoraquesolucionémierror,obtengoxdeA1yydeA2,perozsiempreescero.¿Existelaposibilidaddequelapartedeljoystickestédañadafísicamente?Opeor,miArduinoUNO?¿Cómopuedoverificar?

intsensorPin=5;intvalue=0;voidsetup(){pinMode(7,OUTPUT);Serial.begin(9600);}voidloop(){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 del chino es aquí . ¡Ojalá estuviera también disponible en inglés! : - /

    
pregunta Ho1

1 respuesta

2
  

¿Dañé el pulsador de joystick analógico usando entrada analógica en lugar de digital?

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

Pero parece que has establecido que el pin 7 es una salida, y estás 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, haga que su código se analice 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 la impedancia). Esto significa que casi ninguna corriente puede extraerse o hundirse en ese pin.

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

    
respondido por el Wossname

Lea otras preguntas en las etiquetas