ATtiny85 problemi

Ho avuto un crash qualche tempo fa sul mio desktop,
ho ricaricato quel poco che avevo fatto con l'ATtiny85 ma sono bloccato,
non riesco a compilare, l'errore che ricevo:
Arduino.h: File o directory non esistente.

Ho seguito la "Guida_ATtiny85.pdf" di leo72,
Ho scaricato da http://hlt.media.mit.edu/wiki/uploads/Main/attiny45_85.zip
e la cartella attiny45_85 l'ho posizionata nella cartella hardware quindi:
.../hardware/attiny45_85.

Poi ho scaricato da https://github.com/damellis/attiny/blob/master/attiny/variants/tiny8/pins_arduino.h
e l'ho posizionato in .../variants in una cartella creata, attiny45_85 quindi:
.../variants/attiny45_85/pin_arduino.h

Carletto.

carletto:
Ho avuto un crash qualche tempo fa sul mio desktop,
ho ricaricato quel poco che avevo fatto con l'ATtiny85 ma sono bloccato,
non riesco a compilare, l'errore che ricevo:
Arduino.h: File o directory non esistente.

Ho seguito la "Guida_ATtiny85.pdf" di leo72,
Ho scaricato da http://hlt.media.mit.edu/wiki/uploads/Main/attiny45_85.zip
e la cartella attiny45_85 l'ho posizionata nella cartella hardware quindi:
.../hardware/attiny45_85.

Poi ho scaricato da https://github.com/damellis/attiny/blob/master/attiny/variants/tiny8/pins_arduino.h
e l'ho posizionato in .../variants in una cartella creata, attiny45_85 quindi:
.../variants/attiny45_85/pin_arduino.h

Carletto.

Hai fatto un bel pot-pourri.

  1. la mia guida era valida per le versioni 0022/0023 dell'IDE ma se a te cerca il file Arduino.h stai usando l'IDE 1.0.x
  2. nella mia guida usavo il core Tiny ma tu stai usando il core di David Mellis

Allora, fai così:
0) premessa: questo vale per l'IDE 1.0.x

  1. CANCELLA tutti i core Attiny che hai aggiunto (ad IDE chiusa)
  2. scaricati il core Tiny da qui: Google Code Archive - Long-term storage for Google Code Project Hosting.
    (versione 0100-0015)
  3. scompattalo in /arduino-1.0.2/hardware/
  4. riavvia l'IDE e dovresti avere le nuove voci pronte all'uso.

leo72:
Allora, fai così:
0) premessa: questo vale per l'IDE 1.0.x

  1. CANCELLA tutti i core Attiny che hai aggiunto (ad IDE chiusa)
  2. scaricati il core Tiny da qui: Google Code Archive - Long-term storage for Google Code Project Hosting.
    (versione 0100-0015)
  3. scompattalo in /arduino-1.0.2/hardware/
  4. riavvia l'IDE e dovresti avere le nuove voci pronte all'uso.

leo grazie per la risposta.

Uso l'IDE 1.0.2

Ho scaricato arduino-tiny, file arduino-0100-0015.zip con dentro
2 cartelle tiny e tools
e le ho scompattate in /hardware.
In questo modo mi esce l'errore allegato"ATtiny_errore_2" e non compila.

Se copio solo la cartella tiny la compilazione va a buon fine però con dei warning.
Allegato "ATtiny_warning_3"

Carletto.

Leo, ma non l'hai ancora aggiornata la Guida all'1.0.x? io lo so benissimo (e tu lo sai...) quanto costa, però a questo punto, essendo l'unico riferimento per quetsa famiglia non ti puoi esimere.... :smiley:

Ho provato a programmare:
Molti warning anche se sembra che la programmazione
va a buon fine "Caricamento terminato" però non funziona.
Vedi allegato 4.

Ho provato anche a caricare il bootloader anche qui
warning vedi allegato 5.

Carletto.

carletto:
Uso l'IDE 1.0.2

Ho scaricato arduino-tiny, file arduino-0100-0015.zip con dentro
2 cartelle tiny e tools
e le ho scompattate in /hardware.

E va bene. Ovviamente hai anche cancellato tutti i precedenti core che avevi scaricato, giusto?

In questo modo mi esce l'errore allegato"ATtiny_errore_2" e non compila.

Vedo un errore riferito alla libreria FrequencyTimer2. Quella libreria NON supporta gli Attiny, per questo ti esce quell'errore.

Vero. Però con l'uscita della versione 1.0.2 e del core Tiny 0100-0015 in pratica non si deve più sistemare nulla perché funziona tutto "uscito di fabbrica". Vedrò di mettere una paginetta per le ultime quisquilie :sweat_smile:

leo72:
E va bene. Ovviamente hai anche cancellato tutti i precedenti core che avevi scaricato, giusto?

Si, sono tornato alle condizioni di origine.

Vedo un errore riferito alla libreria FrequencyTimer2. Quella libreria NON supporta gli Attiny, per questo ti esce quell'errore.

Con questo sketch non utilizzo nessun Timer, questo è il codice che ho caricato;

void setup(){
pinMode(3,OUTPUT);
}
void loop(){
digitalWrite(0,HIGH);
delay(200);
digitalWrite(0,LOW);
delay(200);
}

Carletto

Ma li hai tolti i file pins_arduino.h che avevi detto di aver scaricato dal sito di Mellis?

Senti, facciamo una cosa. Cancella TUTTA la cartella /arduino-1.0.2, riscaricati l'IDE e riscompatta l'archivio. Partiamo da una versione "intonsa", non vorrei che ci fossero troppi file a caso sparsi per le cartelle.

leo72:
Ma li hai tolti i file pins_arduino.h che avevi detto di aver scaricato dal sito di Mellis?

Senti, facciamo una cosa. Cancella TUTTA la cartella /arduino-1.0.2, riscaricati l'IDE e riscompatta l'archivio. Partiamo da una versione "intonsa", non vorrei che ci fossero troppi file a caso sparsi per le cartelle.

Premetto che sono in ubuntu 11.10.

Ho cancellato l'intera cartella con arduino e installato il nuovo arduino 1.0.3
ma i miei problemi sono rimasti.

Ho notato che compilando:
ATtiny85@128 khz ... Errori
ATtiny2313... compilazione terminata dopo la prima compilazione nessun
warning, quindi OK. Come con Arduino Uno.
Per tutti gli altri compilazione terminata ma con dei Warning vedi allegato.
Almeno i primi warning fanno riferimento a "Print.h", però
più in là non riesco ad approfondire.

Qualche idea?

Grazie.

Carletto.

  1. Attiny85@128 kHz: NON usarlo. Non riusciresti a farci niente, dovresti riscrivere mezzo core.
  2. togli la toolchain Atmel che hai installato dai repo di Ubuntu, che è buggata così che l'IDE usi quella che ha integrata. Dovresti risolvere.

leo72:

  1. Attiny85@128 kHz: NON usarlo. Non riusciresti a farci niente, dovresti riscrivere mezzo core.
  2. togli la toolchain Atmel che hai installato dai repo di Ubuntu, che è buggata così che l'IDE usi quella che ha integrata. Dovresti risolvere.

Potresti per favore spiegarmi come come farlo?

Carletto.

carletto:

leo72:

  1. Attiny85@128 kHz: NON usarlo. Non riusciresti a farci niente, dovresti riscrivere mezzo core.
  2. togli la toolchain Atmel che hai installato dai repo di Ubuntu, che è buggata così che l'IDE usi quella che ha integrata. Dovresti risolvere.

Potresti per favore spiegarmi come come farlo?

Carletto.

Apri synaptic e cancelli i pacchetti avr-libc, avr-gcc e binutils-avr (o simili, non mi ricordo come si chiamano su Ubuntu).
Non togliere avrdude né librxtx (o come si chiama). Solo quei 3.
Ovviamente parto dal presupposto che l'IDE di Arduino tu l'abbia scaricata da questo sito e non abbia installato quella del repo, altrimenti togli anche quella.

Fatto questo, riapri l'IDE e compila uno sketch: se non hai errori, vuol dire che stai usando la toolchain integrata.

leo72:
Apri synaptic e cancelli i pacchetti avr-libc, avr-gcc e binutils-avr (o simili, non mi ricordo come si chiamano su Ubuntu).
Non togliere avrdude né librxtx (o come si chiama). Solo quei 3.
Ovviamente parto dal presupposto che l'IDE di Arduino tu l'abbia scaricata da questo sito e non abbia installato quella del repo, altrimenti togli anche quella.

Fatto questo, riapri l'IDE e compila uno sketch: se non hai errori, vuol dire che stai usando la toolchain integrata.

avr-libc, avr-gcc, binutils-avr non erano installati ma nemmeno avrdude e librxtx lo erano.

Ho fatto alcune prove ad installare e disinstallare ma non è cambiato nulla.

Alla fine ho lasciato installato avrdude e librxtx.

L'IDE arduino l'ho scaricata da arduino.cc

Ho provato anche in WindowsXP ma il risultato non cambia.

Carletto.

Finalmente lo vedo funzionare.

Ho provato a far lampeggiare un LED però è molto lento.

Carletto.

carletto:
Finalmente lo vedo funzionare.

Sarebbe bello sapere cos'era che non andava...

Ho provato a far lampeggiare un LED però è molto lento.

Avrai compilato per un clock ed il micro lavorerà a tutt'altra frequenza. Un classico :wink:

leo72:
Sarebbe bello sapere cos'era che non andava...

Devo dire che non mi è chiaro, ma come mi hai indicato ho installato avrdude e librxtx che non lo erano

mentre gli altri pacchetti non erano installati.

Ho provato a far lampeggiare un LED però è molto lento.

Avrai compilato per un clock ed il micro lavorerà a tutt'altra frequenza. Un classico :wink:

Ho provato queste 3 board:
ATtiny@8MHz(internal oscillator;BOD disabled) //lampeggio del LED molto lento.

ATtiny@16MHz(internal PLL;4,3v BOD) //lampeggio del LED molto lento.

ATtiny@1MHz (internal oscillator;BOD disabled) //lampeggio OK;

LEO grazie per la tua pazienza.

Carletto.

carletto:

leo72:
Sarebbe bello sapere cos'era che non andava...

Devo dire che non mi è chiaro, ma come mi hai indicato ho installato avrdude e librxtx che non lo erano

Allora semplicemente non riuscivi a spedire i file al microcontrollore.

Ho provato a far lampeggiare un LED però è molto lento.

Avrai compilato per un clock ed il micro lavorerà a tutt'altra frequenza. Un classico :wink:

Ho provato queste 3 board:
ATtiny@8MHz(internal oscillator;BOD disabled) //lampeggio del LED molto lento.

ATtiny@16MHz(internal PLL;4,3v BOD) //lampeggio del LED molto lento.

ATtiny@1MHz (internal oscillator;BOD disabled) //lampeggio OK;

LEO grazie per la tua pazienza.

Carletto.

Tutti i microcontrollori Atmel escono di fabbrica impostati per lavorare ad 1 MHz.
La frequenza non la cambi semplicemente selezionando una voce nel menu dell'IDE ma devi aprire un terminale e programmare i fuse del micro stesso. I fuse sono particolari registri che puoi modificare solo con un programmatore e che regolano il funzioamento del micro stesso, compreso il clock.
Quindi per far andare il micro ad 8 Hz devi impostarlo ad 8 MHz.
Sul mio sito (link in firma) trovi una guida per la programmazione dei Tiny, vale per la vecchia versione dell'IDE però ci sono schemi di collegamento e programmazione dei fuse da terminale che sono validi per tutte le versioni dell'IDE.