Finalmente dopo una lunga assenza, in cui ero immerso nella realizzazione finale di questo mio progetto, CE L’HO FATTA!!!
Dopo mesi di progettazione, studi, ricerche e ostacoli vari, la RGB LED Lamp 1.0 by Toggio è realtà.
Posto subito il video che mostra il risultato definitivo ottenuto:
Ed ora una breve cronistoria.
Una delle cose che mi ha attirato di più quando ho sentito parlare di Arduino, era la luce, e in particolar modo ho sempre avuto il sogno di realizzare una lampada a LED RGB.
Niente di difficile, si potrebbe pensare… Solo che lungo questo percorso ho trovato diversi ostacoli.
Innanzitutto non ho trovato progetti completi in rete… Si trova qualcosa, ma, a mio avviso, con algoritmi fatti male, con poche spiegazioni, con metodi elaborati.
Io volevo una cosa semplice da regalare alla persona che amo e che mi ha dato una bellissima figlia…
Volevo qualcosa che avesse una luce abbastanza potente, senza però scaldare troppo. Volevo qualcosa che avesse la possibilità di scegliere il colore e non una semplice “color cycler”. Volevo qualcosa che fungesse anche da lampada standard. Ed infine volevo qualcosa che fosse modulare e upgradabile in futuro.
Dopo queste riflessioni, ho cominciato a studiare innanzitutto l’hardware. Non volevo usare l’Arduino UNO perchè mi sembrava eccessivamente grande per il mio progetto. Ho deciso quindi (e qui si potrebbe aprire un’enorme parentesi) di utilizzare una board non tanto diffusa ma a mio avviso eccezionale (tant’è che ne ho comprate 4 o 5): la Arduino Mini Pro.
(Resta inteso che nel progetto di questo post, può essere tranquillamente sostituita con una UNO o qualsiasi altra Arduino board.)
E’ una board estremamente piccola (18mm x 33mm), compatibile al 100% con Arduino Dumilanove, e a basso consumo. Esiste in quattro versioni: con Atmega328 a 3.3V e 5V e con Atmega168 a 3.3 e 5V.
Ho quindi optato per questo progetto per la versione a 5V con Atmega168. In definitiva si tratta di una soluzione molto economica (costa circa la metà dell’Arduino UNO), alquanto compatta e bella da vedere.
Ho poi pensato di utilizzare delle comodissime Strip LED RGB, che offrono numerosi vantaggi rispetto ad utilizzare led di potenza a 1W o a 3W: non scaldano, si alimentano a 12V e offrono una potenza fino a 13-14W per metro lineare.
Ogni canale può essere alimentato da un’uscita PWM di Arduino tramite un semplice transistor (nel mio caso ho usato dei BC337, ma per potenze superiori si possono usare altri transistor o addirittura dei Mosfet).
Ho quindi provveduto a costruire una specie di shield per la mia board. In pratica ho realizzato un circuito in cui la Arduino Mini Pro possa inserirsi con dei connettori strip ed essere eventualmente rimossa per aggiornare il firmware. Il tutto è stato progettato con Fritzing e realizzato da Fritzing Fab.
Il risultato finale del circuito stampato è il seguente:
Si possono notare le due file di fori dove andrà montata la Mini Pro… Praticamente è una shield al contrario 🙂
Ma facciamo un passo indietro e vediamo lo schema di circuito:
Spero sia abbastanza chiaro anche se non l’ho disegnato proprio benissimo!
In ogni caso il funzionamento è il seguente: I due potenziometri da 10k posti tra i +5V e la massa, sono i due input analogici che permettono di regolare la luminosità e altri parametri stabiliti dal software. Il deviatore a 3 posizioni SW2, permette di selezionare tre funzioni diverse per la lampada. Le uscite digitali 3,5,6 vanno a pilotare tramite un resistore i 3 transistori BC337 che andranno a dare corrente alle 3 uscite negative R,G,B della striscia a LED. Il positivo comune va ai +12V, mentre l’Arduino è alimentato tramite porta RAW (ingresso da 7V a 13V) tramite un diodo che oltre a fornire protezione da eventuale inversione di polarità, abbassa leggermente la tensione. SW1 è semplicemente il ponte dove andrà collegato un normalissimo interuttore di accensione.
Una volta saldati i vari componenti, connettori e potenziometri, montato il circuito, incapsulata la board Arduino, e montato il tutto dentro una scatola da elettricista, il risultato è quello della foto seguente:
La dimensione della scatola è di circa 10cmx10cmx7cm.
Per la parte superiore, ho utilizzato circa 70cm di striscia led RGB, per una potenza totale di circa 10W. Per farla stare tutta l’ho arrotolata intorno al perno di supporto di una campana da CD. Ho tagliato con un taglierino tale perno e l’ho incollato con dei distanziatori sopra la scatola. Ho poi incollato con della colla a caldo la striscia a led avvolgendola sul perno… Insomma un lavoro un po’ artigianale ma il risultato alla fine è il seguente:
Il vetro che si vede sulla scrivania leggermente spostato rispetto alla lampada, è il pezzo finale che manca: la copertura in vetro di una lampada IKEA, opportunamente fatta tagliare da un vetraio locale, affinché rimanga vuota sui due lati. Questa coperturà verrà infine appoggiata sopra la scatola da elettricista ed incollata, ottenendo il seguento risultato:
Mica male vero?
Ovviamente manca ancora la ciliegina sulla torta, una parte non meno importante: il software.
Il codice autoesplicativo è il seguente:
/* RGB Led Lamp 1.0a by Luca Soltoggio 15/03/2012 https://arduinoelettronica.wordpress.com/ */ int rpin = 3; // pin RED int gpin = 5; // pin GREEN int bpin = 6; // pin BLU unsigned int r=0, g=0, b=0,bm=0; // valori rgb e coefficiente divisore del blu unsigned int valh=0, vals=0, valv=0; // hue, saturation, value unsigned int sensorValue; // variabile che memorizza il valore dei potenziometri const int analogInPin = A0; // pin dei potenziometri const int analogInPin2 = A1; const int digitalInPin = 10; // pin del deviatore const int digitalInPin2= 11; int red[]={255,255,135}; // array con i valori RGB della funzione "Bianco" int green[]={157,255,158}; int blue[]={51,255,255}; boolean DIG1, DIG2; long previousMillis = 0; int i=0,j=0; int dl=0; // delay void setup() { pinMode(digitalInPin,INPUT); pinMode(digitalInPin2,INPUT); } void loop() { DIG1=digitalRead(digitalInPin); DIG2=digitalRead(digitalInPin2); if (DIG1) { bm=1.1; HSV_Game(); } else if (DIG2) { bm=1.9; RAINBOW_Game(); } else { bm=2.4; LIGHT_Game(); } analogWrite(rpin, r/1.09); // ROSSO analogWrite(gpin, g/1); // VERDE analogWrite(bpin, b/bm); // BLUE } // funzione di armonizzazione dei valori analogici tramite media aritmetica int SensorSmooth (int pin) { sensorValue=0; for (int i = 0; i<10; i++) { sensorValue+= analogRead(pin); } return int ((float)sensorValue/10+0.5); } // prima funzione: selezione del colore e della luminosità tramite potenziometri void HSV_Game() { valh = SensorSmooth(analogInPin); vals = 255; valv = SensorSmooth(analogInPin2); valh = map(valh,0,1023,0,359); valv = map(valv,0,1023,32,255); hsv2rgb(valh,vals,valv,r,g,b); } // seconda funzione: selezione di bianco caldo, bianco neutro e bianco freddo, oltre alla luminosità void LIGHT_Game() { valv = SensorSmooth(analogInPin2); valv = map(valv,0,1023,16,255); valh = SensorSmooth(analogInPin); if (valh=742) valh=2; if (valh>2) valh=1; r=red[valh]*valv/255; g=green[valh]*valv/255; b=blue[valh]*valv/255; } // terza funzione: selezione della velocità di rotazione tra tutti i colori e della luminosità void RAINBOW_Game() { dl = SensorSmooth(analogInPin); // tempo di pausa dl = map(dl,0,1023,1,100); valv = SensorSmooth(analogInPin2); valv = map(valv,0,1023,64,255); unsigned long currentMillis = millis(); switch (j) { case 0: r=255*valv/255; g=i*valv/255; b=0*valv/255; break; case 1: r=(255-i)*valv/255; g=255*valv/255; b=0*valv/255; break; case 2: r=0*valv/255; g=255*valv/255; b=i*valv/255; break; case 3: r=0*valv/255; g=(255-i)*valv/255; b=255*valv/255; break; case 4: r=i*valv/255; g=0*valv/255; b=255*valv/255; break; case 5: r=255*valv/255; g=0*valv/255; b=(255-i)*valv/255; } if (currentMillis-previousMillis > (long)(100-dl)) { // usa millis invece che delay previousMillis=currentMillis; i=i+1; if (i==256) { i=1; j=j+1; if (j==6) j=0; } } } /* Funzione che trasforma HSV in RGB (c) Elco Jacobs, E-atelier Industrial Design TU/e, July 2011 http://code.google.com/p/shiftpwm/source/browse/trunk/examples/ShiftPWM_Example1/hsv2rgb.cpp?r=3 */ void hsv2rgb(int hue, int sat, int val, unsigned int& r, unsigned int& g, unsigned int& b) { int H_accent = hue/60; int bottom = ((255 - sat) * val)>>8; int top = val; int rising = ((top-bottom) *(hue%60 ) ) / 60 + bottom; int falling = ((top-bottom) *(60-hue%60) ) / 60 + bottom; switch(H_accent) { case 0: r = top; g = rising; b = bottom; break; case 1: r = falling; g = top; b = bottom; break; case 2: r = bottom; g = top; b = rising; break; case 3: r = bottom; g = falling; b = top; break; case 4: r = rising; g = bottom; b = top; break; case 5: r = top; g = bottom; b = falling; break; } }
La pagine Fritzing del progetto (dove è possibile anche scaricare il codice sorgente) la trovate qui:
http://fritzing.org/projects/high-power-rgb-lamp-10-with-arduino/
Alla prossima!!!
Is this code correct. I get errors on line 62
Yes,
i did a mistake with cut and paste 🙂
Now i corrected the error and it should work.
Thank you for the comment.
Luca
Tx Luca. This is a gr8 project. Tx for sharing
Complimenti!!! Lavoro ben fatto e documentato.
Appena ho un po’ di tempo x me voglio realizzarlo.
Un omonimo 🙂
LucaTortuga
Grazie mille…
Sto solo cercando di condividere qualche idea…
Prossimamente ci saranno altri progetti…
A presto
Seen both in the image of the assembly, as in the image of the plaque, using the RGB output bent. What is the reason. a greeting
Sorry, i don’t understand the questione… what is the problem with RGB output?
It is seen that in the assembly have used a dual RGB output. I see that use an LED strip in the tube and one at the base of the box. This is so? Thank you.
Oh, yes… Sorry… i didn’t understand…
I use two output, because i use two strips. One in the tube and one at the base of the box.
This is just for bettere lighting… Some to the top, and some around…
You can use as many strips as you don’t exceed the ampere of the transistors.
If you want more power you can use darligton instead of normal transistors.
Hope this help.
Greetings
Ehy bel lavoro! Io avevo un’idea simile alla tua, ma non saprei dove comprare la striscia di led, su internet la cerco ma la trovo già programmata, qualche consiglio? Grazie mille in anticipo
Ciao, non capisco cosa intendi per “già programmata”…
Qualsiasi striscia a led rgb va bene…
Cerca su ebay “rgb led strip 1m” e ne trovi quante ne vuoi.
Possibilmente scegli quelle da 60led per metro.
A presto
Con già programmata intendo che la vendono con il telecomando con dei giochi di luci, grazie ancora 😀
Un sentito grazie!!!!!! stupendo progetto domattina ikea!! 😛
Ho appena finito il prototipo perfetto….
ciao complimenti x il lavoro ti volevo chiedere praticamente ho una striscia di 60 led rgb (circa 2 metri), li vorrei fare accendere attraverso “arduino uno” ma in maniera automatica. Le varie tonalità di colore devono dipendere dalla traccia audio in riproduzione come posso fare
Ma vuoi fare una cosa tipo legate alle frequenze? (rosso bassi, verde medi, blu alti)?
Se è questo quello che vuoi, hai bisogni di un Spectrum Shield per Arduino (cerca su google).
Ti permette di trasformare una determinata frequenza, in un valore analogico in uscita…
A presto
(si + o -) con questo sistema che hai citato è possibilie avere più tonalità di colore sempre legate alle frequenze? Altrimenti secondo te è possibile interfacciare un microfono ad arduino, per esempio metterlo vicino ad una cassa e utilizzarlo per leggere le varie frequenze? grazie ancora x la tua disponibilità
Ciao Valerio,
puoi interfacciare un microfono ad Arduino… Il problema è che non riesci a leggere la varie frequenze senza un circuito adatto… Puoi solo leggere il valore della pressione sonora (il volume sostanzialmente). Con lo Spectrum Shield potresti assegnare il valore rosso agli alti, il blu ai bassi ed il verde ai medi, in questo modo il mix dei colori dipende dalle frequenze…
Spero di esserti stato d’Aiuto
Luca
Ciao, prima di tutto complimenti per la realizzazione della tua,lampada. Vorrei sapere dove hai acquistato la Strip led rgb.
Ciao Michele e grazie per i complimenti.
La Strip led rgb, l’ho presa su ebay.
Va bene qualsiasi strip, ma consiglio quelle con led 5050 e almeno 30 led per metro (o 60 meglio).
Ne trovi a bizzeffe!
Saluti e a presto
ho scoperto da qualche giorno arduino, e mi ha preso la scimmia (robe da matti alla mia eta’, oltre i 6anta)
gironzolando sulla rete mi sono imbattuto nei tuoi lavori e mi sono piaciuti, senza contare i pcb molto professionali.
sono 40 anni che faccio pcb, ma non sono nemmeno parenti dei tuoi.
ho costruito con la tecnica wirewrapping un visualizzatore basato sull’atmega 328 in standalone per monitorare la produzione dell’impianto solare e del consumo della casa, in modo da tenere un po’ sotto controllo e ottimizzare il tutto.
tengo a precisare che non è farina del mio sacco, ma ho scoppiazzato a destra e a manca, anche perchè non sarei capace di scrivere il programma per gestirlo.
comunque funziona.
solo che mi sono messo in mente di comandare anche un relè per sfruttare con una stufetta la produzione in eccesso per economizzare sul metano.
anche questo funziona, ma al raggiungimento della soglia impostata, il relè si eccita, ma non ha differenziale ed è un continuo attacca e stacca. (no buono).
ho fatto, come si dice, il passo piu’ lungo della gamba ed ora sono bloccato.
ti chiedo, se per te non è un problema, se mi puoi fornire qualche dritta per uscire dalla situazione.
io sono di edolo, ma abito nella nebbia della pianura padana, comunque in estate vado spesso a poschiavo a trovare i parenti.
scusami se l’ho fatta lunga.
ciao.
Caro Antonio,
dovrei vedere lo schema e il codice…
Così a “naso”, potrebbe essere che il relè assorbe troppo… ricordati che i relè vanno pilotati tramite un transistor dalle uscite di arduino e non direttamente, perchè l’uscità di Arduino ha una potenza molto limitata.
Puoi collegare il relè in questo modo:
http://makezineblog.files.wordpress.com/2009/02/arduinorelay.jpg?w=400&h=361
Io sono di Tirano, quindi non siamo lontanissimi.
A presto
I pin MOSI e D10 del ARDUINO PRO ( collegamento R6-R7) equivalgono a che piedini del ARDUINO UNO precisamente al ATMEGA 328 in standalone ?
Congratulazioni del progetto.
Ciao Francesco,

i pin MOSI (D11) e D10, corripsondo rispettivamente ai piedini 17 e 16 dell’Atmega328.
Vedi questo link per il pinout completo:
A presto
Ciao Toggio,
sto cercando di realizzare il tuo prototipo….detto questo sei comunque un grande.
Ti volevo chiedere se il programma realizzato per arduino pro è compatibile per arduino uno…. inoltre il filo che parte dalla prima striscia di led sotto la scritta rgb out che va verso il collettore di q1 termina li??? vorrei inoltre capire sono le diramazioni che ci sono in alto accanto alla batteria e alle rgb out.
Grazie per qualsiasi risposta tu voglia dirmi.
ciao
Riccardo C.
Ciao Riccardo e grazie per i complimenti,
ovviamento il programma è compatibile al 100% con Arduino Uno… Ho usato il Pro Mini per una questione di spazio, di costi e di ottimizzazione, ma il programma è assolutamente compatibile con le altre piattaforme Arduino.
Per quanto riguarda le connessioni, il filo che parte dalla prima striscia di LED, è il polo positivo della striscia di LED. Termina li e arriva dal + dell’alimentazione, mentre le altre tre connessione sono R-, G- e B- e vanno collegati alla striscia a LED. Le due diramazioni in alto invece, denominate SW1, vanno collegate semplicemente ad un interruttore, per accendere o spegnere il circuito.
Spero di esserti stato utile.
A presto
ciao vorrei realizzare questa lampada, premetto che posseggo uno starter kit arduino uno, quanto sarebbe il costo totale di realizzazione? la striscia di led quanto costa?
la striscia da te usata è per caso questa?
http://www.ebay.it/itm/1-METRO-STRISCIA-LED-5050-RGB-COLORI-DA-60-LED-POWER-/290552607800?pt=Led_e_Neon&hash=item43a648f438
Si,
è come quella…
E il costo più alto è proprio la striscia a LED, quindi come vedi il costo totale è abbordabile.
A presto
Luca
Ciao, ho visto questo progetto e mi è piaciuto moltissimo.:) vorrei realizzarlo anche io però purtroppo non ho un arduino pro mini… ma ho un arduino uno… come posso fare??? cosa cambia nel software???
grazie in anticipo..:)
Pasquale
Come descritto nell’articolo,
si può usare anche l’Arduino UNO… Nel software non cambia assolutamente nulla.
A presto
i due interruttori di che tipo sono?
Non capisco la domanda…
Qualsiasi tipo di interruttore va bene.
Saluti
ad esempio non capisco il collegamento del sw1
poi un altra domanda: con cosa lo hai alimentato a 12v?
Ciao Giuliano,
SW1 è un semplice interruttore con il quale accendo / spengo tutto il circuito…
Accendendolo do tensione all’ingresso “RAW” di Arduino (6-13v) e al positivo della LED STRIP…
Si tratta semplicemente dell’interruttore di alimentazione, come si vede chiaramente nello schema di circuito, anche per quanto riguarda la secondo domanda e cioè l’alimentazione, che si, ovviamente è a 12v.
A presto
Complimenti per il progetto ben fatto e ben documentato. Volevo chiderti un informazione, come posso sostitutire l’integrato ATMEGA168 dell’arduino mini pro con l’integrato ATMEGA328 dell’arduino UNO dato che l’ATMEGA328 non possiede il piedino RAW ?? Ancora complimenti. Grazie.
Ciao Emnauele,
c’è un po’ di confusione nella tua domanda…
Il pinout di entrambi gli integrati è identico, cio che cambia nella board Arduino Mini Pro rispetto alla board Arduino UNO è il circuito intorno al microcontrollore…
In ogni caso il pin “RAW” corrisponde a quello che su Arduino UNO viene chiamato pin “Vin”.
A presto
Salve,
qualche guida sulla comunicazione wireless Arduino?
Una valida alternativa all’uso del software XCTU per la configurazione dei moduli ricevitore e trasmittente?
Metterò una guida a breve.
Intanto ti consiglio questi moduli: http://www.hoperf.com/rf/fsk/HM-TR.htm
Costano pochissimo, hanno una discreta portata e soprattutto lavorano in modalità TTL trasparente. Quello che invi sulla porta TX di un modulo arriva sulla RX dell’altro e viceversa… Più facile di così!!!
Altrimenti ci sono anche questi: http://www.ebay.it/itm/KIT-controllo-remoto-RF-Trasmettitore-e-Ricevitore-433Mhz-compatibile-Arduino-/151019751966?pt=Attrezzature_e_strumentazione&hash=item23297a8a1e
In questo caso serve la libreria virtualwire…
A presto
Salve, grazie per avermi risposto.
Io come moduli wireless ho comprato questi:
http://www.ebay.it/itm/R001-XRF-wireless-RF-radio-UART-RS232-serial-data-module-XBee-Arduino-PICAXE-PIC-/321085640510?pt=UK_Computing_Other_Computing_Networking&hash=item4ac2320f3e&_uhb=1
Dovrebbero andare bene.
Comunque una guida sarebbe l’ideale, grazie ancora.
Ciao,
volevo chiedere se il circuito stampato che hai realizzato con Fritzing è perfettamente compatibile con le nuove Arduino Pro Mini 328. Giusto per capire se ci sono da apportare modifiche al progetto in caso di utilizzo di quest’altra board più recente; anche perchè non riesco a trovare in vendita da nessuna parte la Pro Mini che hai usato tu…
Grazie mille
Dovrebbe essere compatibile…
Mi pare che guardano le foto in rete delle due versioni, l’unica differenza è che sono invertiti i pin per la connessione con il cavo FTDI, ma per quanto riguarda la parte che si interfaccia con il mio circuito stampato, non dovrebbero esseri problemi di sorta…
A presto
Aggiungo ancora gentilmente una richiesta…con che tipo di trasformatore 12V posso alimentare la lampada? E’ sufficiente un trasformatore da 1A?
Dipende dalla striscia a LED.
Fondamentalmente il grosso del carico è dato da quello… Per il resto aggiungici 200ma per sicurezza…
Quindi se per esempio la striscia LED è da 14,4w per metro, e ne usi due metri, l’alimentatore deve essere almeno 2,5A.
Consiglio sempre di restare un po’ abboandanti…
A presto
Complimenti, ottimo progetto ricco di spunti interessanti.
Posso chiederti dove hai acquistato i componenti che hai utilizzato per l’assemblaggio? In particolare il connettore dell’alimentazione compatibile con il layout di Fritzing.
Grazie e complimenti ancora.
Ciao Cesare e grazie,
i componenti li trovi tranquillamente tutti su ebay da rivenditori italiani.
A presto
Ottimo progetto, l’ ho riprodotto senza particolari problemi ( ….. il lavoro sporco l’ hai fatto tu!). Ora devo solo trovare un “involucro” che mi ispiri. Ho qualche problema con l’ ottenimento della luce bianca (quindi i 3 RGB accesi) con calma controllerò magari lo sketch (a dire il vero piuttosto complicato per me ma vedrò di capirci qualche cosa). Non capisco inoltre perchè dici che SW2 è a 3 posizioni, a me pare solo a 2 posizioni come mi sembra di rilevare anche dallo schema tecnico. Grazie e ancora tanti complimenti.
Ciao Giuseppe,
il problema della luce bianca dipende dal tipo di strip LED… ottenere il bianco è abbastanza difficile… Per fare delle prove devi modificare lo sketch dalla riga 22 alla 24: quelli sono gli array con i tre valori RGB per il bianco (caldo, neutro, freddo).
Per quanto riguarda l’SW2, confermo che è a tre posizioni: su, centrale, e basso.
A presto
Luca
Grazie, proverò a modificare lo sketch nei punti da te indicati. Però non mi torna il discorso di SW2. Non sono molto ferrato, dallo schema sembra a 2 posizioni; in una cortocircuita il pin MOSI (cioe’ il D11 di Arduino) con i +5V, nell’ altra il pin D10 con i +5V …. non rilevo la terza posizione (quella del bianco che io in effetti non ho ma che dal video da te postato si vede). Riesci a darmi ancora una dritta? Comunque anche così è più che godibile …… ancora bravo!!
Forse ho capito il problema SW2 dallo sketch in questa sezione:
{
DIG1=digitalRead(digitalInPin);
DIG2=digitalRead(digitalInPin2);
if (DIG1) {
bm=1.1;
HSV_Game();
}
else if (DIG2) {
bm=1.9;
RAINBOW_Game();
}
else {
bm=2.4;
LIGHT_Game();
}
semplicemente basta uno switch a 3 posizioni (come dici tu), lasciarlo scollegato nella terza posizione ed ingaggia quindi la terza condizione. Ora non ho sottomano uno switch, appena riesco provo (anche se credo per prova possa bastare scollegare quello esistente a 2 vie). Ti farò sapere, grazie comunque.
Si ….. confermo, funziona perfettamente così come scritto nel mio precedente post, tutto OK, grazie!
Esattamente, nello schema non era molto chiaro… la terza posizione era “tutto scollegato”…
A presto
Ciao!
io non ho capito come alimentare il tutto. MI spiego
1_devo alimentare Arduino
2_devo alimentare il mio circuito esterno …in questo caso una lampada a led.
quanti alimentatori quindi devo utilizzare…2 separati? uno?
Se mi dai qualche dritta in proposito sarebbe bellissimo 🙂
Uno solo basta; io ne ho messo uno da 12V 2A e con una striscia led da 80 cm funziona perfettamente. Ciao
Ciao Francesco,
mi pare che lo schema elettrico sia abbastanza chiaro… Si usa un’unico alimentatore, e l’Arduino si alimenta tramite i 12v dell’alimentatore principale attraverso l’ingresso “RAW” (per Arduino Mini Pro) o “Vin” (per Arduino UNO).
A presto
Salve, ho un dubbio da datasheet il bc337 è un CBE mentre nelle tue immagini è rappresentato come un EBC http://www.fairchildsemi.com/ds/BC/BC337.pdf dal tuo schematico sembra che siano i collettori ad andare a massa invece che gli emettitori.
Saluti
E’ disegnato al contrario sul circuito stampato…
Vai tranquillo e segui il datasheet.
A presto
C’e un file pdf di questo progetto?
In che senso in PDF?
C’è il sorgente per fritzing, ci sono le foto e tutto… se mi dice come vuole sto pdf gielo posso anche creare…
Saluti
Un file pdf da poter scaricare su un dispositivo android e che contega tutte le informazioni utili per realizzare e capire il progetto.
nel codice manca una riga che fa funzionare la selezione del tono caldo freddo o neutro della luce bianca
if (valh<=281) valh=0;
l'ho trovata confrontando con il codice su fritzing
ora funziona tutto
per migliorare la luminosità devo provare a sostituire i transistor con dei mos a bassissima resistenza
ora arrivano al massimo 9v su 12.
Complimenti
saluti
Grazie per le dritte 🙂
A presto
Salve Toggio , mi chiamo davide e sto cercando di realizzare il suo progetto con Arduino 1 con atmega328,ho provato a compilare il tuo codice e ho riscontrato diversi errori:
rgb_lamp.ino: In function ‘void loop()’:
rgb_lamp:44: error: ‘LIGHT_Game’ was not declared in this scope
rgb_lamp.ino: At global scope:
rgb_lamp:54: error: expected constructor, destructor, or type conversion before ‘=’ token
rgb_lamp:55: error: expected constructor, destructor, or type conversion before ‘=’ token
rgb_lamp:56: error: expected constructor, destructor, or type conversion before ‘=’ token
rgb_lamp:57: error: expected declaration before ‘}’ token (le righe indicate nel miei errori non corrispondono alle sue in quanto io ho omesso i commenti). In particolare il dubbio era sulla funzione LIGHT GAME che risulta non dichiarata.Grazie in anticipo per eventuali delucidazioni, a presto.
Credo che non hai caricato correttamente il codice completo. Verifica che quando apri il codice ti apra anche “functions.ino”.
A presto!
Grazie Luca per la risposta ,ho appena avuto modo di provare ed effettivamente avevi ragione,ora il codice non presenta errori. Se posso volevo anche chiedere qualche altra cosa: la basetta da te realizzata è una doppia faccia vero? se si ,come hai proceduto per lo sbrogliato? riportando lo schema elettrico su fritzing e poi facendolo fare a lui? ed infine,utilizzando arduino uno quali sarebbero i pin a contatto con la basetta(shield)? Grazie mille ancora
Avrei necessità di un contatto telefonico. 02 90005369 340 8810322
Salve,
lasciami l’indirizzo email che ti contatto.
A presto
Ciao io sto usando arduino uno e per alimentarla avrei acquistato un alimentatore da collegare direttamente all arduino come posso fare? Dallo schema non riesco a capire perchè tu usi la raw (vin dell’arduino)..
Uso la raw (vin) perchè l’alimentatore è da 12 volts.
A presto
ma volendo, avendo l’arduino uno e l’ingresso per l’alimentatore diretto che supporta i 12v, posso collegarlo li invece che alla raw oppure non mi funzionerebbe? Grazie
Scusate ma quanto ci impiegate a moderare un commento?
Essendo un’attività senza scopo di lucro, appena ho tempo rispondo, prima non posso 🙂
A presto
Ciao Luca! Posso chiederti che tipo di BC337 hai utilizzato ? Meglio dei BC337-25 o dei BC337-40?
Ciao Luca, ho dei problemi nel software in particolare mi da errore nelle linee: 38; 46; 58; 59; 60.
come posso risolverli? Hai usato qualche libreria in particolare? aspetto una tua risposta a presto Alfio.
Ciao, complimenti per il progetto, ho traslato tutto sul 328 in standalone rispettando i pin originali ma ho uno sfarfallio sul canale rosso (PD3), PD5 e PD6 funzionano a 60Hz mentre PD3 a 30Hz. Hai per caso qualche soluzione ?
Sò che i timer sono differenti ma non so dove mettere mano al listao.
Grazie anticipatamente.
Antonio.
Buongiorno Luca,
elimina pure il mio commento precedente, avevo settato male i fuses ma con AVR Dragon ho risolto tutto.
Complimenti ancora per il progetto.
Grazie e buona giornata.
Antonio
ciao antonio a te funziona il programma?
come hai fatto ad eliminare lo sfarfallio?
ciao antonio a te funziona il programma?
Giusto per curiosità, la basetta (shield) come si realizza? Non sembra qualcosa fatto in casa.
http://fab.fritzing.org/fritzing-fab
Fatta fare tramite fritzingfab!!!