Qualche domanda su un mini-monome

ciao a tutti, sto costruendo un controller midi basato su arduino, qualche sensore e un mini-monome RGB, seguendo un po' le varie guide che ci sono su internet, principalmente questa : http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html

La versione che voglio creare sarebbe di 4x4 bottoni, con led RGB, che poi mandano dei semplici MIDI e cambiano il loro colore (gestendolo da wiring così da non complicarsi con max/msp o monomeserial o altro) Come logica, pensavo di usare un LED Driver per accendere i led , multiplexandoli per il colore, e poi con un altro multiplexer leggere quali piedini digitali sono attivati (mi serve il secondo multiplexer penso di avere altri 4-5 sensori letti dagli ingressi analogici) Quello che non capisco è questo passaggio sui FET, un po' per l'inglese , un po' per l'elettronica

The TLC5940 controls the LEDs by means of a current sink, that is, it pulls the LED to earth. Therefore, in order to multiplex it we have to connect four cathodes, one on each row, to the input of the driver chip and the other end of the LEDs have to be pulled up to 5V when it is time to light up that row. This can be done with a p-channel FET, when it's gate is a 5V then the FET is off or high resistance, when the gate is at earth then it is turned on, or has a very low resistance. The Arduino drives these FETs by pulling one low at any one time. However, during the time the Arduino is in reset, the output pins are automatically set as inputs, and so are high impedance. Therefore one of more FETs could be on at this time. To prevent this their is a pull up resistor on the gate of each FET, this ensures that the FET is always off unless driven low, and hence turned on, by the Arduino.

qualcuno sa dirmi qualcosa di più sul perchè ci vogliono questi FET , e magari qualche consiglio sull'IC da usare come Led Driver ? grazie in anticipo!

Ciao, è un progetto interessante lo stavo studiando anche io.

Il FET qui serve a multiplexare i LED, il driver 5940 lavora come sink cioè "tira" i led verso massa, più tira più la corrente cresce, il FET serve a dare i 5V all'altro capo del led perchè la corrente possa circolare.

L'arduino controlla i FET accendendoli uno alla volta in maniera ciclica in modo da eseguire il multiplexing, l'effetto è che ogni FET permette il passaggio della 5V riga per riga mentre il 5940 è connesso sulle colonne. Poi c'è anche una parte che spiega il perchè del pull-up sul FET, serve a prevenire, all'accensione di arduino quando tutti i suoi pin sono configurati come input, che i FET di accendano permettendo il passaggio della 5V sui led.

Ciao

grazie della risposta! finalmente mi sono arrivati un po' di pezzi e soprautto il button pad con i led :D ho assemblato il tutto e fatto un po' di test, considerando che non avevo mai fatto cose del genere ci ho messo un po' , sopratutto a capire la logica con la quale verrano comandati i LED (dato che hanno il catodo comune, e sono collegati a 4 a 4), e da come ho capito per illuminarli singolarmente tutti (evitando di collegarli 1 a 1 e usando quindi il pcb di sparkfun) devo multiplexarli , così ho scritto un abbozzo di codice che li accende in sequenza al midi clock, ma ne rimangono alcuni accesi in più, penso per problemi di tempo, ma almeno come logica sto procedendo correttamente ? nel frattempo ho anche ordinato qualche campione gratuito di max e altri led driver