Salve, spero che qualche buon anima mi possa aiutare a rianimare il display della Sparkfun 7-Segment Serial Display - Blue ( link SparkFun 7-Segment Serial Display - Blue - COM-11442 - SparkFun Electronics ) .
In pratica per un errore banale ho fritto l'ATMEGA che era saldato sul pcb, armato di tanta pazienza ho dissaldato l'atmega e ho controllato tutto il resto che per fortuna si e' salvato!!
Adesso prima di saldare il nuovo minuscolo chip vorrei programmarlo come come l'originale, ma pur seguendo le guide dal link della sparkfun mi perdo ![]()
Putroppo sono alle prime armi e non mastico inglese...
Devo caricarci il Bootloader di arduino oppure scaricare un determinato file dal seguente link GitHub - sparkfun/Serial7SegmentDisplay: Example code and board files for the Serial 7 Segment Display. ........?
In tal caso penso che posso usare arduino uno come programmatore, e se cosi fosse devo seguire il classico schema con l'oscillatore esterno? cioe quarzo e condensatori? oppure un altro schema dal momento in cui l'atmega per le successive programmazioni utilizza il suo oscillatore interno?
Spero tanto che qualcuno mi possa aiutare passo passo.......
Grazie mille!!!
Dato che non mi sembra tu lo abbia ancora fatto (... non riesco a trovare il post), ti chiederei di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.
Guglielmo
Mi scuso perchè pensavo di averlo fatto all'epoca dell'iscrizione, probabilmente mi e' sfuggito!
Grazie
ciao, non mi sembra specificato, ma solitamente i prodotti della sparkfun con un atmega a bordo sono programmabili tramite ide arduino, quindi ci va il bootloader prima, ed è custom.
se guardi bene al tuo link di github c'e una cartella hardware, quella mi pare vada copiata nella cartella degli sketch, che puoi andare a vedere nelle impostazioni dell ide.
una volta fatto riapri l'ide e collega i fili cosi:
MasterInSlaveOut arduino (pin 12)=SlaveDataOut display
MasterOutSlaveIn arduino (pin 11)=SlaveDataIn display
pin 10 arduino = RST display
e SCK arduino(pin 13) = SCK display
una volta fatti i collegamenti devi caricare lo sketch arduino ISP (cercalo negli esempi) sul tuo arduino, poi selezionare "strumenti-->programmatore --> arduino as ISP" e sempre in strumenti selezionare "scheda-->Serial 7-Segment" ed infine burn bootloader.
finito cio dovrebbe essere possibile caricare i programmi come facevi prima, quindi credo con tx rx e reset
mi sono accorto ora della seconda parte della domanda.
se non sbaglio di default gli atmega escono di fabbrica con clock interno ad 1Mhz, quindi non hai bisogno del quarzo.
se vuoi credo che tu possa saldarlo direttamente in sede e poi programmarlo da li, usando i pin che ti ho specificato
Ciao Boschi, ho appena controllato la cartella Hardware, in quella cartella ci sono soltanto file pdf , .brd e .sch inerenti allo schema elettrico e al pcb.
... si, ok, ma un po' di spirito d'iniziativa non guasta ... :![]()
E' nella cartella firmware, c'è sia un bel README.txt che la hardware/sparkfun/avr che contiene quello che ti interessa.
Guglielmo
perdonatemi!!! vediamo se ci ho capito qualcosa
- effettuo i collegamenti cosi come consigliato da Boschi.
- Cerco negli esempi lo sketch "arduino ISP" e lo carico nel mio Arduino uno.
poi ? ......... devo prendere la cartella AVR e copiarla nella cartella degli sketch?
Ciao Guglielmo, ho seguito il percorso che mi hai indicato,
e continuando mi ritrovo una cartella ----> bootloaders/optiboot.
Aperta la cartella optiboot mi ritrovo una marea di file e non so come procedere...
Ho provato a tradurre i file .txt , ma non ci capisco nulla! ![]()
Dunque sto impazzendo da oggi, elenco i passaggi:
- Aperto l'IDE -----> FILE----->ESEMPI---->Arduino ISP ----------> Carica
- Ho collegato il tutto cosi come indicato da Boschi
Fin qui tutto ok!
Poi:
-
Strumenti--------------> Programmatore ----------> Arduino as ISP
-
Scrivi il bootloader
Dopo un po mi ha restituito un errore
Arduino:1.6.3 (Windows 8.1), Scheda:"Arduino Uno"
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM7
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.06s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.06s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Errore durante la scrittura del bootloader
Ho provato anche a modificare il file avrdude.conf come indica in questo link
ma non mi è cambiato nulla!
casperino:
Errore durante la scrittura del bootloader
Hai commesso un gravissimo errore, hai fatto scrivere il bootloader della UNO che prevede un quarzo da 16 MHz, sulla tua scheda viene usato l'oscillatore rc interno a 8 MHz.
Con l'operazione che hai eseguito sono stati settati i fuse per l'uso del quarzo esterno, da 16 MHz, e questo comporta il brick del micro, con conseguente errore durante il caricamento del bootloader perché non c'è un clock attivo.
Dato che sulla tua scheda i pin del quarzo sono usati per il display non è possibile montare un quarzo, uniche soluzioni possibili sono cambiare il micro con uno nuovo oppure dissaldare il micro, montarlo su un apposito pcb dotato di quarzo e riprogrammare i fuse per l'oscillatore rc, inoltre serve una versione del optiboot a 8 MHz.
Dimenticavo, se devi usare quella scheda esclusivamente tramite il software di Sparkfun non ti serve metterci sopra il bootloader, basta caricare il programma fornito da loro.
Credo che sia più facile dissaldare il display, cortocircuitare in qualche modo i resistori, mettere un quarzo temporaneo e risaldarlo.
diciamo che starei ancora in tempo perche non ancora l'ho saldato per cui posso ancora recuperarlo, però non vorrei commettere altri errori.
Conto tanto sulla vostra pazienza a incanalarmi passo passo.....onde evitare di perderlo!
Grazie mille a tutti
premetto che devo utilizzarlo per risolvere nel piu breve un problema nel settore medicale, quindi non devo utilizzarlo con il software della Sparkfun
Buone notizie! Dopo un intera giornata, oggi sono stato tutto il tempo a leggere guide e altro.
Finalmente sono riuscito a inserire inizialmente il bootloader a 16MHZ con componenti esterni.
Poi ho aggiornato il file boards.txt per avere un altra scheda in modo da cambiare il bootloader da oscillatore esterno 16Mhz a quello interno da 8Mhz.
Infine ho anche programmato l'atmega con lo Scketch della sparkfun con metodo seriale.
Vi terro' aggiornati appena termino il tutto.
Per la mia realizzazione sono ancora in alto mare.............