analogRead() duda (aclarado)

He visto lo siguiente en un sketh de por ahi

define una constante global const int knockSensor = A0;

luego en el loop aparece esto

analogRead(knockSensor);

Bien mi duda es por que define el pin 0 con "A0" cuando en la documentacion de oficial para analogRead() lo pone asi analogRead(0);

Sin la A

En la documentación oficial pone que denominar a los pines analógicos con A0, A1, ...... sirve para usarlos como digitales: http://arduino.cc/en/Tutorial/AnalogInputPins ó http://arduino.cc/en/Reference/PinMode

O sea, que siendo que en ese sketch se utilizan como analógicos debería ser 0 en lugar de A0, pero supongo que da igual, e incluso veo recomendado su uso.

ajá, yo lei ese manual tambien y me lie, pero ahora lo he entendido. No sabia que se podian usar como digitalWrite los pines analogicos. Mis basicos conocimientos del ingles a veces ayudan otras no tanto.

Entonces para que no se confundan los pines digitales con los analogicos se pone la A

Decir que si pones analogRead(A0) funciona (lo he comprobado) aunque no sea lo mas adecuado.

bien, muchas gracias

Efectivamente como decís la cosa es así:

  • A0, A1... son alias para los pines analógicos.
  • Puesto que los pines analógicos pueden ser tratados como digitales en las funciones digitalWrite() y pinMode() se usa para distinguir los identificadores de los pines digitales de los pines analógicos.
  • Es muy recomendable su uso, incluso en la función analogRead(). Por redundante que pueda parecer, es aclaratorio para reconocer que se está utilizando un pin analógico.

coLe.

muchas gracias

perfectamente aclarado