Pages: [1] 2   Go Down
Author Topic: Lampada da tavolo RGB  (Read 1483 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Altro progettino terminato. Questa volta si tratta di una lampada da tavolo con led RGB.
Il circuito si basa su un Atmega328P a 16 MHz che pilota 5 led bianchi ad alta luminosità (20000 mcd) e 5 led RGB ad anodo comune ad alta luminosità (8000 mcd).
I led bianchi sono pilotatati tramite un semplice transistor NPN 2N2222 collegato ad un pin PWM dell'Atmega mentre i led RGB sono pilotati utilizzando un integrato TCL5940. La cosa divertente del circuito è l'utilizzo di un sensore capacitativo per cambiare lo schema di illuminazione dei led, grazie al quale è stato possibile alloggiare il circuito all'interno di una lampada da tavolo in vetro senza forare nulla. Come alimentazione ho riciclato un caricabatteria di un cellulare: 550 mA@5V, più che sufficienti per il mio progetto dato che ho usat comunissimi led ad alta luminosità.
Ho usato un micro a 16 MHz perché la funzione PWM di Arduino non funziona bene a velocità inferiori e poi perché non ho necessità di risparmiare energia.
In allegato trovate un pacchetto contenente lo schema Eagle e la bozza del codice che esegue già alcuni schemi di colore.
Librerie utilizzate:
CapSense - http://www.arduino.cc/playground/Main/CapSense
Tlc5940Mux - http://code.google.com/p/tlc5940arduino/



EDIT:
nello schema trovate un pulsantino sul pin di reset dell'Atmega328. Tale pulsantino è opzionale (è un rimasuglio del primo schema che avevo costruito, riferito al circuito assemblato su breadboard) ed io non l'ho messo dato che il  circuito è all'interno della lampada e quindi non facilmente raggiungibile. R8 è da 20K e serve per limitare la corrente dei led RGB collegati al TLC5940. Se non avete una resistenza di tale valore potete mettere in serie 2 R da 10K l'una, come ho fatto io. Ricordate che il valore di 20K è calcolato per limitare la corrente a 20 mA per canale, se i vostri led hanno un valore differente, dovete ricalcolare tale valore (il datasheet dell'integrato riporta la formula per farlo). R1..R5 sono da 82 ohm e sono calcolate per dare 20 mA ai led bianchi LED6..LED10. Tale valore è calcolato sul tipo di led che ho acquistato. Controllate quelli che avete e calcolate le resistenze in base alle caratteristiche dei vostri led.

R9 è da 8,2 Megaohm. Ho visto che questo valore era quello più indicato per "sentire" le fluttuazioni di capacità di un semplice filo volante. Forse usando una lamina di metallo le cose cambiano.
L'autore della libreria CapSense suggerisce anche di usare un condensatore: a me ha dato più problemi che altro, per cui non l'ho utilizzato. Fate però molte prove su questo fattore prima di realizzare il circuito perché il sensore capacitativo è la parte più delicata dell'interno schema e non c'è, secondo me, una regola che valga per tutti.

* Lampada_Rgb.zip (433.58 KB - downloaded 14 times.)
« Last Edit: June 09, 2012, 04:32:15 am by leo72 » Logged


Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bellino smiley
Il problema di farsi le lampade poi è sempre quello di trovare un contenitore adatto  smiley-cry
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bellino smiley
Il problema di farsi le lampade poi è sempre quello di trovare un contenitore adatto  smiley-cry
Difatti io prima mi sono comprato la lampada e poi ho fatto il circuitino. La 1000fori è precisa precisa per entrare nel cilindro in vetro  smiley
Logged


Italia, Cefalù
Offline Offline
Sr. Member
****
Karma: 0
Posts: 416
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi piace!

dove hai preso i led RGB?

volevo metterne un po lungo una parete del mio laboratorio che ho ritinteggiato da poco ed è completamente bianca! per dare colore! ma le strip costano troppo!
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Li ho presi su Ebay, non mi ricordo il venditore ma vengono sicuramente dall'Italia. E' facile trovarli, ne trovi a migliaia di annunci. Io ho preso questi che erano ad alta luminosità e ad anodo comune (altrimenti non potevo usarli con il Tcl5940).
Logged


Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 150
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bella Leo complimenti smiley!! Ma il contenitore potevi farlo a mano  smiley-yell
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Una lampada pagata meno di 10€ in vetro a mano?  smiley-lol
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bella leo, lavoro preciso ed efficiente come sempre; una sola cosa sulla logica: lo spegnimento lo fai con una pressione più lunga, non credo che devi fare tutto il giro dei colori smiley-eek-blue?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bella leo, lavoro preciso ed efficiente come sempre; una sola cosa sulla logica: lo spegnimento lo fai con una pressione più lunga, non credo che devi fare tutto il giro dei colori smiley-eek-blue?

Stavo per chiedere anche io, sarebbe figo fare lo spegnimento con due tocchi smiley-grin
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bella leo, lavoro preciso ed efficiente come sempre; una sola cosa sulla logica: lo spegnimento lo fai con una pressione più lunga, non credo che devi fare tutto il giro dei colori smiley-eek-blue?
Sì, si può fare anche come dici tu.
D'altronde, questo è un protocodice, quindi lo si può sviluppare come uno vuole, secondo i propri gusti.
Ci sono difatti un paio di giochi di luce che in pratica sono quasi uguali, li ho scritti senza neanche provarli dal vivo   smiley-sweat
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bella leo, lavoro preciso ed efficiente come sempre; una sola cosa sulla logica: lo spegnimento lo fai con una pressione più lunga, non credo che devi fare tutto il giro dei colori smiley-eek-blue?
Sì, si può fare anche come dici tu.
D'altronde, questo è un protocodice, quindi lo si può sviluppare come uno vuole, secondo i propri gusti.
Ci sono difatti un paio di giochi di luce che in pratica sono quasi uguali, li ho scritti senza neanche provarli dal vivo   smiley-sweat
no, no, come detto era solo una semplice curiosità, immaginando che uno deve uscire di fretta alla fine la lascia accesa se per spegnerla deve prima riempirla di un buon numero di ceffoni smiley-mr-green
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La lampada non è nata per stare collegata fissa alla rete. Il consumo c'è. Va messo un interruttore sul filo di alimentazione oppure, meglio ancora (come faccio io), va scollegato l'alimentatorino da parete in modo che neanche il trasformatore interno consumi corrente.

Perché?
La lampada "spenta" è in realtà una lampada che non accende i led, ma non c'è nessuno sleep o altro. Il micro resta ben sveglio  altrimenti non potrebbe leggere il sensore capacitativo e capire se qualcuno avvicina la mano per "accenderla". Non so se mi sono spiegato.
Logged


Italia, Cefalù
Offline Offline
Sr. Member
****
Karma: 0
Posts: 416
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bello il sensore capacitivo! ti legge anche attraverso il vetro? micidiale!

Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bello il sensore capacitivo! ti legge anche attraverso il vetro? micidiale!
Come puoi vedere dal video... sì.
E' fatto con una semplice spirale di filo, niente foglio di metallo.
Il ritardo che vedi è voluto: ho messo un delay per evitare che il sensore leggesse 2 volte la prossimità della mano.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La lampada non è nata per stare collegata fissa alla rete. Il consumo c'è. Va messo un interruttore sul filo di alimentazione oppure, meglio ancora (come faccio io), va scollegato l'alimentatorino da parete in modo che neanche il trasformatore interno consumi corrente.

Perché?
La lampada "spenta" è in realtà una lampada che non accende i led, ma non c'è nessuno sleep o altro. Il micro resta ben sveglio  altrimenti non potrebbe leggere il sensore capacitativo e capire se qualcuno avvicina la mano per "accenderla". Non so se mi sono spiegato.
Il sensore capacitivo non è in grado di agire su un interrupt? smiley-roll
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: [1] 2   Go Up
Jump to: