Diferencia entre revisiones de «analogRead()»
De ArduWiki
(→Advertencias) |
(→Ejemplo) |
||
Línea 24: | Línea 24: | ||
* Se tarda unos 100 microsegundos para leer una entrada analógica, por lo que la velocidad de lectura máxima es de alrededor de 10,000 veces por segundo. | * Se tarda unos 100 microsegundos para leer una entrada analógica, por lo que la velocidad de lectura máxima es de alrededor de 10,000 veces por segundo. | ||
− | == Ejemplo == | + | == Ejemplo 1 == |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
analogRead(A0); | analogRead(A0); | ||
− | analogRead( | + | analogRead(5); |
+ | |||
+ | const byte pin = 3; | ||
+ | int valor = analogRead(pin); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 2 == | ||
+ | <syntaxhighlight lang="c++"> | ||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | void loop(){ | ||
+ | Serial.println(analogRead(A2)); | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revisión del 18:55 3 jul 2018
Contenido
Descripción
Lee el valor de pines analógicos marcados en Arduino como A0~A5, con una resolución de 10 bits. Esta instrucción sólo funciona en los pines (A0~A5).
Nota: Los pines analógicos de entrada, al igual de que digitales de entrada no necesitan ser definidos con pinMode().
Sintaxis
analogRead(pin);
Parámetros
Retorno
El rango de valores devuelto puede estar entre 0~1023. Numero tipo int.
Advertencias
- No debes dejar al aire estos pines porque generan ruido electrico.
- La placa Arduino contiene 6 canales (8 canales para MINI y NANO, 16 para MEGA), analógicos con convertidor analógico a digital (ADC) de 10 bit. Esto significa que mapeará tensiones de entrada entre 0~5V en valores enteros entre 0~1023. Esto produce una resolución entre las lecturas de 4.9 mV por unidad.
Comentarios
- Si el pin de entrada analógica no está conectado (al aire o flotante), el valor devuelto por 'analogRead() fluctuará en base a una serie de factores (por ejemplo, los valores de las otras entradas analógicas, lo cerca que tu mano este a la placa, etc.).
- El rango de entrada y la resolución se pueden cambiar con analogReference().
- Se tarda unos 100 microsegundos para leer una entrada analógica, por lo que la velocidad de lectura máxima es de alrededor de 10,000 veces por segundo.
Ejemplo 1
analogRead(A0);
analogRead(5);
const byte pin = 3;
int valor = analogRead(pin);
Ejemplo 2
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(analogRead(A2));
}