Go Down

Topic: Codigo da error INA226_Class::setBusConversion() (Read 298 times) previous topic - next topic

RAM1968

May 23, 2018, 11:52 pm Last Edit: May 24, 2018, 03:13 pm by RAM1968
Hola gente este es mi primera vez aqui, el tema es que quiero armar un voltimetro-amprimetro con arduino pero al querer subir el codigo me genera error :

Arduino:1.8.3 (Windows 7), Tarjeta:"Arduino/Genuino Uno"

Code: [Select]
C:\Users\Jose\Desktop\Voltimetro amperimetro con ARDUINO\DisplayReadings\DisplayReadings.ino: In function 'void setup()':

DisplayReadings:67: error: no matching function for call to 'INA226_Class::setBusConversion()'

 INA226.setBusConversion();                                                  // Maximum conversion time 8.244ms  //

                         ^

C:\Users\Jose\Desktop\Voltimetro amperimetro con ARDUINO\DisplayReadings\DisplayReadings.ino:67:27: note: candidate is:

In file included from C:\Users\Jose\Desktop\Voltimetro amperimetro con ARDUINO\DisplayReadings\DisplayReadings.ino:35:0:

C:\Users\Jose\Documents\Arduino\libraries\INA226-master/INA226.h:114:16: note: void INA226_Class::setBusConversion(uint8_t, uint8_t)

     void     setBusConversion(uint8_t convTime,                             // Set timing for Bus conversions   //

              ^

C:\Users\Jose\Documents\Arduino\libraries\INA226-master/INA226.h:114:16: note:   candidate expects 2 arguments, 0 provided

DisplayReadings:68: error: no matching function for call to 'INA226_Class::setShuntConversion()'

 INA226.setShuntConversion();                                                // Maximum conversion time 8.244ms  //

                           ^

C:\Users\Jose\Desktop\Voltimetro amperimetro con ARDUINO\DisplayReadings\DisplayReadings.ino:68:29: note: candidate is:

In file included from C:\Users\Jose\Desktop\Voltimetro amperimetro con ARDUINO\DisplayReadings\DisplayReadings.ino:35:0:

C:\Users\Jose\Documents\Arduino\libraries\INA226-master/INA226.h:116:16: note: void INA226_Class::setShuntConversion(uint8_t, uint8_t)

     void     setShuntConversion(uint8_t convTime,                           // Set timing for Shunt conversions //

              ^

C:\Users\Jose\Documents\Arduino\libraries\INA226-master/INA226.h:116:16: note:   candidate expects 2 arguments, 0 provided

exit status 1
no matching function for call to 'INA226_Class::setBusConversion()'

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.








Swift

Hola bienvenido al foro, porfavor revisa las normas del foro además pon el código completó, y utiliza las etiquetas correspondiente para poder observar cual es el error en el código.

surbyte

Moderador: Adjúntalo entonces. de nuevo no has leído las normas porque lo dice claramente cuando explica como poner etiquetas a los códigos.

RAM1968


surbyte

Tu error es que usas

Code: [Select]

INA226.setBusConversion();   
INA226.setShuntConversion();
 

y deben tener un valores

Code: [Select]

INA226.setBusConversion(7);   
INA226.setShuntConversion(7);


Si lees bien, los errores te estaban indicando la falta de parámetros.

RAM1968

#5
May 26, 2018, 02:04 pm Last Edit: May 26, 2018, 02:08 pm by RAM1968
Gracias surbyte por su pronta respuesta, sabia que faltaban paramentros pero no tengo experiencia en programacion y no se cuanto asignarle. Ademas habia leido que si no se le asigna nada es igual a 1. Ud. cree que asignandole 7 funcionara?. Saludos y gracias.

surbyte

Yo miré el ejemplo de la librería y esos datos puse, ahora en tu caso debes analizar en función de tu tarea.
Explica tu tarea con el INA226.

En que contexto va a medir/funcionar?
Explica todo por favor.

RAM1968

Hola surbyte, le cuento que es para agregarle a mi fuente de "Laboratorio" para que por el display lcd 2x16 me de los valores de
-corriente
-voltaje
-potencia
-energia
Esta fuente es de hasta 42V 5A.
Esto yo no lo programe el codigo obviamente porque no se hacerlo, sino que lo saque de youtube de Proyectos LED. Lo que no entiendo es porque el autor lo subio sin ningun error y a mi me sale ese error. Que si no le pongo algun numero en esos parametros no anda. Bueno espero que entienda mi problema. Saludos y gracias.
 

surbyte

#8
May 27, 2018, 06:18 am Last Edit: May 27, 2018, 06:10 pm by surbyte
Veré si puede aclararte el panorama

Viendo la librería encuentras esto en el archivo INA226.cpp

Code: [Select]
INA226.begin(2,100000);                                                    
este es la inicialización del objeto INA226.

setAveraging
Fija la cantidad de valores promediados. No puede ser 0.
Code: [Select]
void     setAveraging(const uint16_t averages, const uint8_t deviceNumber=UINT8_MAX);



En la tabla se ven los posibles valores a usar, que van de 1 a 1024 muestras.
Y los valores posibles estan ahi indicados.

Code: [Select]
INA226.setAveraging(4); // son 4 muestras

setBusConversion
Code: [Select]
setBusConversion(uint8_t convTime, const uint8_t deviceNumber=UINT8_MAX); //Set timing for Bus conversions   //


Fija el tiempo de conversión para la conversión de las tensiones del bus.Va de 104 useg a 8.244mseg
Code: [Select]
INA226.setBusConversion(7);



El valor que se debe elegir corresponde a las opciones de la tabla
Fija el tiempo de conversión para la mendición de la tensión shunt.

Modo
INA226.setMode(INA_MODE_CONTINUOUS_BOTH);
Fija el modo, disparo o power-down




Go Up