analogRead()

Descripción

Lee el valor del pin analógico especificado. La placa Arduino contiene 6 canales (8 canales en el Mini yNano, 16 en el Mega), analógicos con convertidor analógico a digital de 10-bit. Esto significa que mapeará tensiones de entrada entre 0 y 5 voltios en valores enteros entre 0 y 1023. Esto produce una resolución entre las lecturas de: 5 voltios / 1024 unidades = 0.0049 voltios (4,9 mV) por unidad. El rango de entrada y la resolución se pueden cambiar con analogReference().
Se tarda unos 100 microsegundos (0.0001 s) para leer una entrada analógica, por lo que la velocidad de lectura máxima es de alrededor de 10.000 veces por segundo.

Sintaxis

analogRead(pin)

Parámetros

pin: el número de pin de la entrada analógica a leer (0 a5 en la mayoría de las placas, 0 a 7 en el Mini y Nano, 0 a 15 en el Mega)

Retornos

int (0 to 1023)

Nota

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 est.e a la placa, etc.).

Ejemplo

int analogPin = 3;     // potenciómetro (terminal centrall) conectado al pin analógico 3                        // terminales exteriores a +5 V y a masa int val = 0;           // variable para almacenar el valor leido
void setup() {   Serial.begin(9600);          // configuración serie }
void loop() {   val = analogRead(analogPin);    // lee el pin de entrada   Serial.println(val);             // imprime el valor }

11 comentarios:

  1. Hola...¿Como puedo sacar el promedio de una lectura de 10 datos con el sensor BMP180?
    Dejo código del BMP180
    #include
    #include

    Adafruit_BMP085 bmp;

    void setup() {
    Serial.begin(9600);
    if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP085 sensor, check wiring!");
    while (1) {}
    }

    }


    void loop() {

    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");

    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");


    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" meters");

    Serial.print("Pressure at sealevel (calculated) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");


    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");

    Serial.println();
    delay(500);
    }

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. simple, usá algo para sacar el promedio como

    var=0;
    for(byte i=0; i<10; i++){
    var += bmp.readTemperature();
    delay(3);
    }
    var /= 10;

    ResponderEliminar
  4. Cómo puedo sacar el promedio de la lectura de 10 valores RSSI de potencia WiFI para el dispositivo?

    #include

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

    WiFi.mode(WIFI_STA);
    WiFi.disconnect();
    delay(100);

    Serial.println("MODO ESTACION CONFIGURADO");
    Serial.println("");
    }

    void loop()
    {
    Serial.println("Escaneando dispositivos...");
    for (int m = 0; m < 10; ++m){
    int n = WiFi.scanNetworks();

    for (int n = 0; n < 10; ++n)
    {
    if((WiFi.SSID)(n)!="Dispositivo-01"||"Dispositivo-02"||"Dispositivo-03"||"Dispositivo-04")
    //Serial.println("No se encontraron dispositivos");
    continue;
    }
    if (n!=0)
    {
    for (int i = 0; i < n; ++i)
    {
    if((WiFi.SSID)(i)!="Dispositivo-01")
    continue;
    //Serial.print(i + 1);
    //Serial.println(" ");
    Serial.print("- Escaneo ");
    Serial.print(m + 1);
    Serial.print(" ");
    Serial.print(WiFi.SSID(i));
    Serial.print(": (");
    Serial.print(WiFi.RSSI(i));
    Serial.print("dBm");
    Serial.println(")");
    //delay(100);

    }
    }
    }
    Serial.println("");
    //delay(5000);
    }

    ResponderEliminar
  5. Muy buenas, me ha venido de perlas este post para empezar a trabajar con la función. ¿Cómo podría utilizarlo con un sensor de audio para que iluminara un led si detecta sonido?
    Muchas gracias de antemano

    ResponderEliminar