salve tutti, mi presento, mi chiamo fulvio e mi sono cimentato in un progetto forse un po' ambizioso per le mie conoscenze.
una piccola premessa prima di iniziare il topic: mi impegno solennemente nel portare termine questo progetto e prometto che una volta che sarà completato posterò una guida fotografica o video per realizzare da 0 un progetto simile.
veniamo noi:
giorni fa sono stato in un grande negozio di mobili ed articoli d'arredo svedese; lì ho visto una meravigliosa lampada da tavolo forma di sfera, bianca opaca, molto elegante, ma onestamente leggermente anonima.

ho pensato di comprare una lampadina rgb dai cinesi e dargli un po' di vita ...ma gestire tutto con un telecomando mi sembrava una soluzione non degna di un aspirante maker, così mi sono venute mille idee.
mi è venuto subito in mente arduino: il progetto consisterà in una lampada rgb ma che cambia colore quando si avvicina la mano in una specifica area e che si accenda e si spenga quando la si tocchi in un altra porzione della sfera.
sono riuscito scrivere il codice che fa accendere e spegnere la luce utilizzando questo codice ed inserendo un sottile filamento di rame nella parte interna della sfera :
devo dire che funziona egregiamente, anche se il filo è molto sottile e disposto per una prova alla meno peggio.
in rete ho trovato il progetto di un ragazzo che ringrazio, riccardo ouvina, il quale servendosi di 3 funzioni sinusoidali sfasate di pi/3 ha realizzato un simpatico gioco di luci utilizzando questo codice che ho leggermente modificato:
adesso quello che vorrei fare è: utilizzando queste due porzioni di codice, unirle in un unico codice e creare un interfaccia capacitiva due aree di contatto che funzionano nel seguente modo:
c'è qualche anima pia che saprebbe/potrebbe aiutarmi o instradarmi per realizzare questo progetto?
grazie in anticipo tutti per il vostro tempo.
fulvio
una piccola premessa prima di iniziare il topic: mi impegno solennemente nel portare termine questo progetto e prometto che una volta che sarà completato posterò una guida fotografica o video per realizzare da 0 un progetto simile.
veniamo noi:
giorni fa sono stato in un grande negozio di mobili ed articoli d'arredo svedese; lì ho visto una meravigliosa lampada da tavolo forma di sfera, bianca opaca, molto elegante, ma onestamente leggermente anonima.
ho pensato di comprare una lampadina rgb dai cinesi e dargli un po' di vita ...ma gestire tutto con un telecomando mi sembrava una soluzione non degna di un aspirante maker, così mi sono venute mille idee.
mi è venuto subito in mente arduino: il progetto consisterà in una lampada rgb ma che cambia colore quando si avvicina la mano in una specifica area e che si accenda e si spenga quando la si tocchi in un altra porzione della sfera.
sono riuscito scrivere il codice che fa accendere e spegnere la luce utilizzando questo codice ed inserendo un sottile filamento di rame nella parte interna della sfera :
code: [select]
#include <capacitivesensor.h>
int statoled = low;
int led = 13;
capacitivesensor cs_4_2 = capacitivesensor(4,2);
void setup()
{
pinmode(led, output);
cs_4_2.set_cs_autocal_millis(0xffffffff); // turn off autocalibrate on channel 1 - example
}
void loop()
{
long total1 = cs_4_2.capacitivesensor(30);
if (total1 > 50){
if (statoled == low){
statoled = high;
digitalwrite(led, statoled);
delay(200);}
else{
statoled = low;
digitalwrite(led, statoled);
delay(200);
}
}
delay(10);
}
devo dire che funziona egregiamente, anche se il filo è molto sottile e disposto per una prova alla meno peggio.
in rete ho trovato il progetto di un ragazzo che ringrazio, riccardo ouvina, il quale servendosi di 3 funzioni sinusoidali sfasate di pi/3 ha realizzato un simpatico gioco di luci utilizzando questo codice che ho leggermente modificato:
code: [select]
float rgb[3];
int redled = 11; // red led in digital pin 11 (pwm)
int greenled = 10; // green led in digital pin 10 (pwm)
int blueled = 9; // blue led in digital pin 9 (pwm)
void setup(){
pinmode(redled,output); // tell arduino it's output
pinmode(greenled,output);// tell arduino it's output
pinmode(blueled,output); // tell arduino it's output
// set outputs low
digitalwrite(redled,low);
digitalwrite(greenled,low);
digitalwrite(blueled,low);
}
void loop(){
(float x=0;x<pi;x=x+0.00001){
rgb[0]=255*abs(sin(x*(180/pi))); // calculate brightness red led
rgb[1]=255*abs(sin((x+pi/3)*(180/pi))); // calculate brightness green led
rgb[2]=255*abs(sin((x+(2*pi)/3)*(180/pi)));// calculate brightness blue led
{
// write brightness on leds
analogwrite(redled,rgb[0]);
analogwrite(greenled,rgb[1]);
analogwrite(blueled,rgb[2]);
}
for(int i=0;i<3;i++){
if(rgb[i]<1){
delay(100);
}
if(rgb[i]<5){
delay(50);
}
if(rgb[i]<10){
delay(10);
}
if(rgb[i]<100){
delay(5);
}
}
delay(1);
}
}
adesso quello che vorrei fare è: utilizzando queste due porzioni di codice, unirle in un unico codice e creare un interfaccia capacitiva due aree di contatto che funzionano nel seguente modo:
- quando tocco la prima area (a1) sulla superficie della sfera la luce si accende e si spegne
- quando tocco la seconda area (a2) sulla superficie della sfera colori vengono sfumati lentamente e quando la mano si allontana da a2 il programma si arresta lasciando l'ultima combinazione di colori
c'è qualche anima pia che saprebbe/potrebbe aiutarmi o instradarmi per realizzare questo progetto?
grazie in anticipo tutti per il vostro tempo.
fulvio
Arduino Forum > International > Italiano > Generale (Moderator: leo72) > Progetto Lampada RGB con interfaccia capacitiva
arduino
Comments
Post a Comment