This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 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);
}
  Responder
#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.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  problemas con libreria servo homer32 9 5,462 17-03-2017, 12:45 PM
Último mensaje: homer32
  control servo sin libreria "servo.h" homer32 11 10,694 08-12-2016, 01:25 PM
Último mensaje: homer32
  camara arduino libreria Asclem 2 4,159 07-01-2016, 03:47 PM
Último mensaje: Asclem
  problema al compilar con la libreria LiquidCrystal_I2C pedro 16 16,025 27-12-2013, 07:29 PM
Último mensaje: pedro