Hola a tod@s... tengo problemas para cargar un sketch al attiny85, ya hice el hola mundo con attiny y salio bien... quiero replicar este proyecto Indicador de temperatura con MLX90614 - Digispark (Attiny85) Arduino IDE yo tengo solo el attiny no la tarjeta que se ve en enlace... este es el código:
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal_I2C_Attiny85.h>
LiquidCrystal_I2C_Attiny85 lcd(0x27, 16, 2);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
mlx.begin();
lcd.begin();
lcd.backlight();
lcd.print("Object: ");
lcd.setCursor(0,1);
lcd.print("Ambient: ");
}
void loop() {
lcd.setCursor(8,0);
lcd.print(mlx.readObjectTempC());
lcd.setCursor(9,1);
lcd.print(mlx.readAmbientTempC());
delay(300);
}
Agradezco a quien me pueda colaborar... (y)
si lo estoy diciendo claramente en el titulo!!! error: "compilando para tarjeta attiny 85"... no compila... no carga al ATtiny85...
Ese error es genérico, yo me refería a algo como esto
C:\Users\Ricardo\Documents\Arduino\libraries\LiquidCrystal_I2C_Attiny85\LiquidCrystal_I2C_Attiny85.cpp:5:70: fatal error: TinyWireM.h: No such file or directory
#include <TinyWireM.h> // include this if ATtiny85 or ATtiny2313
Bueno como se quejaba x TinyWireM, descargué e instalé desde aqui
Solo para que arroje mas errores
:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c: In function 'twi_init':
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:76:16: error: 'SDA' undeclared (first use in this function)
digitalWrite(SDA, 1);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:76:16: note: each undeclared identifier is reported only once for each function it appears in
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:77:16: error: 'SCL' undeclared (first use in this function)
digitalWrite(SCL, 1);
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:25:
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:80:7: error: 'TWSR' undeclared (first use in this function)
cbi(TWSR, TWPS0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:80:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:80:13: error: 'TWPS0' undeclared (first use in this function)
cbi(TWSR, TWPS0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:80:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:81:13: error: 'TWPS1' undeclared (first use in this function)
cbi(TWSR, TWPS1);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:81:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS1);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:82:3: error: 'TWBR' undeclared (first use in this function)
TWBR = ((F_CPU / TWI_FREQ) - 16) / 2;
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:90:3: error: 'TWCR' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:25:
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:90:14: error: 'TWEN' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:90:26: error: 'TWIE' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:90:38: error: 'TWEA' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c: In function 'twi_disable':
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:102:3: error: 'TWCR' undeclared (first use in this function)
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:25:
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:102:17: error: 'TWEN' undeclared (first use in this function)
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:102:29: error: 'TWIE' undeclared (first use in this function)
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:102:41: error: 'TWEA' undeclared (first use in this function)
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:105:16: error: 'SDA' undeclared (first use in this function)
digitalWrite(SDA, 0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:106:16: error: 'SCL' undeclared (first use in this function)
digitalWrite(SCL, 0);
^
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c: In function 'twi_setAddress':
C:\Users\Ricardo\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.207\libraries\Wire\src\utility\twi.c:118:3: error: 'TWAR' undeclared (first use in this function)
TWAR = address << 1;
y siguen, suspendo porque no van a entrar
Me parece que el problema esta dado en las versiones de las librerías.
Paso a otro post porque sigo descubriendo cosas.
El problema es la libreria LiquidCrystal_I2C_Attiny85 que desnuda un problema del gestor de placas para el ATtiny85.
Adafruit dice tener resuelto el tema usando este enlace
Atmega & Attiny cores: http://www.leonardomiliani.com/repository/package_leonardomiliani.com_index.json
ATmega644/644P & ATmega1284P core (w/bootloader)
ATmega168P/328P core (for standalone MCUs)
ATtiny24/44/84, ATtiny25/45/85, and ATtiny2313/4313 core (I2C & SoftSerial)
Bueno complejo el tema pero lo resolví.
A ver si puedo explicarme
Tienes que buscar en el gestor de librerías TinyWireM pero la versión 1.0.0 no la 1.0.1 que da error.
Observa que copie la descarga de LiquidCrystal_I2C_Attiny85 en la carpeta de Libraries pero modifiqué el objeto x
LiquidCrystal_I2C_Attiny85 y no como viene LiquidCrysta_I2C. Atento a esto.
//#include <Wire.h>
#include <LiquidCrystal_I2C_Attiny85.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C_Attiny85 lcd(0x27, 16, 2);
void setup()
{
// initialize the LCD
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.print("Hello, world!");
}
void loop()
{
// Do nothing here...
}
Pero... al volver con Adafruit_MLX90614 me arroja errores porque de nuevo, no existe Wire.h.