Go Down

Topic: analogRead() duda (aclarado) (Read 720 times) previous topic - next topic

zacarino

Jul 28, 2011, 10:49 pm Last Edit: Jul 29, 2011, 03:42 pm by zacarino Reason: 1
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


Razorblade

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.
Arduino Uno (R2fix) / Duemilanove (328p)
Ethernet Shield SD (v5)

zacarino

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

coleoptero

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.
Consejos para hacer un correcto uso de los foros.

http://arduino.cc/playground/Es/Consejos

zacarino

muchas gracias

perfectamente aclarado

Go Up