tlc5940

salve a voi del forum , mi chiedevo se qualcuno di voi tanto gentilmente sarebbe capace di spiegarmi come fare per far funzionare il tlc5940 , so che esiste una libreria gia pronta ma a me serve scriverne una propia , l'unico problema e che ho difficolta a capire come funziona la trasmissione dei dati e quali pin abilitare e quali non abilitare , insomma se voglio far funzionare il tlc in modalita grayscale come devo settare i pin

Ciao
anche io sono nuovo e mi sto approcciando ad arduino

vediamo se ti posso dare una mano
intanto ti posto il link del datasheet del tlc

allora funzione grosso modo come uno shift register sol che in più ha in uscita il controllo pwn

quindi usa 3 ingressi
uno di alimentazione che è il Vi
uno per il clock che è il SCLK
e uno che è l’input per i dati da shiftare che è il SIN
poi cè il pin XLAT che è il pin di abilitazione dei valori in uscita ovvero quando attivato
riporta i dati dello shifter register sulle uscite e attiva un nuovo ciclo di GSCLK

come funziona, direi che il funzionamenti sia molto similare a quello che scriverò almeno per la parte di ingresso.

al pin SIN si applica tensione o meno in modo da avere stati alti e bassi (0 e 1)
l’informazione viene registrata nel primo bit dello shiftregister

quando il clock agisce sul componente il valore del bit 0 viene shiftato sul bit 1 ed il valore corrente di SIN viene registrato sul bit 0 e così via sino ad avere i 192 bit o meno in base all’applicazione.
Di fatto ogni uscita ha una risoluzione di 12bit e quindi la tensione in pwn varia con 4096 step.
quindi ogni 12 bit si da il codice in uscita ad un’uscita.
per essere chiaro :

l’uscita zero viene controllata con i primi 12 bit
così si arriva
che l’uscita 15 viene copntrollata dai bit dal 180 al 191.

applicando al termine dell’ingresso dei dati tensione su XLAT si riportano i dati dello shift register sulle uscite che usato ocme clock l’uscita GSCLK (grey scale clock)

se la sequenza di immissione bit non è completa e si attiva XLAT in uscita si avranno i nuovi valori parziali inviati col comando che sovrascriveranno i precedenti

spero di essere stato chiaro

relinquished: salve a voi del forum , mi chiedevo se qualcuno di voi tanto gentilmente sarebbe capace di spiegarmi come fare per far funzionare il tlc5940 , so che esiste una libreria gia pronta ma a me serve scriverne una propia , l'unico problema e che ho difficolta a capire come funziona la trasmissione dei dati e quali pin abilitare e quali non abilitare , insomma se voglio far funzionare il tlc in modalita grayscale come devo settare i pin

Prima regola: cercare. ;) Se tu avessi scritto nella casellina "Search" in alto a DX la stringa tlc5940 come primo risultato sarebbe venuto fuori questo: http://www.arduino.cc/playground/Learning/TLC5940

in pratica e cosi

gsclk=1 gsclk=0 192 bit xlat=0 xlat=1

o sbaglio???

Prima regola: cercare. Se tu avessi scritto nella casellina "Search" in alto a DX la stringa tlc5940 come primo risultato sarebbe venuto fuori questo: http://www.arduino.cc/playground/Learning/TLC5940

sfortunatamente non capisco l'inglese quindi ho difficolta a capire cioe che dice quel paragrafo , altrimenti non recavo disturbo

Peccato che in quella pagina ci sia anche la libreria già pronta... :P

Cmq senza inglese vai da poche parti, il 99% dei progetti per l'Arduino sono in inglese, dato che Arduino ha diffusione internazionale.

lo so ma ormai ho 30 anni e la testa di imparare un inglese tecnico non ce lo quindi cerco di arrangiarmi , e magari trovare delle persone di buon cuore disposte a darmi un aiutino

Diventa amico di google translate :)

Secondo me la difficoltá non é la trasmissione dati al TLC5940 ma la generazione del clock per il PWM. La libreria usa dei counter/timer del ATmega. Prendi la libreria e modificala per le Tue necessité. Ciao Uwe

sfortunatamente non capisco il c , cmq a me basterebbe che qualcuno di buona volonta mi dica come vengono impostati i pin

tipo cosi

blank=1 bop blank=0 invio 192 bit xlat=1 nop xlat=0

tipo una cosa del genere pero nella giusta sequenza , solo questo voglio sapoere, lavrei fatto io ma il c non lo conosco quindi mi viene difficile tradurre il codice

Questo non porta a niente.

Il TLC5940 deve essere pilotato in una certa maniera dal programma e questo di continuo anche se non varii la luminositá dei LED collegati.

Se pensi che bastano delle tensioni statiche sui pin Ti sbagli. Se non sai e non vuoi imparare ne l'inglese ne il C e non vuoi usare una libreria vedo impossibile per Te pilotare un TLC5940.

Ciao Uwe

questo lo so che non ci vogliono tensioni statiche ecco perche avevo chiesto semplicemente quale e la procedura di come si settano i pin man mano la teoria del tlc5940 la conosco solo che non sono capace di tradurre c per creare cosi una libreria per basic

solo che non sono capace di tradurre c per creare cosi una libreria per basic

Non Ti capisco, cosa vuoi fare con BASIC? Ciao Uwe

semplice una libreria per tlc5940 , la libreria sara per il compilatore mikrobasic della mikroelettronica

dato che librerie ufficiali non esistono ne voglio creare una niente di piu

ciao

primo link in google: http://si-light.sourceforge.net/

un progetto di illuminazione con led gestito dal PC che utilizza il TLC5940 con firmware scritto proprio in MikroBasic... ho dato una occhiata veloce ai sorgenti pubblicati su sourceforge e sembrano facilmente comprensibili. bye

sfortunatamente quel progetto e scritto in pascal e non pasic

Sicuro? L'autore dice:

Firmware is written in mikroBasic – mikroelectronica has free compilers (to 2K).

e scaricando lo zip trovo codice tipo:

program Controlv10

dim PCF8574A, PCF8574B, B1HOLD, B2HOLD, BRIGHT, PWM_NOW, PWM_DEST as byte
dim B_SEL, i, T0FLAG, T1FLAG, dest_color as byte
dim tem_color, a, b as byte

che mi sembra tanto (pur non conoscendo il MikroBasic) basic...

che mi sembra tanto (pur non conoscendo il MikroBasic) basic…

questo non e basic ma il pascal

Ed un file che per estensione ha .pbas secondo te è scritto in Pascal?

boh ammetto di non aver mai usato MikroBasic ma quei "Dim..." e il fatto che lo stesso autore dica che è scritto in Basic ]:D mi fanno pensare... da cosa capisci che è Pascal?