Gestire led stripes con MAX7221 per illuminare scalini

Ciao a tutti. Essendo nuovo, cercavo la sezione del forum dove ci si presenta, non trovandola spendo 2 righe prima di iniziare ad annoiarvi con i miei problemi tecnici. Premetto che non sono un elettronico, anzi sono ignorante semitotale, semplicemente mi piace giochicchiare con l'elettronica e quando mi parte il neurone cerco di impegnarmi in imprese che non mi competono..... Circa 1 annetto fa ho scoperto arduino e ho cominciato a cazzeggiare con sketches semplici (i soliti led che lampeggiano), arrivando poi a pensare di usarli per illuminare casa, visto che sto ristrutturando (illuminazione di contorno). Ho fatto qualche esperimento positivo con le strip RGB pilotate da transistor e Arduino (possiedo l'UNO), e quindi sulla scia dell'entusiasmo mi impelago in battaglie sempre più ardue (per me).E così scopro componenti nuovi come shift register, led driver e chi più ne ha più ne metta. Detto ciò, vengo al motivo per cui mi sono deciso, giacchè il forum lo leggo da molto, a registrarmi e iniziare ad annoiarvi. Come ho detto sto ristrutturando casa, rifarò la scala interna dal seminterrato al piano terra e al primo piano, e avevo deciso di eliminare le luci della scala e invece illuminare ogni gradino con una led strip bianca (due segmenti da 3 led ogni gradino), facendo in modo che al passaggio davanti ad un sensore IR posto sul primo e ultimo gradino di ogni coppia di rampe i gradini si illuminino in sequenza a seconda della direzione. Quello che vorrei ottenere è: metto il piede sul primo gradino della taverna (dove c'è l'IR), si accendono in rapida sequenza a salire tutti i gradini delle prime due rampe (cioè fino al piano terra), attendono un tot di tempo, e poi si spengono allo stesso modo. Il tutto ignorando ovviamente quando passo davanti all'IR dell'ultimo gradino. Viceversa, quando scendo dal piano terra alla taverna, passo davanti l'IR del primo scalino e i led si accendono come prima, ma questa volta in direzione a scendere. Discorso analogo salendo o scendendo piano terra/primo piano. E un domani implementare la possibilità di farli spegnere in dissolvenza (anche se il MAX non gestisce proprio il PWM singolo, ma potrei trovare una soluzione integrata) Intendevo poi miniaturizzare tutto con un ATTyny, e magari utilizzare un solo MAX per tutti e 30 gli scalini (visto che gestisce 64 led), anche se inizialmente pensavo di usare due circuiti indipendenti per ogni scala. Siccome mi ero procurato un "pò" di MAX7221, ho pensato di usare questi, così, una volta impostata la breadboard e risolto il problema software con la libreria LedControl, ho fatto una prima programmazione e funziona. Poi però si è acceso pure il led nella mia testa:i 5V del MAX non vanno bene per le led stripes, ho bisogno di 12V, userò dei transistor come ho fatto con le RGB. E si è riacceso il led in testa: il MAX usa sia anodo che catodo per pilotare i led....come faccio? Gironzolando in rete, ho trovato questo: http://www.maximintegrated.com/app-notes/index.mvp/id/1196 che potrebbe sopperire al mio caso. Pensavo di usare il caso illustrato dalla figura 4 che è analogo a quello che avevo già fatto con gli RGB (le altre 3 prevedono troppi componenti e non le capisco, onestamente), ma così facendo potrei gestire solo 8 scalini (giusto ?), e quindi dovrei usare più MAX per ogni scala, ma in questo modo non riesco a contenere le dimensioni dell'elettronica (pensavo di fare un mini circuito con un transistor per ogni scalino). Ecco, questa è la mia storia...... Suggerimenti, consigli, alternative......??? Grazie in anticipo, scusatemi l'eventuale lunghezza del post, e nel caso non mi arrivino risposte prima di Natale, ne approfitto per farvi gli auguri di Buon Natale.

Andrea

Poi però si è acceso pure il led nella mia testa:i 5V del MAX non vanno bene per le led stripes, ho bisogno di 12V, userò dei transistor come ho fatto con le RGB. E si è riacceso il led in testa: il MAX usa sia anodo che catodo per pilotare i led…come faccio?

È proprio questo il problema. UN altro problem é che il MACX7219/7221 fa un multiplexing. Con una matrice 4x8 i LEd sono accesi solo 1/4 del tempo e percui la luce sara 1/4 di quella possibile se li alimenti direttamente con 12V.
La Application Note Ti da una soluzione ma devi usare piú transistori.
Le soluzioni piú semplici sono:

  • Usa 2 TLC5940 che possono pilotare in tutto 32 LED anche a 12V. fino a 120mA. Puoi regolare l’ intensitá dei LED in PWM. Il TLC5947 ha 24 uscite ed é piú semplice da programmare ma entrambi hanno giá la libreria. Entrambi limitano la corrente nei LED Questo potrebbe essere un problem se settato sbagliato visto che i strip hanno resistenze integrate.
  • Usa al posto delle striscie con LED bianchi delle striscie con dei WS2812. Questi puoi pilotare in colore singolarmente ogni LED. Puoi mettere tutte le striscie in serie. Hai poi bisogno di un alimentazione 5V abbastanza forte perche ogni LED consuma fino 60mA. Puoi fare giochi di colore e intensitá come peresempio accender le luci partendo dal rosso e spegnerli in un fade verso il blu.
    Ciao Uwe

uwefed: È proprio questo il problema. UN altro problem é che il MACX7219/7221 fa un multiplexing. Con una matrice 4x8 i LEd sono accesi solo 1/4 del tempo e percui la luce sara 1/4 di quella possibile se li alimenti direttamente con 12V. La Application Note Ti da una soluzione ma devi usare piú transistori. Le soluzioni piú semplici sono: * Usa 2 TLC5940 che possono pilotare in tutto 32 LED anche a 12V. fino a 120mA. Puoi regolare l' intensitá dei LED in PWM. Il TLC5947 ha 24 uscite ed é piú semplice da programmare ma entrambi hanno giá la libreria. Entrambi limitano la corrente nei LED Questo potrebbe essere un problem se settato sbagliato visto che i strip hanno resistenze integrate. * Usa al posto delle striscie con LED bianchi delle striscie con dei WS2812. Questi puoi pilotare in colore singolarmente ogni LED. Puoi mettere tutte le striscie in serie. Hai poi bisogno di un alimentazione 5V abbastanza forte perche ogni LED consuma fino 60mA. Puoi fare giochi di colore e intensitá come peresempio accender le luci partendo dal rosso e spegnerli in un fade verso il blu. Ciao Uwe

Ciao. Grazie della risposta. Mi orienterò verso i TLC5940 (che reperirò in rete, il negozio di elettronica della mia città quando gli ho chiesto i MAX non sapeva cosa fossero nè come cercarli.....); i TLC5947 hanno un package un pò atipico per me (ma magari me li procuro ugualmente). Quanto a usare i WS2812, sinceramente sarei restio: - quando sperimentavo con le strisce RGB il bianco composito mi sembrava meno brillante di quello della strip bianca (ma forse sbaglio....) - in realtà le mie sperimentazione RGB facevano già parte del "progetto scalino". Infatti pensavo di mettere un segmento di 3 RGB al centro del gradino e due segmenti bianchi ai lati. Nella mia mente bacata volevo usare gli RGB in crossfading come segnascalini (come ambient in caso di ospiti, o anche di notte come luci di cortesia scale), e al momento in cui si metteva il piede sul primo scalino accendere quelli bianchi per illuminare completamente.

O pensi sia troppo macchinoso? E comunque, alla fine i MAX hanno come solo impiego diretto le matrici led giusto? quindi li potrei usare unicamente per progetti semplici quali display a segmenti led o le luci del presepe (visto che siamo a natale)? Ne vorrei approfittare per chiedere una cosa in un certo senso correlata. Per pilotare attuatori, ad esempio una scheda relais, utilizzando uno shift register, su cosa mi dovrei orientare? Te lo chiedo anche perchè una mia possibile soluzione (prima di postare) era stata quella di pilotare singolarmente dei transistor (come avevo scritto, uno su ogni scalino) che mi gestissero accensione e spegnimento dei segmenti bianchi.

Grazie Andrea