aggiungere un secondo 328 come slave

salve ho bisogno di alcune info hw su come e cosa mettere per avere un arduino master e un 328 come slave..
logicamente usando 2 pin analogici per collegarli oltre la massa incomune cosa devo aggiungere, resistenze tastini ecc... inoltre mi serve perche devo ottenere 6 PWM in piu oltre quelli presenti su arduino

Vedo 2 soluzioni piú semplici:
Usare un arduino Mega (ha 14 uscite PWM)
Usare un integrato PWM esterno.

Cosa devi pilotare con i PWM?

Ciao Uwe

ciao di fatto avevo pensato anche io ad un mega.. ma onestamente io ho gia tutto il materiale ho gia un arduino e un 328
con i pwm devo alimentare 6 canali differenti su cui saranno collegati degli alimentatori dimmerabili per controllare 108 led da 3W

Comprati un Mega e tieniti l'Arduino per un altro progetto.
Senó collega il Atmega328 tramite I2C. se dai un numero nella inizializzazione della libreria viene programmato come slave.
Ciao Uwe

uwefed:
Comprati un Mega e tieniti l'Arduino per un altro progetto.
Senó collega il Atmega328 tramite I2C. se dai un numero nella inizializzazione della libreria viene programmato come slave.
Ciao Uwe

Scusa Uwe ma la cosa interessa anche a me ....
che vuol dire che indicando il numero durante la programmazione viene programmato come slave ???

sí.

Ciao Uwe

certo io voglio capire che resistenze mettere, se devo mettere condensatori nello slave ho basta collegare i due pin analogici del master e la massa

L'argomento è stato trattato diverse volte.
Per mettere un micro in standalone devi usare un quarzo da 16 MHz, 2 condensatori da 22pF per il quarzo, una resistenza da 10K sul pin di reset. Stop.
Ed il resto per il tuo circuito.

ciao leo
giusto se vuoi fare un standalone, ma quello che voglio fare io è capire se il quarzo è essenziale, oppure posso collegare i pin 4 e 5 dell'arduino sul 328 e la massa per enrambi e poi collegare cio che mi serve sui pin digitali in uscita del 328(slave)

ma non basterebbe aggiungere uno o più pwm port expander i2c? :roll_eyes:

scusate la mia ignoranza chi mi spiega questo metodo alternativo?
ps intendo pwm port expander i2c

A un microcontroller serve alimentazione clock e una resistenza per tirare su il reset.
Il ATmega328 puó avere oscillatori esterni o interni.
Nel Tuo caso serve il quarzo e tutto il resto spiegato da leo72.
Per il collegamneto tra arduino e Atmega328 usi l' interfaccia I2C come da descrizione reperibile.
Si puó anche usare un integrato che funge ha uscite PWM ed é pilotabile in qualche modo. Ma anche questo ti avevo gia scritto.
Ciao Uwe

micos io parlavo di ic come il tlc5940 e simili.

sono fatti apposta per quel lavoro e puoi collegarli in cascata.
https://whatever.metalab.at/projects/Arduino/libraries/TLC5940/

BrainBooster:
micos io parlavo di ic come il tlc5940 e simili.
TLC5940 data sheet, product information and support | TI.com
sono fatti apposta per quel lavoro e puoi collegarli in cascata.
https://whatever.metalab.at/projects/Arduino/libraries/TLC5940/

Devo deludervi.

Il problema del TLC5940 é che ha come uscita una sorgente di corrente verso massa.
per avere un uscita con i potenziali 5V e 0V devi mettere a ogni uscita una resistenza verso +5V che fa passare 5mA quando l' uscita va a massa. (valore minimo per cui il TLC funziona da specifiche).
La generazione del segnale PWM non é automatico. L'arduino deve dare un clock per il PWM e dopo 4096 impulsi deve far ripartire il ciclo dando un berve segnale sul entrata Blank. Questo fa che non arrivi a un segnale PWM del 0%.

Non serve metterlo in cascata visto che ha giá 16 uscite.

Ciao Uwe

adesso tutto chiaro... devo solo reperire il quarzo.... ed mi metto all'opera.....

BrainBooster:
micos io parlavo di ic come il tlc5940 e simili.
TLC5940 data sheet, product information and support | TI.com
sono fatti apposta per quel lavoro e puoi collegarli in cascata.
https://whatever.metalab.at/projects/Arduino/libraries/TLC5940/

Non sono i2c, ma sono fighi. Io li uso

Be, più o meno siamo lì, sono seriali.
comunque cen'è a palate e di tanti tipi diversi :smiley:
di questi, la maggiorparte sono i2c/TWI
TI:

MAXIM:
http://para.maxim-ic.com/en/search.mvp?fam=expanders&hs=1

NXP/PHILIPS
http://ics.nxp.com/products/gpio.expanders/i2c/

ecc...

Federico:

BrainBooster:
micos io parlavo di ic come il tlc5940 e simili.
http://focus.ti.com/docs/prod/folders/print/tlc5940.html#technicaldocuments
sono fatti apposta per quel lavoro e puoi collegarli in cascata.
https://whatever.metalab.at/projects/Arduino/libraries/TLC5940/

Non sono i2c, ma sono fighi. Io li uso

Il problema non é quello che non é I2C ma che micos_1972 chiede come aggiungere una secondo Atmega328 al suo Arduino perché vuole avere piú di 6 PWM. Il TLC5940 é un driver per LED che pilota il LED a corrente costante e regola l'intensitá del LED sia variando la corrente (per poter mettere tutti i LED alla stessa luminositá) che l' intensitá via PWM. Per pilotare un driver in PWM non é del tutto adatto.
Ciao Uwe

BrainBooster:
Be, più o meno siamo lì, sono seriali.
comunque cen'è a palate e di tanti tipi diversi :smiley:
di questi, la maggiorparte sono i2c/TWI
TI:
Analog | Embedded processing | Semiconductor company | TI.com

MAXIM:
http://para.maxim-ic.com/en/search.mvp?fam=expanders&hs=1

NXP/PHILIPS
http://ics.nxp.com/products/gpio.expanders/i2c/

ecc...

micos_1972 chiede come collegare un Atmega al suo Arduino per avere piú PWM non per avere piú I/O. I tuoi suggeriemti non gli aiutano.
Ciao Uwe

Uwe, leggi qui:
http://www.arduino.cc/playground/Learning/TLC5940

Besides, it costs you 3 to 4 8 bit PWMs and gets you 16 to 640 12 bit PWMs. It's a fair trade.