Go Down

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

leo72

Mi parli di "togliere il condensatore". Quindi hai usato il condensatore infilato nei pin dell'Arduino per disabilitare l'autoreset della scheda, giusto? Ma in questo caso devi lasciarlo anche per poter programmare i Tiny usando sempre la tecnica ISP.

Voglio tornare un attimo sulla questione del bootloader. Ripeto, non devi mettere un bootloader perché semplicemente l'operazione non va a buon fine. Tant'è che nella mia guida sul sito di Gioblu non ne ho parlato proprio perché non funziona.

Quindi, ricapitoliamo:
1) ricarica lo sketch ArduinoISP sul tuo Arduino
2) metti il condensatore anti-autoreset
3) collega il Tiny
4) imposta il clock interno del Tiny usando direttamente avrdude da terminale come scritto nella mia guida
5) carica lo sketch del lampeggio dei 3 led
6) invialo al micro

Tutto questo senza togliere, a partire dal punto 2), il condensatore anti-autoreset dall'Arduino. E vediamo che errori ricevi.

radiojam11

Ok Leo gentilissimo, adesso devo uscire, nel primo pomeriggio ESEGUO! grazie a dopo
Valerio

skaxxo

#392
Feb 10, 2012, 10:29 am Last Edit: Feb 10, 2012, 10:31 am by Trisonic Reason: 1
Sto pensando di comprarmi un attiny85, sembra carino.
Non ho letto tutte le 25 pagine di discussione ma ciò che mi preme capire se è compatibile con la ide arduino (caricherei, poi, lo sketch con USBasp o USBtinyISP) o bisogna fare qualcosa modifica al suo interno.
C'è bisogno del bootloader per caso?

Grazie
Arduino, MODs e DIY: blackstufflabs.com

leo72

Devi scaricarti il core Tiny da inserire nell'IDE per poter programamre i Tiny85 e Tiny84 tramite l'Arduino.
Non serve bootloader.

http://www.gioblu.com/tutorials/programmazione/214-guida-alluso-dellattiny85

ulver85

i tiny 85 e sopratutto 84 sono una grande ed economica alternativa per piccoli progetti, tra l'altro il loro uso con arduinoISP è veramente molto semplice, anche io ho seguito la guida su gioblu per integrare i core nell'ide di arduino, l'unica cosa a cui bisogna stare attenti è la lista di funzioni compatibili con i tiny:

# pinMode()
# digitalWrite()
# digitalRead()
# analogRead()
# analogWrite()
# shiftOut()
# pulseIn()
# millis()
# micros()
# delay()
# delayMicroseconds()
# SoftwareSerial

altre funzioni sono disponibili con librerie esterne come softwareservo ecc.

leo72

Le funzioni sono limitate perché limitato è il core (parlo del core di silicio, non del core software) dei Tiny. Ad esempio, non avendo una seriale in hardware non hanno la gestione della comunicazione seriale con la funzione Serial. ecc...

skaxxo

Aggiorniamo il primo post in modo tale da mettere i punti salienti dell'attiny85? grazie  XD
Arduino, MODs e DIY: blackstufflabs.com

radiojam11

niente da fare, non conosco avrdude e non riesco a fargli digerire il file per ottenere i 8mhz... mi restituisce questo:
localhost:tools valerio$ ./avrdude -P /dev/cu.usbmodem26211 -C ./avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200
-bash: ./avrdude: No such file or directory

se chiamo avrdude il programma risponde :

localhost:tools valerio$ avrdude
Usage: avrdude [options]
Options:
  -p <partno>                Required. Specify AVR device.
  -b <baudrate>              Override RS-232 baud rate.
  -B <bitclock>
        ecc.....

dove sbaglio??
ho provato a mandare la stringa dei comandi nella finestra "serial monitor" del IDE di Arduino e mi risponde cosi:
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

consigli??
grazie valerio
Valerio

leo72

I consigli sono quelli della mia guida  ;)
Devi aprire un terminale all'interno della cartella che contiene avrdude distribuito con l'IDE di Arduino, nel mio caso
/home/leo/Documenti/Arduino/hardware/tools

Lì trovi sia avrdude che avrdude.conf, che è il file dei parametri dei vari micro che avrdude usa per "dialogare" con il programmatore.
Inoltre sbagli porta: /dev/cu.usbmodem26211 è la porta a cui hai connesso l'Arduino? Di solito è qualcosa tipo /dev/ttyACM0 per l'Arduino UNO e /dev/ttyUSB0 per l'Arduino 2009. Quindi, ricapitoliamo:

1) fai i collegamenti e collega l'Arduino
2) spostati nella suddetta cartella
3) aprici un terminale
4) dai:
Code: [Select]
./avrdude -P /dev/ttyACM0 -C ./avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200
Controlla (magari aprendo l'IDE) che la porta a cui è collegato l'Arduino sia giusta

Devi flashare i fuse correttamente. Se non ci riesci, posta l'errore.

radiojam11

Grazie ancora Leo per la tua pazienza, credo di aver capito .... il problema e' che io nella cartella che dici tu, non ho nulla.... il programma avr non c'e'.
Dove lo trovo? ho istallato per l'ennesima volta l'IDE di Arduino prelevata direttamente in dmg dal sito ufficiale (questo!) ma i file che servono dove li trovo?
Nella cartella che sta in documenti e che ho associato alla IDE dal menu preferenze, ci sono sempre e solo i vari file dei miei codici, ma dentro tools non ho nulla.
Per chiarezza posto la foto della cartella.
---
Per la seriale, invece, si chiama proprio cosi' perche' Arduino e' collegato attraverso una usb di un hd esterno.
Valerio

DevonMiles

Ciao radiojam,
può essere che nelle varie versioni di IDE l' avrdude venga cambiato di posizione, per esempio su IDE della versione Linux è dentro /hardware/tools mentre nella versione Windows è in /hardware/tools/avr/bin. Ora ..nella versione MAC non so dove lo abbiano messo, prova con una ricerca..

radiojam11

Ciao  Devon grazie delle info ,
accidenti manca sempre qualcosa..... adesso che ho reinstallato per la ennesima volta la IDE (la 1,0) ho cercato nel pacchetto ed ho copiato tutti i file della cartella tools nella cartella di Arduino in documenti (come da immagine nel  post precedente) ed ho trovato il file in      ..... /hardware/tools/avr/bin
ma il file di configurazione non c'e' , infatti mi risponde :
localhost:bin valerio$ ./avrdude -P /dev/cu.usbmodem26221 -C ./avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200
avrdude: can't open config file "./avrdude.conf": No such file or directory
avrdude: error reading system wide configuration file "./avrdude.conf"

ce ne e' uno con quel nome in ..... /hardware/tools/avr/etc

ma e' una caccia al tesoro??
Valerio

DevonMiles


ma e' una caccia al tesoro??

:smiley-yell:

ce ne e' uno con quel nome in ..... /hardware/tools/avr/etc

Sì, o copi quel file nella cartella che contiene anche avrdude oppure specifichi tutto il percorso quando dai la riga di comando

radiojam11

Ok allora ho aggiunto il percorso di avrdude (quello originale della ATMEL che nel frattempo tra le mille prove ho installato - va bene o crea anche questo dei problemi??) nel PATH, e mi sono spostato nella cartella dove c'e' il file .conf

risultato:
localhost:etc valerio$ avrdude -P /dev/cu.usbmodem26221 -C ./avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200
error at ./avrdude.conf:332 unrecognized character: "w"

grrrr!
Valerio

DevonMiles

Io ho questo file avrdude.conf. Penso sia lo stesso sia per Win che per IOS. Copialo dentro alla cartella che contiene avrdude e prova a  rilanciare il comando in questo modo:
./avrdude -P /dev/ttyACM0 -C -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200 oppure come faccio io in Windows:
./avrdude -p ATtiny85 -c stk500v1 -b 19200 -P /dev/ttyACM0 -U lfuse:w:0xE2:m

Go Up