AtTiny85 Program – terza puntata

Sei finalmente pronto a caricare il tuo primi sketch sull’AtTiny85 Program mediante l’Arduino ISP

Attiny85 Blink

Leggi gli articoli precedenti dedicati all’AtTiny85 Program se non sai come impostare l’IDE per programmare l’AtTiny85 o come impostare arduino come ISP programmer.

Dopo aver trasferito lo sketch corretto su arduino, impostato Arduino as ISP ed eseguito i collegamenti corretti puoi aprire nell’IDE il tuo primo sketch per l’AtTiny85 .. il blink ūüôā

Configura l’IDE per trasferire lo sketch

L’ultimo passaggio prima di trasferire lo sketch √® selezionare l’AtTiny85 come scheda a cui trasferire lo sketch, primo passo √® selezionare come board attiny:

Attiny85 ProgramMode celect board

poi la tipologia di board: attiny85:

Attiny85 ProgramMode select type

e quindi la velocità a cui desideri farla lavorare:

Attiny85 ProgramMode select clock

io non ho aggiunto quarzi esterni per cui posso usare solo i valori indicati come “internal” per cui ho scelto la massima velocit√† possibile per l’ATtiny85 program in modalit√† senza quarzo, clock, esterno.

Collega il led all’AtTiny85

Il pinout dell’AtTiny85 √® il seguente:

 

ATtiny85 pinout

puoi collegare quindi il led come da schema:

Attiny85 Blink

e scrivendo 0 nello sketch del blink, ti riferisci al PB0 ossia il pin 5.

Trasferire lo sketch sul AtTiny85 Program

il primo sketch che puoi provare con l’AtTiny85 Program √® il Blink:

void setup() {
  pinMode(0, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(0, HIGH); // turn the LED on
  delay(1000);              // wait for a second
  digitalWrite(0, LOW);  // turn the LED off
  delay(1000);              // wait for a second
}

che come avrai notato ho modificato alle linee 2,7 e 9 sostituendo al classico 13 ( riferimento al pin 13 di arduino ) il numero 0¬†( corrispondente al pin 5¬†dell’attiny85 ) come puoi vedere nel pinout sopra.

Seleziona la porta e trasferisci lo sketch.

Se tutto √® andato a buon fine puoi collegare il led al pin 5 ( PB0 ) dell’Attiny85 Program e noterai il lampeggio con intervallo un¬†secondo.

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/attiny85-program-terza-puntata.html

14 comments

Skip to comment form

    • Claudio on 1 aprile 2016 at 11:44
    • Reply

    Salve, sto progettando un orologio a nixie: secondo lei, è possibile
    utilizzare un AtTiny85 per leggere ora e data tramite i2c da un
    ds1307, e trasferirla ad una serie di tre
    pcf8574 (ore, minuti, secondi, o giorno, mese, anno)?
    Grazie.

    1. Ciao Claudio,
      penso sia possibile farlo, anche se non ho mai provato.

    • Claudio on 1 aprile 2016 at 23:58
    • Reply

    Salve, con lo stesso sistema è possibile programmare anche un ATmega2560?

    1. Ciao Claudio,
      puoi provare a cercare “arduino standalone” che spiega come programmare direttamente chip come l’atmega328 e atmega2560

    • Stefano on 22 novembre 2016 at 00:30
    • Reply

    ciao Mauro,
    Grazie per il tuo lavoro sempre ineccepibile.

    Io ho provato a programmare pi√Ļ di un attiny85 con differenti arduino: uno, nano, yun, ma ottengo sempre il seguente messaggio di errore:

    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    Errore durante il caricamento dello sketch

    Come posso risolvere?

    1. Ciao Stefano,
      che versione dell’IDE stai utilizzando ?

        • Stefano on 25 novembre 2016 at 11:35
        • Reply

        1.6.12

        Ho provato con diverse “librerie” oltre quella che consigli te, ma il problema √® il medesimo.

        1. Ciao Stefano,
          sull’arduino che usi come programmatore che sketch hai caricato?

            • Stefano on 26 novembre 2016 at 20:45

            Arduino ISP, caricato dagli esempi e messo sui vari arduino che ho provato.
            Poi metto come programmatore “arduino as ISP”
            Collego tutto come indicato da te.
            Apro un secondo sketch (un banale blink), provo a caricare lo sketch e mi da quell’errore, poi provo anche “carica tramite un programmatore”, ma anche l√¨, niente.

          1. Ciao Stefano,
            ho letto un po in internet le varie soluzioni in quanto a me non è mai capitato.
            L’ipotesi pi√Ļ accreditata √® che sia stato caricato uno sketch che richiede un quarzo esterno.
            I tentativi in tal caso possono essere:
            1. costruisci un circuito con 2 condensatori e un quarzo per fornire il giusto clock esterno;
            2. provi con la programmazione da linea di comando, es: avrdude -F -c avrisp -p [tuomicro] -P [porta] -U flash:w:[atmegaBoot] -b 19200 -v -v -v -v

            Direi che se riesci con la soluzione 2 e vuoi inviarmi un tutorial in merito lo pubblico a tuo nome.

            • Stefano on 7 dicembre 2016 at 10:37

            Ciao Mauro, scusa per il ritardo, ma ero fuori Italia.
            Ho provato già con il quarzo esterno e il risultato è stato il medesimo, sfortunatamente.

            La programmazione con linea di comando sinceramente non so proprio come eseguirla, sono un hobbysta con una formazione da ingegneria meccanica, gi√† sapere C e fare i circuiti √® anomalo per la mia categoria ūüėÄ (i colleghi mi chiamano “mezzosangue”).

            Hai modo da indirizzarmi a qualche tutorial su programmazione con linea di comando?

            Nel frattempo ho ordinato un programmatore esterno da pochi euro che dovrebbe arrivarmi a breve.

          2. Ciao Stefano,
            purtroppo non ho scritto articoli sulla programmazione da linea di comando, dovresti cercare sul web se qualche altro appassionato/blogger lo ha fatto.
            Il tuo caso è davvero anomalo se anche con il quarzo non funziona, sei sicuro di non aver, erroneamente, bruciato gli AtTiny85 ?

            • Stefano on 15 dicembre 2016 at 09:24

            Sicuro al 100%, anche perch√® ne ho provati pi√Ļ di uno e sono alimentati esattamente come li hai alimentati te con il tuo circuito su breadboard.

          3. Ciao Stefano,
            non ti resta che provare con la programmazione da linea di comando.
            Fammi sapere se risolvi tale anomalia.

Lascia un commento

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.