Go Down

Topic: Giocando con l'Attiny85 (Read 150849 times) previous topic - next topic

leo72

@Radionajm:
avevo dato per scontato che stessi usando Linux. D'altronde anche il Mac è sempre un SO *nix.

PS:
la mia guida si basa sulla versione 0022 dell'IDE e del core Tiny. Di entrambi c'è la versione 1.0 ma io non l'ho usata perché le modifiche che ho suggerito nel corso del tempo alle varie lib accessorie non so se poi funzionano ancora.

radiojam11

Bene ragazzi, ecco la situazione.
Dopo aver scaricato il file gentilmente messo a disposizione da Devon e collocato nella cartella ......./hardware/tools/avr/bin  dove risiede l'eseguibile di avrdude, ho lanciato il comando ..... puf errore...... quindi tra le tante prove ho cambiato la porta usb dove e' collegato Arduino, modificato di conseguenza la seriale nella config della IDE e finalmente dando lo stesso comando da terminale finalemnte ottengo questo:

localhost:bin valerio$ ./avrdude -p ATtiny85 -c stk500v1 -b 19200 -P /dev/cu.usbmodem431 -U lfuse:w:0xE2:m

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.12s

avrdude: Device signature = 0x1e930b
avrdude: reading input file "0xE2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xE2:
avrdude: load data lfuse data from input file 0xE2:
avrdude: input file 0xE2 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

localhost:bin valerio$

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Credo di esserci riuscito!!!
finalemente!

almento il tiny85 e'  ad 8 mhz
grazie ....... continua
Valerio

radiojam11

..... seguito

Allora, stacco il condensatore
stacco Arduino
chiudo la IDE

Riattacco Arduino
metto il condensatore
Parto con la IDE

controllo la porta seriale
carico il codice di Leo per i tre led

------
risultato:

Binary sketch size: 1270 bytes (of a 8192 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: stk500_recv(): programmer is not responding


ma porkkkkkk!
Valerio

leo72

Una domanda: quando dici che hai cambiato porta all'Arduino, intendi la porta fisica a cui hai agganciato l'Arduino al PC oppure la porta logica passata ad avrdude?

Poi scrivi: "controllo la porta seriale". Che vuol dire? Che stai facendo?
Se apri la porta seriale non potrai programmare via ISP, disturbi la comunicazione.

radiojam11

tutte e due, cioe' ho passato il cavo usb su una usb diretta del mac e di conseguenza e' cambiato l'indirizzo della seriale relativa e naturalmente ho cambiato anche quello nello script
infatti prima (quando la usb utilizzata e' quella del HDesterno) il mac la chiamava       dev/cu.usbmodem26221


adesso la chiama dev/cu.usbmodem431

Valerio

radiojam11

Quote


Poi scrivi: "controllo la porta seriale". Che vuol dire? Che stai facendo?
Se apri la porta seriale non potrai programmare via ISP, disturbi la comunicazione.


controllo che sia apparsa nel menu "serial port" della IDE
perche' quando stacco Arduino da detto menu scompare.
Valerio

DevonMiles

Controlla che il condensatore sia collegato bene, se ti ha programmato i fuses dovrebbe fare anche il resto

leo72

Se usando avrdude da terminale riesci a programmare il Tiny usando l'Arduino mentre dall'IDE ricevi un errore di "programmer is not responding" cì+ qualche operazione che tu fai con l'IDE che disturba la programmazione.

La tecnica funziona perché altrimenti non riusciresti a programmare via terminale. "Programmer is not responding" è indicativo del fatto che l'Arduino non viene inizializzato come dovrebbe. Può essere o perché si attiva l'autoreset o perché la porta è errata o perché non hai selezionato il Tiny nella lista delle schede (e quindi non hai modificato il file boars.txt).

radiojam11

#413
Feb 11, 2012, 08:49 am Last Edit: Feb 11, 2012, 09:27 am by radiojam11 Reason: 1
Non credo dipenda dal condensatore, e' piu' probabile che sia a causa di settaggi sbagliati. seguendo passo passo cio' che mi suggerite, sono tornato sul file board.txt che riporto qui

ERRORE====== HO PUBBLICATO IL PEZZO SBAGLIATO ====== HO CORRETTO ADESSO SCUSATE!!!===

attiny85-8.name=ATtiny85 (internal 8 MHz clock)
attiny85-8.bootloader.low_fuses=0xe2
attiny85-8.bootloader.high_fuses=0xdf
attiny85-8.bootloader.extended_fuses=0xff
attiny85-8.upload.maximum_size=8192
attiny85-8.build.mcu=attiny85
attiny85-8.build.f_cpu=8000000L
attiny85-8.build.core=arduino:arduino
attiny85-8.build.variant=tiny8

...... ho copiato solo la parte relativa al tiny85 che e' quello che mi fa dannare in questo momento.
come vedete, non c'e' la parte che segnala Leo nella guida:
Quote

AGGIORNAMENTO: bisogna eseguire una modifica al file /tiny/boards.txt, che non mi sono ricordato di segnalare prima. Nel file menzionato tutte le voci xxxxxxxx.upload.using=pololu vanno commentate aggiungendo il carattere "#" all'inzio della riga e decommentate (togliendo il carattere "#" iniziale) le righe xxxxxxxxxx.upload.using=arduino:arduinoisp


che dite, la inserisco a mano cosi???  
attiny85.upload.using=arduino:arduinoisp

ma gli altri parametri vanno bene??

Valerio

radiojam11

Mi fate una cortesia:
mi zippate la vostra cartella tiny completa, che io sostituiro' direttamente alla mia. voglio vedere se e' questo che blocca!
grazie
Valerio

DevonMiles

Io ti posto la mia, però ti avverto che è un pò incasinata  :smiley-roll-sweat: visto che avevo creato altre board e avevo fatto esperimenti, sicuramente quella di mastro Leo è più ordinata.

leo72

L'errore è questo:
Code: [Select]

attiny85-8.build.core=arduino:arduino


Tu stai dicendo di compilare usando il core di Arduino, non il core Tiny.
Questa è la voce che ho io nel file /hardware/tiny/boards.txt per il Tiny85 a 8 MHz:

Code: [Select]
###########################################################################

attiny85at8a.name=ATtiny85 @ 8 MHz (ArduinoISP)
attiny85at8a.upload.using=arduino:arduinoisp
attiny85at8a.upload.maximum_size=8192
attiny85at8a.bootloader.low_fuses=0xE2
attiny85at8a.bootloader.high_fuses=0xD7
attiny85at8a.bootloader.extended_fuses=0xFF
attiny85at8a.bootloader.path=empty
attiny85at8a.bootloader.file=empty85at8.hex
attiny85at8a.bootloader.unlock_bits=0xFF
attiny85at8a.bootloader.lock_bits=0xFF
attiny85at8a.build.mcu=attiny85
attiny85at8a.build.f_cpu=8000000L
attiny85at8a.build.core=tiny



radiojam11

niente da fare... grazie, ma ci rinuncio
compro un programmatore usb e fank.... "arduino as isp"
qualche consiglio x programmare gli attiny ?'
Valerio

leo72

@DevonMiles:
mi pare dal nome del file che tu stai ancora usando il core di Saponetti e non il core Tiny.

@radiojam:
guarda che l'errore riguarda ciò che stai facendo nell'IDE e non nella tecnica, la tecnica funziona: la programmazione dei fuse ne è una conferma. Quindi a livello di collegamenti tu sei a posto, stai però sbagliando con l'IDE.

Dovresti specificare:
1) che core Tiny hai scaricato (metti il link)
2) dove lo hai scompattato (la cartella precisa)
3) quale file boards.txt hai modificato (percorso)
4) che voci usi nei menu dell'IDE: board selezionata, porta, ecc
5) sei hai provato con la voce che ti ho dato io perché la tua, oltre a quel problema di core, non aveva come hai fatto notare tu la selezione del programmatore quindi NON poteva funzionare in alcun modo

DevonMiles


@DevonMiles:
mi pare dal nome del file che tu stai ancora usando il core di Saponetti e non il core Tiny.

Sì Leo mi sa che hai ragione, il fatto è che ho un gran casino dentro al pc, comunque è installato anche il nuovo tinycore.

Go Up