LED diódy využivajú rôzne napätia a prúdy vzhľadom na vyžarovanú farbu a veľkosť viď tabuľka nižšie.
- červená 1.9 V 20 mA
- range'>oranžová 2.0 V 25 mA
- žltá 2.0 V 25 mA
- zelená 2.2 V 20 mA
- modrá 3.5 V 20 mA
- biela 3,5 V 20 mA
Predradený odpor je nevyhnutý pre zapojenie led diód pri inom než 1,5-3,5V napätí. Slúži teda na úpravu napájacieho napätia aby nedošlo k prepáleniu diódy. Jeho hodnota sa líši aj podľa toho, ako sú ledky zapojené (paralelne alebo sériovo).

Kód programu v C#
Na začiatku si navrhneme triedu dióda:
Kód v C#
class Led
{
public Led(string meno, double napatie, double prud)
{
this.meno = meno;
this.napatie = napatie;
this.prud = prud;
this.AlowZmenu = false;
}
public Led(string meno, double napatie, double prud,bool zmena)
{
this.meno = meno;
this.napatie = napatie;
this.prud = prud;
this.AlowZmenu = zmena;
}
public double Napatie
{
set;
get;
}
public double Prud
{
set;
get;
}
public string Meno
{
set;
get;
}
public bool PovolZmenu
{
set;
get;
}
}
Ďalej si vytvoríme 7 diód:
Kód v C#
private void createLeds()
{
/*
červená 1.9 V 20 mA
oranžová 2.0 V 25 mA
žltá 2.0 V 25 mA
zelená 2.2 V 20 mA
modrá 3.5 V 20 mA
biela 3.5 V 20 mA
*/
mojaLed[0] = new Led("červená", 1.9, 20);
mojaLed[1] = new Led("oranžová", 2.0, 25);
mojaLed[2] = new Led("žltá", 2.0, 25);
mojaLed[3] = new Led("zelená", 2.2, 20);
mojaLed[4] = new Led("modrá ", 3.5, 20);
mojaLed[5] = new Led("biela ", 3.5, 20);
mojaLed[6] = new Led("vlastná ", 0, 0,true);
foreach (Led s1 in mojaLed)
{
this.comboBox1.Items.Add(s1.meno);
}
}
Samotný výpočet ,
R=U/I ,kde R je predradný odpor
P=I*U ,kde P je stratový vykon na odpore .
Kód v C#
double r = (uf - uled) / (iled / 1000); //R=U/I double rp = (iled / 1000) * (uf - uled); //P=I*U
Ďalej si ešte ukážeme ako prevedieme hodnotu odporu zadanú v tvare napr 1K2 na číslo, na to nám poslúži nasledujúci kód :
Kód v C#
private void convert(string nazov, out double hodnota)
{
hodnota = 0;
try
{
Regex lRegEx1 = new Regex(@"(?<celecislo>\d{0,3})(?<rada>[rRkKmM])(?<desatinnecislo>\d{0,3})");//napr 1R3
string rada = string.Empty;
if (lRegEx1.IsMatch(nazov))
{
MatchCollection groups = lRegEx1.Matches(nazov);
hodnota = 0;
if (groups[0].Groups["celecislo"].Value != string.Empty)
{
hodnota += Convert.ToInt16(groups[0].Groups["celecislo"].Value) * 1;
};
if (groups[0].Groups["desatinnecislo"].Value != string.Empty)
{
hodnota += Convert.ToInt16(groups[0].Groups["desatinnecislo"].Value) * 0.1;
};
rada = groups[0].Groups["rada"].Value;
if (rada != string.Empty)
{
switch (rada)
{
case "r":
case "R": hodnota *= 1; break;
case "k":
case "K": hodnota *= 1000; break;
case "m":
case "M": hodnota *= 1000000; break;
}
}
}
else
{
hodnota = 0;
}
}
catch (Exception ex1)
{
MessageBox.Show(ex1.Message);
}
}
Na záver si môžete stiahnuť hotový program.







