Hallo,
Op het moment ben ik bezig met een project om via de pc microcontrollers via de com-poort aan te sturen waar rgb-leds aanhangen die ik vanaf de pc kan besturen.
Nu ben ik bezig met de Gui en de echte-software, dus nog niet met het aansturen van de Com-poort.
De software wordt geprogrammeers in C++.
De Code ziet er als volgt uit:
Als we de kleur Wit hebben is de hexadecimale kleur: FFFFFF en voor Zwart 000000, Groen: 00FF00, Blauw FF0000 en Rood 0000FF.
Nu gaan we de Leds aansturen met PWM en we willen de helderheid (beetje overkill maar daar gaat het niet om) dus van 00 (0%) tot 255/FF (100%) kunnen aansturen.
Hiervoor moeten we dus de hexadecimale code in 3 groepjes van 2 splitsen.
Dus bij de groen meot ik voor: Blauw=00, Groen=255 en Rood=00 ipv 00FF00.
Heeft iemand een idee hoe ik dat zou moeten?
en weet iemand ook hoe ik die waarden aan elkaar kan plakken? zodat ik bij Wit bijvoorbeeld; 255255255 (FFFFFF) krijg?
Op het moment ben ik bezig met een project om via de pc microcontrollers via de com-poort aan te sturen waar rgb-leds aanhangen die ik vanaf de pc kan besturen.
Nu ben ik bezig met de Gui en de echte-software, dus nog niet met het aansturen van de Com-poort.
De software wordt geprogrammeers in C++.
De Code ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| void __fastcall TForm1::EditDec1Click(TObject *Sender)
{
ColorDialog1->Execute();
Color1 = ColorDialog1->Color;
Label1->Color = Color1;
EditDec1->Text = ColorToRGB(Color1);
Hex1 = Color1;
EditHex1->Text = IntToHex(Hex1,6);
};
//---------------------------------------------------------------------------
void __fastcall TForm1::EditDec2Click(TObject *Sender)
{
ColorDialog1->Execute();
Color2 = ColorDialog1->Color;
Label2->Color = Color2;
EditDec2->Text = ColorToRGB(Color2);
Hex2 = Color2;
EditHex2->Text = IntToHex(Hex2,6);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::EditDec3Click(TObject *Sender)
{
ColorDialog1->Execute();
Color3 = ColorDialog1->Color;
Label3->Color = Color3;
EditDec3->Text = ColorToRGB(Color3);
Hex3 = Color3;
EditHex3->Text = IntToHex(Hex3,6);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::EditDec4Click(TObject *Sender)
{
ColorDialog1->Execute();
Color4 = ColorDialog1->Color;
Label4->Color = Color4;
EditDec4->Text = ColorToRGB(Color4);
Hex4 = Color4;
EditHex4->Text = IntToHex(Hex4,6);
}
//--------------------------------------------------------------------------- |
Als we de kleur Wit hebben is de hexadecimale kleur: FFFFFF en voor Zwart 000000, Groen: 00FF00, Blauw FF0000 en Rood 0000FF.
Nu gaan we de Leds aansturen met PWM en we willen de helderheid (beetje overkill maar daar gaat het niet om) dus van 00 (0%) tot 255/FF (100%) kunnen aansturen.
Hiervoor moeten we dus de hexadecimale code in 3 groepjes van 2 splitsen.
Dus bij de groen meot ik voor: Blauw=00, Groen=255 en Rood=00 ipv 00FF00.
Heeft iemand een idee hoe ik dat zou moeten?
en weet iemand ook hoe ik die waarden aan elkaar kan plakken? zodat ik bij Wit bijvoorbeeld; 255255255 (FFFFFF) krijg?
“If Your Only Tool Is a Hammer Then Every Problem Looks Like a Nail” (Abraham Maslow)