Come far lavorare attiny85 con giroscopio MPU6050

salve e buongiorno a tutti, da poco ho approcciato la programmazione di microcontrollori e ho voluto iniziare dalle basi: attiny85. Ho iniziato col solito blink e tutto va bene, il problema sorge nel momento in cui voglio "osare" e collegare un giroscopio in modo da avere una conseguenza X nel momento in cui si ha un determinato movimento.

Mi appare uno strano messaggio di errore nel momento in cui provo a caricare questo sketch

#include <MPU6050_tockn.h>
#include <Wire.h>
#include <Servo.h>

// creo link I2C sensore
MPU6050 mpu6050(Wire);

Servo servo1;

void setup() {
  //inizializzo collegamento I2C
  Wire.begin();
  //inizializzo sensore
  mpu6050.begin();
  mpu6050.setGyroOffsets(0, 0, 0);
  
  //servocomando
  servo1.attach(0); //pin n5 attiny85 fisico ;
  servo1.write(0); // posizione servo;
  delay(1000);
}

unsigned long t1, td;
float y;

void loop() {
  mpu6050.update(); 

  td = millis()-t1;
  if (td >= 1000) { 
    t1 = millis();
    // ricevo dato sensore
    y = mpu6050.getAngleY();
    if (y < -20) {
      servo1.write(100);
      delay(1000);
    }
  }
}

messaggio di errore:

Citazione Arduino:1.8.16 (Windows 10), Scheda:"ATtiny25/45/85, ATtiny85, Internal 8 MHz"

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp: In member function 'void MPU6050::calcGyroOffsets(bool, uint16_t, uint16_t)':

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:58:5: error: 'Serial' was not declared in this scope

 Serial.println();

 ^~~~~~

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:58:5: note: suggested alternative: 'Stream'

 Serial.println();

 ^~~~~~

 Stream

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:65:7: error: 'Serial' was not declared in this scope

   Serial.print(".");

   ^~~~~~

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:65:7: note: suggested alternative: 'Stream'

   Serial.print(".");

   ^~~~~~

   Stream

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:85:5: error: 'Serial' was not declared in this scope

 Serial.println();

 ^~~~~~

C:\Users\huawei\Documents\Arduino\libraries\MPU6050_tockn\src\MPU6050_tockn.cpp:85:5: note: suggested alternative: 'Stream'

 Serial.println();

 ^~~~~~

 Stream

exit status 1

Errore durante la compilazione per la scheda ATtiny25/45/85.

non so da dove partire per poter analizzare questo errore...sono pur sempre un novellino in questo campo per questo spero che voi possiate darmi una mano.

grazie mille e buona serata.

Eppure è un errore chiaro e semplice da capire se lo si legge con calma ... gli ATtiny85 NON hanno porta seriale e quindi NON esiste la Serial.

Quella libreria NON è stata fatta per quelle MCU e quindi, così com'è, è incompatibile con gli ATtiny. Puoi provare a modificare il sorgente ed eliminare tutto quello che coinvolge la porta seriale (che, probabilmente, è usata solo a fini di debug e di informazione).

Guglielmo

Grazie Guglielmo per la risposta.
Ho provato a modificare la libreria eliminando tutte le parti che stabilivano un legame attraverso la seriale ma ora mi dà un altro problema che dovrebbe provenire dal fatto che stia provando ad includere "Wire.h".
Il tiny85 dovrebbe supportare quest'ultima libreria?

Citazione
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_init':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:88:16: error: 'SDA' undeclared (first use in this function)
digitalWrite(SDA, 1);
^~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:88:16: note: each undeclared identifier is reported only once for each function it appears in
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:89:16: error: 'SCL' undeclared (first use in this function); did you mean 'SPL'?
digitalWrite(SCL, 1);
^~~
SPL
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:7: error: 'TWSR' undeclared (first use in this function); did you mean 'ACSR'?
cbi(TWSR, TWPS0);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:13: error: 'TWPS0' undeclared (first use in this function); did you mean 'TWSR'?
cbi(TWSR, TWPS0);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:93:13: error: 'TWPS1' undeclared (first use in this function); did you mean 'TWPS0'?
cbi(TWSR, TWPS1);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:93:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS1);
^~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:94:3: error: 'TWBR' undeclared (first use in this function); did you mean 'TWSR'?
TWBR = ((F_CPU / TWI_FREQ) - 16) / 2;
^~~~
TWSR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:3: error: 'TWCR' undeclared (first use in this function); did you mean 'TWBR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^~~~
TWBR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_disable':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^~~~
EECR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:17: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:29: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:41: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:117:16: error: 'SDA' undeclared (first use in this function)
digitalWrite(SDA, 0);
^~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:118:16: error: 'SCL' undeclared (first use in this function); did you mean 'SPL'?
digitalWrite(SCL, 0);
^~~
SPL
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_setAddress':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:130:3: error: 'TWAR' undeclared (first use in this function); did you mean 'TIFR'?
TWAR = address << 1;
^~~~
TIFR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_setFrequency':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:141:3: error: 'TWBR' undeclared (first use in this function); did you mean 'TIFR'?
TWBR = ((F_CPU / frequency) - 16) / 2;
^~~~
TIFR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_readFrom':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:204:7: error: 'TWDR' undeclared (first use in this function); did you mean 'DWDR'?
TWDR = twi_slarw;
^~~~
DWDR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:209:13: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
} while(TWCR & _BV(TWWC));
^~~~
TWDR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:209:24: error: 'TWWC' undeclared (first use in this function); did you mean 'TWCR'?
} while(TWCR & _BV(TWWC));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:16: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:29: error: 'TWEA' undeclared (first use in this function); did you mean 'TWWC'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:41: error: 'TWEN' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:53: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:213:65: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_writeTo':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:301:7: error: 'TWDR' undeclared (first use in this function); did you mean 'DWDR'?
TWDR = twi_slarw;
^~~~
DWDR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:306:13: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
} while(TWCR & _BV(TWWC));
^~~~
TWDR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:306:24: error: 'TWWC' undeclared (first use in this function); did you mean 'TWCR'?
} while(TWCR & _BV(TWWC));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:16: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:29: error: 'TWEA' undeclared (first use in this function); did you mean 'TWWC'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:41: error: 'TWEN' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:53: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:310:65: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE) | _BV(TWSTA); // enable INTs
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_reply':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:5: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^~~~
EECR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:16: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:28: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:40: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:53: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_stop':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^~~~
EECR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:50: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:63: error: 'TWSTO' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_releaseBus':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^~~~
EECR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:50: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_handleTimeout':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:475:29: error: 'TWBR' undeclared (first use in this function); did you mean 'TIFR'?
uint8_t previous_TWBR = TWBR;
^~~~
TIFR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:476:29: error: 'TWAR' undeclared (first use in this function); did you mean 'TWBR'?
uint8_t previous_TWAR = TWAR;
^~~~
TWBR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\compat\twi.h:36:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:29:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'TWI_vect':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWSR' undeclared (first use in this function); did you mean 'ACSR'?
switch(TW_STATUS){
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS7' undeclared (first use in this function); did you mean 'TWSR'?
switch(TW_STATUS){
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS6' undeclared (first use in this function); did you mean 'TWS7'?
switch(TW_STATUS){
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS5' undeclared (first use in this function); did you mean 'TWS6'?
switch(TW_STATUS){
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS4' undeclared (first use in this function); did you mean 'TWS5'?
switch(TW_STATUS){
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS3' undeclared (first use in this function); did you mean 'TWS4'?
switch(TW_STATUS){
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:510:7: error: 'TWDR' undeclared (first use in this function); did you mean 'TWSR'?
TWDR = twi_slarw;
^~~~
TWSR
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:10: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^~~~
TWDR
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:21: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:34: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWS3'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:46: error: 'TWEN' undeclared (first use in this function); did you mean 'TWINT'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;

il problema risiede nei file twi della wire ma non so come agire senza far danni, presumo dovrei riconfigurarla in modo tale che la connessione I2C avvenga tra il tiny e il mpu6050...ma come? non trovo guide al riguardo

grazie mille,
Riccardo

Perché probabilmnete NON stai usando il giusto "core" per ATTiny85 ...
... ogni MCU deve avere il suo "core" o NON puoi usarla con Arduino IDE.

Fortunatamente per te, per ATTiny85 esiste un ottimo "core" scritto da Spence Konde che si chiama ATTinyCore e che trovi QUI. Segui le istrizioni per farlo riconoscere al Board manager e per installarlo nell'IDE così da poter compilare.

La Wire presente in quel core funziona perfettamente con ATTiny85 :wink:

Guglielmo

Scusami ancora ma non mi è ben chiaro, leggo ora la tua risposta.
Per "core" esattamente cosa intendi? Se intendi che dovrei utilizzare i settaggi adatti per attiny affinché io possa utilizzare l IDE di Arduino, quello credo di averlo fatto...penso.

Inoltre mi vien da pensare: se il core non è quello corretto perché nel creare un semplice blink non ho riscontrato nessun problema?

Ti ringrazio ancora per la pazienza

Allora, a parte il puro linguaggio 'C', tutto il resto che usi, tutte le varie funzioni tipo digitalRead(), le librerie di base sempre incluse, ecc. ecc. fanno parte di quello che si chiama il "core".

A dipendenza di cosa si usa, un "core" errato può dare errori o meno, in funzione dei legami all'hardware che esso ha (e che a te nasconde, dato che quello è lo scopo, nascondere la complessità di quello che c'è dietro) in funzione di ciò che richiami.

Guglielmo

ah perfetto, grazie mille sei stato chiarissimoo

Scusate se riprendo questa discussione ma mi è sorto un dubbio al riguardo del "core".

per creare il blink avevo utilizzato un core, sempre per i tiny che seguiva questo link:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

che avevo trovato banalmente su un tutorial italiano online.

La mia domanda è: perchè vengono scritti core incompleti?
Inoltre, come posso valutare la validità di un core in base alle mie esigenze (cioè sapere se quel determinato core sia sufficiente per i miei obiettivi)?

grazie mille.

Prima di tutto ciascuno scrive quelllo che gli pare, non è mica una cosa rilasciata e verificata da Arduino, è una cosa che un tizio qualsiasi si è messo li, ha scritto ed ha rilasciato GRATIS ... sta a TE verificare che soddisfi le tue esigenze o meno.

Un "core", se ne hai le capacità, lo puoi scrivere anche tu e rilasciarlo ... sarà la comunità che poi lo giudicherà e dirà se è meglio o peggio di un'altro.

E guarda che lo stesso discorso vale per le librerie ... salvo quelle di Arduino (e, comunque anche quelle sono rilasciate senza alcuna garanzia), le librerie che trovi in giro, per la maggior parte, sono scritte da "appassionati" che le fanno, spesso, per risolvere una loro esigenza (e quindi potrebbero NON includere tutte le cose che potrebbero essere fatte) e rilasciate a GRATIS alla comunità ... come sono e senza alcuna garanzia.

Quindi, "core", "librerie", ecc. sono proprio open-source perché ciascuno possa guardarci dentro, capire come sono state scritte e valutare se soddisfano le propie esigenze o meno.

Poi c'è da considerare che "tutto si evolve" ... qualcuno più bravo scrive una cosa migliore e la rilascia e così via ... :slight_smile:

Guglielmo

... esattamente come valuti la validità di una "libreria" ... si prova e si verifica se permette di fare quello che si deve fare, se permette di farlo in modo efficiente, ecc. ecc.

Se non si è soddifatti si contina la ricerca e così via ... :roll_eyes:

Hai idea di quante "librerie" per lo stesso oggetto esistono? Prendi solo un banale display OLED 0.96" ... solo io, sul mio disco, ne avrò scaricate più di una decina scritte da persone differenti. Ciascuna ha i suoi pro ed i suoi contro e sta all'utilizzatore verificare che risolva il suo problema nel modo più efficiente possibile.

Guglielmo

Usa la libreria che ti ha consigliato Guglielmo (e che ha consigliato anche a me): è perfetta!
Ad oggi non ho mai avuto problemi con l'attiny85.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.