Hola, estoy usando un código de sensor termistor infrarrojo (MLX90614) y una pantalla NOKIA 5110, usando como base el arduino Mega, respectivamente.
El asunto es que, primeramente me daba el error de las librerías no incluidas, LCD5110_Graph y Adafruit_MLX90614, errores que ya resolví por un error al añadirlas.
Mi problema ahora es que me marca un error de compilación. Les dejo el código.
#include <LCD5110_Graph.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>
LCD5110 lcd(2,3,4,6,5); //Use this line with the shield
// LCD5110 lcd(8,9,10,12,11); //Use this line with a standalone Nokia 5110 display
char TEMPERATURE = 'C';
extern uint8_t SmallFont[];
extern uint8_t BigNumbers[];
extern uint8_t uic[];
extern uint8_t uif[];
extern uint8_t splash[];
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup()
{
Serial.begin(9600);
lcd.InitLCD(60);
mlx.begin();
lcd.drawBitmap(0, 0, splash, 84, 48);
lcd.update();
delay(3000);
}
void loop()
{
String temperature="";
lcd.clrScr();
if(TEMPERATURE == 'C')
{
temperature = String(mlx.readObjectTempC(),1);
lcd.drawBitmap(0, 0, uic, 84, 48);
}else
{
temperature = String(mlx.readObjectTempF(),1);
lcd.drawBitmap(0, 0, uif, 84, 48);
}
if(temperature.length()>4)
{
temperature.remove(3,2);
}
Serial.println(temperature);
lcd.setFont(BigNumbers);
if(temperature.length()==4)
{
lcd.print(temperature,5,19);
}else
{
lcd.print(temperature,15,19);
}
lcd.update();
delay(1000);
}
El error de compilación marcado es el siguiente:
C:\Users\AlanZ\AppData\Local\Temp\ccvSEErY.ltrans0.ltrans.o: In function `main':
<artificial>:(.text.startup+0x292): undefined reference to `splash'
<artificial>:(.text.startup+0x294): undefined reference to `splash'
<artificial>:(.text.startup+0x324): undefined reference to `uic'
<artificial>:(.text.startup+0x326): undefined reference to `uic'
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compilando para la tarjeta Arduino/Genuino Mega or Mega 2560.
Busqué en más hilos y en google pero no vi muy clara la información, será por la hora o no sé realmente, pero ya llevo dos días intentando resolverlo y me parece algo raro. ¿Ideas?
Gracias de antemano.