Diferencia entre revisiones de «analogReadResolution()»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo)
(Referencias externas)
 
(No se muestran 5 ediciones intermedias del mismo usuario)
Línea 2: Línea 2:
 
Configura el tamaño (en bits) del valor devuelto por [[analogRead()]]. Su valor predeterminado de ADC es 10 bits (devuelve valores entre 0~1023) para la compatibilidad con placas basadas AVR.
 
Configura el tamaño (en bits) del valor devuelto por [[analogRead()]]. Su valor predeterminado de ADC es 10 bits (devuelve valores entre 0~1023) para la compatibilidad con placas basadas AVR.
  
{{Nota|Extensión de la Analog API para los Arduino Due y Zero.}}
+
{{Nota|Extensión de la Analog API para los Arduino [[DUE]] y [[ZERO]].}}
  
El Due y el Zero tienen capacidades ADC de 12 bits (devuelve valores entre 0~4095) a las que se puede acceder cambiando la resolución a 12.
+
El [[DUE]] y el [[ZERO]] tienen capacidades ADC de 12 bits (devuelve valores entre 0~4095) a las que se puede acceder cambiando la resolución a 12.
  
 
== Sintaxis ==
 
== Sintaxis ==
Línea 24: Línea 24:
  
 
== Ejemplo ==
 
== Ejemplo ==
<pre>
+
<syntaxhighlight lang="c++">
 
void setup() {
 
void setup() {
 
   Serial.begin(9600);  
 
   Serial.begin(9600);  
Línea 52: Línea 52:
 
   delay(100);
 
   delay(100);
 
}
 
}
</pre>
+
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[analogRead()]]
+
<categorytree mode=all>Funciones pines</categorytree>
* [[analogReference()]]
 
* [[analogWriteResolution()]]
 
  
== Referencias ==
+
== Referencias externas ==
 
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino]
 
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino]
 +
* [http://manueldelgadocrespo.blogspot.com/p/analogreadresolution.html analogReadResolution()] - Manuel Delgado
  
[[Category:Funciones]]
+
[[Category:Funciones pines]]

Revisión actual del 16:47 4 jul 2019

Descripción

Configura el tamaño (en bits) del valor devuelto por analogRead(). Su valor predeterminado de ADC es 10 bits (devuelve valores entre 0~1023) para la compatibilidad con placas basadas AVR.

Nota: Extensión de la Analog API para los Arduino DUE y ZERO.


El DUE y el ZERO tienen capacidades ADC de 12 bits (devuelve valores entre 0~4095) a las que se puede acceder cambiando la resolución a 12.

Sintaxis

analogReadResolution(bits)

Parámetros

bits
determina la resolución (en bits) del valor devuelto por la función analogRead(). Puede establecer este entre 1 y 32. Se pueden ajustar resoluciones superiores a 12 pero los valores devueltos por analogRead() sufrirán una aproximación.

Retornos

Nada.

Advertencias

  • Si se establece el valor de analogReadResolution() a un valor más alto que las capacidades de la placa, el Arduino sólo informará en su mayor resolución rellenando los bits extra con ceros.
  • Por ejemplo: el uso de la Due o la Zero con analogReadResolution(16) le dará un número aproximado de 16 bits con los primeros 12 bits que contienen la lectura ADC real y los últimos 4 bits rellenados con ceros.
  • Si se establece el valor analogReadResolution() a un valor inferior a las capacidades de la placa, se descartarán los bits menos significativos adicionales leídos de la ADC.
  • El uso de una resolución de 16 bits (o cualquier resolución mayor que las capacidades reales del hardware) le permite escribir sketchs que manejan automáticamente los dispositivos con una resolución ADC mayor cuando éstos estén disponibles en las placas futuras sin cambiar una sola línea de código.

Ejemplo

void setup() {
   Serial.begin(9600); 
}

void loop() {
   //Lee la entrada A0 con resolución por defecto (10 bits)
   analogReadResolution(10);
   Serial.print("ADC 10 bit (default) : ");
   Serial.print(analogRead(A0));

   //Cambia la resolución a 12 bits y lee A0
   analogReadResolution(12);
   Serial.print(", 12 bit : ");
   Serial.print(analogRead(A0));

   //Cambia la resolución a 16 bits y lee A0
   analogReadResolution(16);
   Serial.print(", 16 bit : ");
   Serial.print(analogRead(A0)); 

   //Cambia la resolución a 8 bits y lee A0
   analogReadResolution(8);
   Serial.print(", 8 bit : ");
   Serial.println(analogRead(A0));

   delay(100);
}

Vea también


Referencias externas