Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Problema con librería Average.h
#1
Problemilla con una libreria de Arduino, help!

Resulta que tengo que capturar una señal analógica irregular comprendida entre 0 y 5V por la entrada Analógica del arduino, para hacer la captura más fina tengo puesto algunos filtros y todo correcto, con el Labview recibo una buena calidad pero para mayor "refinado" de la señal debo hacer la media de, por ejemplo 10 capturas. Con arduino, hacer la media de 10 capturas lo he logrado hacer con arrays y historias, pero he pensado que seria más util utilizar una libreria dedicada a ello, que además de calcular la media lograra darte el máximo, mínimo, etc. He encontrado esta librería http://playground.arduino.cc/Main/Average
El problema es que, después de descargar el zip de https://github.com/MajenkoLibraries/Average e instalar la librería correctamente, reiniciar el programa de Arduino, al intentar compliar el primer ejemplo de abajo, me salta un error que dice 'mean' was not declared in this scope y me lo dice tanto con mode, max, min... etc, es como si no pillara bien la función pero la librería se la ha tragado bien, incluso me marca en color la librería y mean, mode, max... cosa que destaca y que entiende que en el programa es una función. Obviamente me salta el mismo error cada vez que quiero acceder a la función para que me devuelva el mean, mode, etc. Estoy declarando mal la función, me falta algo de código? No he encontrado tampoco ningún caso parecido.
Tampoco es que necesite utilizar esta librería a muerte, si alguien conoce alguna otra que me pueda hacer trabajo parecido me iría de coña. Saludos al hilo!

Código:
#include <Average.h>

#define CNT 600
int d[CNT];

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

void loop()
{
  int i;

  for(i=0; i<CNT; i++)
  {
    d[i] = random(500);
  }  

  Serial.print("Mean: ");
  Serial.print(mean(d,CNT),DEC);
  Serial.print(" Mode: ");
  Serial.print(mode(d,CNT),DEC);
  Serial.print(" Max: ");
  Serial.print(maximum(d,CNT),DEC);
  Serial.print(" Min: ");
  Serial.print(minimum(d,CNT),DEC);
  Serial.print(" Standard deviation: ");
  Serial.print(stddev(d,CNT),4);
  Serial.println("");
  Serial.println("");

  delay(5000);
}
Citar
#2
Mire la librería en un ratito que tenia y me parecio raro lo que vi, parece que el array d que declaras al principio es de valores enteros (int) y la función mean devuelve un flotat mira por ahí a ver si ese es el problema. Un saludo.
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  problemas con libreria servo homer32 9 1,224 17-03-2017, 12:45 PM
Último mensaje: homer32
  control servo sin libreria "servo.h" homer32 11 3,289 08-12-2016, 01:25 PM
Último mensaje: homer32
  camara arduino libreria Asclem 2 1,950 07-01-2016, 03:47 PM
Último mensaje: Asclem
  problema al compilar con la libreria LiquidCrystal_I2C pedro 16 5,729 27-12-2013, 07:29 PM
Último mensaje: pedro