let's start. Lista della spesa

Salve a tutti. inizio con il salutare tutta la community italiana di arduino.

Di recente ho cercato di raccogliere qualche informazioni su questo mondo che mi ha sempre incuriosito/affascinato. ammetto di essere totalmente un inesperto nel campo pratico.. per capirci non ho nemmeno mai usato il saldatore. dal punto di vista teorico ho i vari esami del corso di ing informatica. quindi, se proprio non fate i cattivi e usate termini difficilissimi dovremo capirci. mi interessa arduino per l'estrema compatibilità con ambienti di sviluppo in cui mi muovo in maniera sicura (e mi ispira particolarmente il supporto che ha con flash).

morale della storia: è arrivato il momento di iniziare a lavorarci su.

per l'inesperienza sopra citata tuttavia devo iniziare subito a ricorrere al vostro aiuto. vi espongo cosa avrei in mente e avrei bisogno che qualcuno mi indicasse con pazienza tutto cio' di cui dovrei aver bisogno.

il progetto finale : l'idea di fondo è quella di gestire l'illuminazione di una stanza attraverso arduino. in particolar modo vorrei: -utilizzare led rgb. -distribuire i led in maniera lineare (esempio 1 ogni 10 centimetri) -avere acesso diretto ad ogni singolo led (esempio poter dire al led numero 10 di accendersi di rosso e a quello 20 di blu) -poter impartire ad arduino i comandi in maniera wireless da un pc -poter accendere/spegnere la luce sia in maniera wireless, sia da interruttore tradizionale a muro. -possibilità di avere un programma standard di illuminazione, che vada anche quando arduino non è pilotato da un pc.

eventuali espansioni : vorrei inoltre tenermi aperte le seguenti possibilità: - possibilità di creare più ambienti gestiti da arduini diversi, ma in grado di comunicare tra loro (magari in bluetooth con una rete scatternet master/slave) - possibilità di andare a pilotare arduino da un dispositivo esterno che non sia un pc.. (magari un cellulare, o meglio ancora da qualche dispositivo simile ad un apricancello)

iniziamo con calma :D : ok, dopo aver fantasticato, e magari sparato qualche castroneria, direi di ridimensionare il tutto e di iniziare a giochicchiare un po' con arduino. diciamo che voglia iniziare a procurarmi il materiale per creare una versione ridotta del mio progetto, cercando pero' di otimizzare gli aquisti potendo riutilizzarli per il progetto finale

a mio avviso potrebbe essere un buon inizio iniziare a pilotare un led solo rgb, magari se ritenete opportuno iniziare già a farlo in maniera wireless.

alla luce di questo. cosa devo procurarmi? (mi raccomando consideratemi come un totale inesperto, quale io sono) quale consiglio vi sentite di darmi, a priori, prima di lasciarmi buttare a capofitto in questa cosa ?

ho bisogno di tutti i consigli del caso, per cui meglio una mezza parola in + che una mena.

vi ringrazio anticipatamente saluti Nick

per controllare i led, dipende fondamentalmente da quello che vuoi fare e da quanti led usi, io sto costruendo un pannello led ed ho usato i max7219 come driver per pilotare ogni singolo led. con i led rgb però si complica tutto perchè devi usare 3 logiche differenti per controllare il colore, nelle pagine playground(se non sbaglio) c'è un tutorial su come costruire una "lampada" rgb con 3 led distinti, la teoria dovrebbe essere la stessa per un led rgb.

magari dimmi quanti led vorresti usare e in che modo(colori diversi, intensità diverse ecc)

si, immaginavo che con i led rgb ci sia da usare un moltiplicatore x3.

diciamo che come numero di led ad occhio e croce ci si dovrebbe aggirare su un centinaio, anche se non conoscendo nello specifico i dati tecnici dei led rgb.. diciamo che vorrei creare una cosa tranquillamente utilizzabile in un impianto domestico.

per l'uso dei led direi che vorrei avere per ogni parametro R | G | B un range di variazione, sarebbe ottimo se potessi riproporre il sistema di colore già presente su pc. con un numero compreso tra 0 e e 255 (ff). In questo modo mi sarebbe anche molto più facile andare a creare il software per pilotare la faccenda.

diciamo che nel progetto finito, vorrei poter accedere ai parametri di ogni singolo led, quindi per assurdo poter assegnare ai 100 led 100 colori diversi.

cmq preciso nuovamente che, pur tenendo un okkio al progetto finale, vorrei iniziare con qualcosa di accessibile per un inesperto

per controllare 100 led singolarmente non so come aiutarti, questo se vuoi avere 100 colori diversi.

se per ora vuoi rinunciare a questa funzione potresti usare o 6 max7219(ogni max ti controlla sino a 64 led), si potrebbero usare nche solo 2 max e una logica combinatoria per selezionare il colore, per esempio ogni riga avrà una sua logica che se attivata farà passare la tensione che gli arriva da arduino altrimenti niente, con le tensioni da arduino andrai a pilotare il colore, non so se hai capito perchè mi son spiegato abbastanza di cazzo :D

cmq se decidi di usare il max ti posso dare una mano, sono abbastanza avanti col progetto, sto solo ultimando l' interfaccia per pilotarlo

ok, vada per la tua soluzione.

vorrei pero' prima iniziare a procurarmi un po' di informazioni.

di cosa ho bisogno per iniziare?

vai con l'elenco completo del materiale. (non trascurare nemmeno i cacciavite se servono)

led
cavi per collegare led, io uso il doppino telefonico ma si può trovare di meglio
max7219 o max7222
breadboard(la basetta per fare i test)
tester
saldatore
arduino

tanta pazienza(io è più di un mese che ci son dietro)

per i chip max7219 puoi andare sul sito maxim e farti spedire dei sample GRATUITAMENTE.

comunque prova anche a cercare altre soluzioni potresti trovarne di migliori

mi puoi indicare in quali negozi (se online meglio) hai acquistato la merce.

qualche consiglio sul modello dei led da prendere? mi servono belli luminosi ^_^ immagino che tu usi il doppino telefonico perchè ogni led necessità di 4 cavi vero ?

per "soluzioni migliori " cosa intendi?

potresti spiegarmi + o - cosa stai facendo tu ? così capisco meglio a cosa serve il max 7129 e quanto tempo ci vorrà a me.

grazie mille .. e buon natale

per gli acquisti dipende sempre da cosa devi fare, i led li paghi sicuramente meno su ebay, per i max7219 invece devi ordinarli per forza online, io nn li ho mai trovati nei negozi.

led dovrai usare quelli ad alta luminosità, conta che a seconda del colore il led rende più o meno bene comunque tieniti indicativamente soprai 8000mcd(è l' unità di misura dell' intensità luminosa).

i max7219 sono dei chip driver che ti consentono di pilotare una matrice di led. in breve o usi due fili per ogni led(ed è un delirio) o ti costruisci una griglia o matrice dove pilotando le righe e le colonne andrai ad accendere SINGOLARMENTE i led, praticamente in questo modo puoi accendere UN SOLO led alla volta ma tramite il driver max7219 puoi accendere e spegnere i led talmente veloce da vederli accesi. per capire un po meglio la questione leggiti questi articoli, ti spiega tutto. http://www.arduino.cc/playground/Main/InterfacingWithHardware#Output

per soluzioni migliori intendo non usare i max7219 ma qualche cos' altro, ora come ora non ne ho idea ma di sicuro ci saranno altre cose.

molto bene inizio vagamente a capirci qualcosa.. effettivamente l'idea di accendere istantaneamente un led e sfruttare la persistenza retinica mi sembra una buona idea.. (e se non sbaglio anche un buon modo per ottimizzare il consumo)

ti faccio un po' di domande, tutte stupide logicamente ma porta pazienza.

un led rgb ha 4 piedini (che chiamo A,R,G,B). lavorano in corrente continua. sul piedino A ci metto un filo, e poi a seconda dei volt che passo sui restanti 3 piedi piloto i colori: maggiore la differenza di potenziale tra A e R maggiore la componente di rosso sul risultato finale.

E' giusto?

se si (cosa non scontata). diciamo che per ogni led avrei bisogno di 3 uscite OUTPUT di arduino. Giusto?

Arduino ha diciamo fino a 14 uscite output. posso usarle tutte? quindi, se il ragionamento regge potrei pilotare 4 led (ovvero 3*4= 12, ne avanzo pure 2). giusto ?

poi un'altra cosa,le uscite lavorano a 5volt e a 40mA quindi, per forza di cose ci dev'essere un limite pratico al numero di led che ci posso attaccare, immagino ci sia sicuramente un modo per usare una fonte aggiuntiva di tensione.

ditemi, un po' quante cavolate ho sparato fino adesso ?

i colori grosso modo dovrebbero funzionare così ma non li ho mai usati.

per i collegamenti il discorso è più complesso, allora tu userai il max7219 per colegare i led, il max fornisce già ai led la tensione di cui han bisogno, niente resistenze o menate qundi. i collegamenti rgb te lo sogni di farli direttamente su arduino, in questo modo tu puoi cambiare colore a TUTTI i led contemporaneamente, non puoi pilotare il singolo colore, se vuoi far una cosa del genere non saprei proprio da dove iniziare, ci vorrebbe un un driver per led rbg , ovvero dei chip tipo i max7219 ma che ti permettena di variare la tensione per ogni SINGOLO led e non per tutti, fatto questo ti bastano 3 chip del genere per pilotare i vari colori.

ah, con i max tu puoi collegare sino a 64 led per chip, se ne usi più di uno devi alimentarli separatamente(power supply) perchè arduino non ce la fa ma non è tutto sto problema anzi.

Salve a tutti

per pilotare i led RGB occorre un altro tipo di ic che per la maxim può essere il MAX6960. Pilota una matrice di 8x8 e gestisce direttamente la luminosità complessiva e la luminosità di ogni singolo colore per ogni singolo pixel con 4 livelli di intensità (non è il massimo ma è già qualcosa ;-) ). I dati tecnici li trovate qui http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4910 e qui c'è il datasheet: http://datasheets.maxim-ic.com/en/ds/MAX6960-MAX6963.pdf Come vedete però il cip è solo in SMD... però c'è anche la disponibilità di un evaluation kit, e poi c'è da capire se in Italia qualcuno lo vende..

L'alternativa sarebbe quella di utilizzare uno o più ATmega168 dedicati alla sola gestione dei led (in multiplex) collegati quindi ad un Arduino che li pilota tramite interfaccia seriale (in sostanza si tratta di farsi in casa il driver per pilotare i led, fatto uno fatti tutti :P). Non è una cosa tanto complessa, ve lo posso garantire perché ne ho già fatti tanti per diversi micro (motorola, hitachi, st, microchip, atmel, ecc). Normalmente questi algoritmi si scrivono in ASM, ma ho visto che anche in C con arduino il risultato è accettabile (per un piccolo prototipo sto pilotando 3 digit bicolore + 1 barra di 8 led, 1 ingresso analogico per un sensore di misura di distanze della sharp, la seriale i2c come SMbus per un sensore di temperatura a distanza della melexis, 6 pulsanti... non ho più I/O disponibili ma il tutto funzia senza problemi :D ).

Quindi, se qualcuno ha necessità di info per affrontare il problema direttamente: io sono qua :-) (ma non chiedetemi la pappa pronta, altrimenti scatta la tariffa per la consulenza 8-) )

Ciao e auguri di BUONA ANNO a tutti!

davvero non male, quindi con quel max l' unico limite è la luminosità a 4 livelli ma full color giusto? mi sembra un ottimo compromesso, per ora comunque vedo di finire quello monocolore, dopo sicuramente proverò l' rgb.

per quanto riguarda il driver la logica è davvero semplice da fare, io me l' ero progettata con dei demux ma c'è il problema del refresh, suppongo che l' atmega risolvi questo problema.

PS: ma quanta roba hai GIA' fatto? dasadsd

mi sento totalmente ignorante

mi sento totalmente ignorante

spesso anche io... ;)

è per questo che esistono questi spazi: ti aiutano a capire e ad apprendere! :D

Io non capisco come sia possibile pilotare indipendentemente i led di una matrice con i max72xx. E' possibile che vengano accesi ciclicamente a frequenza elevata, in modo da sembrare sempre accesi? Nell'ipotesi che la cosa funzioni così, diventa praticamente impossibile usare gli RGB perchè c'è la necessità di modulare con un PWM l'intensità......oltre al casino che si crea con i pin triplicati......dico bene?

Con il max6960 immagino non ci sia lo stesso la possibilità dell'accensione indipendente, giusto?

Conoscete led rgb di potenza che mi permettano di avere una discreta illuminazione (paragonabile ad una lampada da 40W a incandescenza)?. Potrei anche connetterne più in parallelo, perchè a me non interessa l'accenzione indipendente, ma soltanto modulare il colore, per realizzare una semplice lampada. In ogni caso vorrei evitare di fare troppi collegamenti e saldature, quindi più gorssi sono i led, meno c'è ne vogliono.

Grazie.

La risposta ai tuoi dubbi la puoi avere guardando i relativi datasheet... In ogni caso: anche per modulare la luminosità di un led all'interno di una scansione è valido il principio del PWM, ovvero la variazione del duty cycle (il rapporto tra Vss e Vcc in divisione di tempo) che dovrà essere rapportato come massimo al tempo in cui ciascun led resta acceso.

Chiaramente questo comporta due importanti considerazioni: - i led devono essere di maggiore luminosità perchè si accendono per brevissimi lampi, e normalmente quando la scansione è molto veloce si usa alimentarli al livello massimo previsto dal costruttore (nei datasheet trovi tutto); - la frequenza con cui deve avvenire la gestione della matrice deve essere aumentata in proporzione a quanti livelli di luminosità si vuol gestire per ciascun led (oltre alle dimensioni della matrice).

Da quest'ultima considerazione risulta chiaro che esiste comunque un limite alla dimensione della matrice pilotata da un unico dispositivo, e per questo si utilizzano n controller gestiti tramite un bus (seriale o parallelo a seconda dei casi e della velocità di refreshing dell'intera matrice)

Se guardi in uno dei miei precedenti post dove si parla di fornitori di led trovi alcune fonti dove rifornirsi di led ad altissima efficenza...

P.S. ricorda che, come per le lampadine, più è potente il led e maggiore è la dissipazione in calore. Per questo poi devi prevedere anche un sistema di raffreddamento, in caso contrario la vita dei tuoi led si riduce drasticamente.

Grazie, sei stato molto esaustivo :)

Un certo grado di indipendanza nella matrice si può avere, nel senso che alcuni led, a seconda della posizione, possono essere accesi contemporaneamente: se il MAX è capace di essere indirizzato a più locazioni della matrice contemporaneamente, si potrebbe accorciare il tempo dell'intera scansione.

Comunque è un gran casino la gestione....adesso capisco perchè un sistema già pronto all'uso per illuminazione RGB costa un botto.