Arduino su breadboard


SISTEMA OPERATIVO : Mac OS X Versione 10.6.8
PROCESSORE: 2 Ghz Intel Core Duo
MEMORIA: 2 GB 667 Mhz DDR2 SDRAM

Identificatore modello: MacBookPro1,1
Nome processore: Intel Core Duo
Velocità processore: 2 GHz
Numero di processori: 1
Numero totale di nuclei: 2
Cache L2: 2 MB
Memoria: 2 GB
Velocità bus: 667 MHz
Versione Boot ROM: MBP11.0055.B08


Salve a tutti.

Questo è il mio primo post, sono un neofita del mondo Arduino.

Dopo aver provato per un po arduino uno, mi ha ovviamente convinto e mi son detto, dato che me ne servirebbero 10 al posto di comprarli già assemblati, essendo un prodotto opensource sarebbe una bella esperienza costruirseli.

Ho poi trovato questo rivenditore:
http://www.ebay.it/itm/330902174516?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_5231wt_1348

che si rifà a questo elenco in linea di massima
http://upvector.com/atmega/

Ho comprato quindi :

La vendita comprende 5 kit nuovi
come riportati nella seguente lista:

5 ATMEGA328 PU
con bootloaer Arduino Uno

5 Zoccoli 28 pin x inserire i micro

10 condensatori 22pF

5 Quarzi 16MHz


Per il reset
5 Resistenze 10K ohm

5 Pulsanti


Indicatori:
5 Led 3mm Rossi

5 Led 3mm Gialli

5 Led 3mm Verdi

15 Resistenze 220 ohm
( per collegare i led )


Per l’alimentazione:
5 Regolatori di tensione
L7805 ABV

Tensione d’ingresso da 7 a 35 Volt
Tensione d’uscita 5 Volt
Datasheet

5 Condensatori elettrolitici 100uF

5 condensatori monolitici 330nF
(va collegato se il regolatore è lontano dal filtro di alimentazione. Utilizzarlo non è mai un errore)

5 condensatori monolitici 100nF
(migliora la risposta ai transitori e la stabilità del circuito)


La breadboard e l’alimentatore li ho, successivamente ho preso questo :

http://www.ebay.it/itm/321089058271?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_3568wt_1348
Brand new PL2303HX USB to TTL Converter Module 5V and 3.3V Output


Dopo qualche giorno sono arrivati tutti i prodotti e seguendo

le istruzioni prese da questo sito ho assemblato il tutto (con qualche piccola modifica per quanto riguarda l’alimentazione) :

ed alla fine ho connesso la PL2303HX USB to TTL

ma non ho capito una cosa, ho provato a cariare l’esempio 01 Blink ma dice

Dimensione del file binario dello sketch: 1.116 bytes (su un massimo di 32.256 bytes)
avrdude: stk500_recv(): programmer is not responding
processing.app.debug.RunnerException: Problemi di caricamento sulla scheda. Leggete http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti.
at processing.app.debug.BasicUploader.uploadUsingPreferences(BasicUploader.java:126)
at processing.app.Sketch.upload(Sketch.java:1664)
at processing.app.Sketch.exportApplet(Sketch.java:1623)
at processing.app.Sketch.exportApplet(Sketch.java:1595)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2393)
at java.lang.Thread.run(Thread.java:680)

Poi ho un dubbio, io non ho capito se e come devo fare il Bootloader

Ho provato ad installare gli FTDI driver http://www.ftdichip.com/Drivers/VCP.htm

Qualcuno riesce a chiarirmi le idee.

Attualmente non ho un arduino uno da usare per programmare l’ atmega328 pu

Ringrazio anticipatamente.

Saluti

Forse puoi usare la programmazione bit-bang. Controlla questa guida --> http://michelemenniti.it/arduino_burn_bootloader.php

Hai collegato il pin DTR del convertitore usb seriale? Non preoccuparti, quando lavoravo su MAC non era necessario installare i driver ;) Ciao C

Il bootloader è già presente su quei micro, hai scelto la board giusta nell'ide?

OK ho guardato un attimo la guida http://www.michelemenniti.it/vhd/Elettronica/Guida%20Programmazione%20ATMEL%20con%20Arduino.pdf

CITO:

p. 14 – Collegare un Convertitore USB?Seriale ad un micro da programmare A questo punto non resta che spiegare come si collega uno dei qualsiasi Convertitori, commerciali o autocostruiti, visti finora, al microcontrollore da programmare. L'operazione è estremamente semplice: ? Il segnale TX (TXO) del Convertitore va al pin RX del micro (il pin 2 nel caso dell'ATmega328P). ? Il segnale RX (RXI) del Convertitore va al pin TX del micro (il pin 3 nel caso dell'ATmega328P). ? Il segnale DTR (o RTS) va al pin RESET del micro (il pin 1 nel caso dell'ATmega328P) ma è FONDAMENTALE che i due segnali siano separati da un condensatore da 100nF. Come già detto bisogna trasformare il segnale DTR in un impulso di RESET per il microcontrollore e tale operazione è svolta appunto dal condensatore in serie al segnale DTR o RTS; peraltro la stessa capacità è usata anche sulle board Arduino, con identica funzione. In alcuni casi le schede incorporano tale condensatore, ma sono rari. P.es. nello schema dell'MCP-2200 io l'ho previsto, infatti sull'header di uscita trovate il segnale RESET, non l'RTS. ? 5V e GND vanno collegati ai rispettivi poli di alimentazione del vostro circuito.


IL SEGNALE DTR ?!?!??!?! il prodotto che ho è questo e ci sono 5 pin che ho collegato correttamente(come dice la guida)

1) 5V 2) 3.3V (non l'ho collegato) 3) TXD 4) RXD 5) GND http://www.ebay.it/itm/321089058271?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_3568wt_1348

Missà che è perché manca il segnale DTR o RTS.

Se fosse per questo motivo, qualcuno gentilmente sa consigliarmi un buon prodotto che costi il meno possibile e che svolga la propria funzione ?

Ne approfitto anche per affrontare il problema successivo.

Le impostazione nell'Ide sono ?

-Tipo di arduino -> Arduino Uno -Porta seriale -> /dev/tty.Bluetooth-PDA-Sync (su questo ho scelto a caso ed ho provato tutte e 4 le possibilità, ma … niente errori )

poi per finire quindi nessun problema per il bootloader perché è già stato fatto, giusto?

Vi ringrazio per la competenza e celerità nelle risposte.

@ Cecé: ma che gusto provi a quotare 1km di post??? hai paura che lui cancelli tutto dopo la tua risposta?? @ BAD_UINO: Direi che due fattori sono estremamente rilevanti: la domanda che ti ha fatto Pelletta e l'osservazione che tu stesso hai fatto. Se vuoi programmare un micro mediante la tecnica seriale i micro devono avere il bootloader precaricato, lo hanno? se lo hanno deve essere chiaramente stato specificato dal venditore altrimenti significa che i tuoi micro sono vergini, in questo caso devi PRIMA caricare il bootloader. La mia Guida ti spiega come programmare i microcontrollori mediante la tecnica ISP, nel qual caso devi usare Arduino come programmatore, seguendo le relative istruzioni, e così metti il bootloader nei micro. Successivamente puoi caricare gli sketch tramite tecnica seriale, ma il segnale DTR (o RTS) è INDISPENSABILE, in caso contrario dovrai gestire il reset manualmente, ma non è proprio uno scherzetto. Come sei messo con le saldature SMD?? Il PL2303 possiede sia il DTR che l'RTS, per prelevare il DTR ti basta collegare un filo al pin 2 dell'integrato del tuo convertitore; il pin 3 invece ti fornisce l'RTS, ma va bene il solo DTR. Questo integrato, da quello che vedo sul datasheet dovrebbe permetterti di eseguire la procedura Bit-Bang per caricare il bootloader su un micro vergine messo direttamente su Arduino (al posto del micro originale), però mi pare di ricordare che qualcuno si sia già cimentato e ci fossero problemi di compatibilità tra il PL2303 ed il software di gestione dell'operazione, che è scritto per l'FT232RL. Ma tu almeno un Arduino completo e funzionante lo hai vero?

La prox volta cancello in toto il messaggio di chi quota così, lo avevo già specificato di usare le citazioni in modo più corretto ]:slight_smile:

@leo72 Vabbè, farai restare la gente senza le mie perle di saggezza :P

Salve ho avuto il piacere di leggere il suo manuale, e come gli altri utenti non posso che esserle grato, ovviamente.

Le spiego meglio la situazione, solitamente non sono io ad occuparmi di queste questioni "tecniche", ma pian piano il mio amico mi ha coinvolto e fatto avvicinare a questo mondo.

Quindi volevo sbrigarmela un po di più da solo, anche se mi piacerebbe riuscire ad ottimizzare l'utilizzo delle risorse economiche, provando ad ottenere dei risultati decenti.

Quindi non sono completamente solo ed ho una persona fisica anche che può darmi una mano, solo vorrei essere maggiormente partecipe e capire meglio come funzionano le cose.

Per ora ho un arduinoBT ed un Arduino Due, entro qualche gg mi prestano l'arduino uno, e vedo di seguire il metodo da lei descritto.

La ringrazio e saluto.

cece99:
@leo72
Vabbè, farai restare la gente senza le mie perle di saggezza :stuck_out_tongue:

Per il bene della scienza, le lascerò :stuck_out_tongue_closed_eyes:

@ BAD_UINO: grazie, naturalmente qui siamo a disposizione, vedrai che raggiungerai piena autonomia in brevissimo tempo, ci vuole un po' di concentrazione nel seguire le istruzioni e soprattutto servono gli "strumenti" giusti; un Arduino UNO è la condizione ideale, mediante la tecnica ISP riportata nella Guida si fa qualsiasi cosa :)

Finalmente ho ripreso in mano il progetto.

Ho dato un'occhiata che tutto fosse in ordine a livello hardware e qui non ci sono problemi, ma comunque ho delle difficoltà.

Ho attualmente ARDUINO UNO REV3 , mi sono scaricato l'IDE 1.0.1, ho fatto la modifica al file boards.txt aggiungendo

##############################################################

atmega3216.name=ATmega328P 16MHz 
atmega3216.upload.protocol=arduino 
atmega3216.upload.maximum_size=32768 
atmega3216.upload.speed=115200
atmega3216.bootloader.low_fuses=0xff 
atmega3216.bootloader.high_fuses=0xdf 
atmega3216.bootloader.extended_fuses=0x07 
atmega3216.bootloader.path=optiboot 
atmega3216.bootloader.file=optiboot_atmega328.hex 
atmega3216.bootloader.unlock_bits=0x3F 
atmega3216.bootloader.lock_bits=0x0F 
atmega3216.build.mcu=atmega328p 
atmega3216.build.f_cpu=16000000L 
atmega3216.build.core=arduino 
atmega3216.build.variant=standard

##############################################################

ed ho seguito alla lettera, tutti i passaggi, ma anche quando seleziono

ATmega328P 16MHz dal menù Tipo arduino, mi va a scrivere sempre sull'Arduino Uno.

Qualcuno ha qualche suggerimento?

Ringrazio

Hai messo il condensatore antireset tra VCC e RESET di arduino?

Si si ho provato anche così con un condensatore da 10uF, ma niente è da ieri che provo in ogni modo.
Utilizzando diverse versioni dell’IDE , montando e smontando cambiando il chip , ripartendo da zero.

ma nulla …

Comunque una puntualizzazione il chip si chiama ATMEGA 328-PU

e non ATMEGA 328P

è forse questo il problema?

cece99: Hai messo il condensatore antireset tra VCC e RESET di arduino?

Con l'Arduino UNO R3 non serve, perché monta l'Optiboot 4.4 che non soffre più del problema dell'autoreset.

@BAD_UINO: Prima in Strumenti/Programmatore devi scegliere "Arduino as ISP" poi scegli la voce File/Carica con un programmatore, vero? Perché se clicchi sull'icona di upload non funziona.

Mi da questo con l’esempio di blink:

unknown MCU 'atmega328' specified
Known MCU names:
   avr2
   at90s2313
   at90s2323
   at90s2333
   at90s2343
   attiny22
   attiny26
   at90s4414
   at90s4433
   at90s4434
   at90s8515
   at90c8534
   at90s8535
   avr25
   attiny13
   attiny13a
   attiny2313
   attiny24
   attiny44
   attiny84
   attiny25
   attiny45
   attiny85
   attiny261
   attiny461
   attiny861
   attiny43u
   attiny48
   attiny88
   at86rf401
   avr3
   at43usb320
   at43usb355
   at76c711
   avr31
   atmega103
   avr35
   at90usb82
   at90usb162
   attiny167
   avr4
   atmega8
   atmega48
   atmega48p
   atmega88
   atmega88p
   atmega8515
   atmega8535
   atmega8hva
   at90pwm1
   at90pwm2
   at90pwm2b
   at90pwm3
   at90pwm3b
   avr5
   atmega16
   atmega161
   atmega162
   atmega163
   atmega164p
   atmega165
   atmega165p
   atmega168
   atmega168p
   atmega169
   atmega169p
   atmega32
   atmega323
   atmega324p
   atmega325
   atmega325p
   atmega3250
   atmega3250p
   atmega328p
   atmega329
   atmega329p
   atmega3290
   atmega3290p
   atmega406
   atmega64
   atmega640
   atmega644
   atmega644p
   atmega645
   atmega6450
   atmega649
   atmega6490
   atmega16hva
   at90can32
   at90can64
   at90pwm216
   at90pwm316
   atmega32m1
   atmega32c1
   atmega32u4
   atmega32u6
   at90usb646
   at90usb647
   at94k
   avr51
   atmega128
   atmega1280
   atmega1281
   atmega1284p
   at90can128
   at90usb1286
   at90usb1287
   avr6
   atmega2560
   atmega2561
   avrxmega4
   atxmega64a3
   avrxmega5
   atxmega64a1
   avrxmega6
   atxmega128a3
   atxmega256a3
   atxmega256a3b
   avrxmega7
   atxmega128a1
   avr1
   at90s1200
   attiny11
   attiny12
   attiny15
   attiny28
Blink.cpp:1: error: MCU 'atmega328' supported for assembler only

Manca la "p" nel nome: "atmega328p". Quindi vuol dire che la board che hai copia-e-incollato non è quella che hai usato.

Io ho il chip ATMEGA328-PU , guardando in rete sto impazzendo da 2 giorni perché è tutto diverso dal ATMEGA328P o altri modelli ATMEGA.

Questo è il problema.

Vorrei capire come fare a caricare uno sketch sul processore che ho con il metodo ISP.

C'è un link ad una guida o quant'altro per utilizzare il chip che ho?

Grazie

Nella mia firma ci sono le istruzioni per programmarlo con l'IDE 0022-0023, NON vanno bene per le versioni IDE 1.0.x ma almeno lo programmi....

Ho provato a sostituire il chip montato sulla'arduino uno con quello ATMEGA328 e son riuscito a programmarlo tranquillamente. !???!!??