Monday, November 2, 2009

RGB LED Prototype #4















GOAL: Continuation from prototype #3

PROCESS: Using the same wiring as in Prototype #3 but a different code.

RESULT: As seen in the video above still RED LED light has been obtained. Feels like a step back from prototype #3, this needs further development.

CODE:

int potpin = 2;              // Switch connected to digital pin 2

int rpin = 9;
int gpin = 10;
int bpin = 11;
float h;
int h_int;
int r=0, g=0, b=0;

int val=0;

void h2rgb(float h, int &R, int &G, int &B);

void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
}


void loop() // run over and over again
{
val=analogRead(potpin); // Read the pin and display the value
//Serial.println(val);
h = ((float)val)/1024;
h_int = (int) 360*h;
h2rgb(h,r,g,b);
Serial.print("Potentiometer value: ");
Serial.print(val);
Serial.print(" = Hue of ");
Serial.print(h_int);
Serial.print("degrees. In RGB this is: ");
Serial.print(r);
Serial.print(" ");
Serial.print(g);
Serial.print(" ");
Serial.println(b);

analogWrite(rpin, r);
analogWrite(gpin, g);
analogWrite(bpin, b);
}

void h2rgb(float H, int& R, int& G, int& B) {

int var_i;
float S=1, V=1, var_1, var_2, var_3, var_h, var_r, var_g, var_b;

if ( S == 0 ) //HSV values = 0 ÷ 1
{
R = V * 255;
G = V * 255;
B = V * 255;
}
else
{
var_h = H * 6;
if ( var_h == 6 ) var_h = 0; //H must be < var_i =" int(" var_i =" floor(" var_1 =" V" var_2 =" V" var_3 =" V" var_i ="=" var_r =" V" var_g =" var_3" var_b =" var_1" var_i ="=" var_r =" var_2" var_g =" V" var_b =" var_1" var_i ="=" var_r =" var_1" var_g =" V" var_b =" var_3" var_i ="=" var_r =" var_1" var_g =" var_2" var_b =" V" var_i ="=" var_r =" var_3" var_g =" var_1" var_b =" V" var_r =" V" var_g =" var_1" var_b =" var_2" r =" (1-var_r)" results =" 0" g =" (1-var_g)" b =" (1-var_b)">

SOURCE:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207331496

Labels: , , ,


Comments:

Post a Comment





<< Home

This page is powered by Blogger. Isn't yours?