programmare attiny85/84

ciao, volevo sapere se per programmare un attiny posso utlizzare un arduino ethernet o un mega 2560. nelle guide si parla esclusivamente di UNO. il problema di usare la ethernet è che il pin 10 è riservato, mentre dovrebbe servire nel collegamento con l'attiny. è possibile impostare un altro pin, o in alternativa usare la mega?

la mega la puoi usare, se apri lo sketch ArduinoISP nelle note iniziali trovi i pin da utilizzare, nella mia Guida è spiegato come usare la mega per la programmazione dei micro ATMEL della famiglia ATmega, il principio è simile a quello degli Attiny, integra alla mia GUida quella di Leo72 sugli attiny e sei a posto ;)

perfetto, ora provo. per il momento ti ringrazio.

PS: ottima la tua guida. grazie per il tuo lavoro :)

Di nulla, facci sapere com'è andata :)

avrei bisogno di un chiarimento, prima di proseguire.
nella guida di Leo72:

Scritto lo sketch, è ora di inviarlo al microcontrollore. Prima di fare l’upload eseguite le seguenti operazioni:
selezionare “Attiny85 (w/Arduino as ISP)” da “Tools/Board”
inserite il condensatore (solo per la UNO):
collegare il pin positivo (quello più lungo) sul pin RESET di Arduino;
collegare il pin negativo (quello più corto) su uno dei 2 pin GND di Arduino.

  1. il condensatore va messo con la MEGA?
  2. in Tool/boards non mi trovo la voce “Attiny85 (w/Arduino as ISP)”. mi manca qualcosa?
    oppure devo selezionare “Attiny @8MHz” e “Arduino as ISP” come programmatore?

edit: ho l’IDE 1.0.5 su linux
edit2: posso far danni facendo delle prove?

ricdata: avrei bisogno di un chiarimento, prima di proseguire. nella guida di Leo72: 1. il condensatore va messo con la MEGA?

no, solo se fatta la prova esce l'errore specifico indicato nella Guida.

  1. in Tool/boards non mi trovo la voce “Attiny85 (w/Arduino as ISP)”. mi manca qualcosa? oppure devo selezionare "Attiny @8MHz" e "Arduino as ISP" come programmatore?

qui deve intervenire Leo, non ricordo ora come è fatta la sua Guida.

[/quote]edit2: posso far danni facendo delle prove? [/quote] solo se ti metti a giocare con i fuse, una combinazione strana può portare il micro in bricked.

oppure devo selezionare "Attiny @8MHz" e "Arduino as ISP" come programmatore?

ho letto una risposta di Leo72 che spiega di fare in questo modo con l'IDE >1.0.1

solo che c'è qualche problema: quando vado a caricare lo sketch per l'attiny, con l'ide impostato con "Attiny @1MHz" e "Arduino as ISP" l'ide non compila nulla e di conseguenza non carica. non è che bisogna caricare il bootloader sull'attiny prima? ma non l'ho trovato scritto in nessuna guida :|

il bootloader per attiny non esiste e comunque con la tecnica ISP non serve; ce n'è uno virtuale che serve solo per il cambio dei fuse, ma non è il tuo caso, visto che lavori a 1 MHz

ho provato anche con un attiny programmato a 8MHz (come da guida) ma il problema è lo stesso.

questo lo scketch che provo a caricare

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

void loop()
{
  delay(500);
  digitalWrite(0, HIGH);
  delay(500);
  digitalWrite(0, LOW);
}

questi gli errori

sketch_oct08a.ino:1:21: error: Arduino.h: File o directory non esistente
sketch_oct08a.ino: In function 'void setup()':
sketch_oct08a:6: error: 'OUTPUT' was not declared in this scope
sketch_oct08a:6: error: 'pinMode' was not declared in this scope
sketch_oct08a.ino: In function 'void loop()':
sketch_oct08a:12: error: 'delay' was not declared in this scope
sketch_oct08a:13: error: 'HIGH' was not declared in this scope
sketch_oct08a:13: error: 'digitalWrite' was not declared in this scope
sketch_oct08a:15: error: 'LOW' was not declared in this scope

Beh, il tipo di Programmatore che scegli per la compilazione non influenza. Quello che è importante è scegliere nella board l'AtTiny85.

Per avere tra le boards l'AtTiny dovresti aver scaricato il core degli attiny e averlo messo sotto hardware dove c'e' già una cartella Arduino. http://code.google.com/p/arduino-tiny/downloads/detail?name=arduino-tiny-0100-0017.zip Ti metto il percorso del mio PC ma è Windows. E:\arduino-IDE\hardware\Tiny

Se tu sei su Linux potrebbe esserci un problema di lettere maiuscole/minuscole. Di base ti dice che non trova il file Arduino.h E:\arduino-IDE\hardware\Tiny\cores\tiny qui dentro c'e' Arduino.h

I file del core vengono copiati dall'IDE durante la compilazione in una directory dove avviene poi tutto l'assemblaggio. Su linux non ricordo i percorsi. @Leo72 di sicuro se li ricorda.

Se non sbaglio, bisogna rinominare il file delle board.

PaoloP: Se non sbaglio, bisogna rinominare il file delle board.

Si, ricordi bene. Da "Prospective Boards.txt" a "Boards.txt" :grin:

La voce da selezionare dipende da quella che il core inserisce. All'epoca della mia guida la situazione tra combinazione di IDE e di core Tiny era differente.

Adesso le cose sono più semplici, basta prendere il core, scompattarlo in /cartella_arduino/hardware e poi aggiungere le voci al file boards.txt principale oppure rinominare direttamente il file Prospective boards. Con quest'ultima operazione vengono messi tutti i chip magari anche quelli che non servono, per cui si rischia solo di avere un menu di scelta molto lungo che esce dai bordi del monitor, con l'impossibilità di selezionare la voce che si vuole.

vi ringrazio ma tutti i suggerimenti dati li avevo già presi in considerazione. la cosa strana è che nel pacchetto arduino-tiny attuale all'interno ci sono due cartelle "cores" e "bootloaders". nel file README contenuto all'interno si dice di scompattare il pacchetto così com'è nella cartella "/sketckbook/hardware", ma poi nello stesso README si dice che alla fine si deve ottenere ...... C:\Projects\Arduino\hardware\tiny\boards.txt ..... cosa impossibile scompattando semplicemente arduino-tiny dentro "hardware". o sono tonto io oppure si contraddicono. tant'è vero che nel menu dell'ide tools->boards l'attiny non compare in nessun modo. se invece creo manualmente il percorso sketckbook\hardware\tiny\boards.txt trovo l'attiny tra le boards, ma come detto sopra non compila lo sketch da caricare.

per curiosità, ma voi come fate? usate la vecchia 022? ci sono alternative per programmare gli attiny arduino compatibile?

Non mi ricordavo di questa cosa, l'ho fatto qualche mese fa l'ultimo aggiornamento. DEVI creare la cartella /hardware/tiny e lì mettere dentro le cartelle core e bootloaders.

Mi spiace di non essermi ricordato di questo passaggio ma ho un sistema un pò... personalizzato e la cartella /hardware/tiny è un link simbolico alla vera cartella /tiny che ho da un'altra parte per cui io aggiorno quest'ultima e non la prima e non mi ricordavo della cosa :sweat_smile:

confermo Leo72, c'ero appena arrivato. il pacchetto arduino-tiny va scompattato in sketckbook/hardware/tiny/

ringrazio tutti ciao :)