Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

SVEUILITE U SPLITU

FAKULTET ELEKTROTEHNIKE, STROJARSTVA I


BRODOGRADNJE

PROJEKT 1
MIJEALICA BOJA RGB SA TRI POTENCIOMETRA

Studenti:

Ante Kraljevi
Dajana Zadro
Josip Jurevi

Projekt prezentira mogunost upotrebe pulsno irinske modulacije (PWM), gdje se preko tri
potenciometra upravlja bojama na RGB LED-ici. U projektu je koritena RGB LED-ica te tri
potenciometra od 10k.

Programski kod koriten u projektu:


int potPin1 = 0;
int potPin2 = 1;
int potPin3 = 2;
int potVal1 = 0;
int potVal2 = 0;
int potVal3 = 0;
int redPin = 3;
int grnPin = 5;
int bluPin = 6;
int redVal = 0;
int grnVal = 0;
int bluVal = 0;
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(grnPin, OUTPUT);
pinMode(bluPin, OUTPUT);
}
void loop()
{
potVal1 = analogRead(potPin1);
potVal2 = analogRead(potPin2);
potVal3 = analogRead(potPin3);
redVal = map(potVal1, 0, 1023, 0, 255);
grnVal = map(potVal2, 0, 1023, 0, 255);
bluVal = map(potVal3, 0, 1023, 0, 255);
analogWrite(redPin, redVal);
analogWrite(grnPin, grnVal);
analogWrite(bluPin, bluVal);
}
U programu je osim standardnih funkcija pinMode() koja slui za konfiguraciju pina kao ulaznog ili
izlaznog, analogRead() koja slui za itanje analogne vrjednosti sa analognog pina te analogWrite()
koja slui za upis analogne vrijednosti PWM signala na eljeni pin koritena i funkcija map() koja
ima sljedei oblik
map(value, fromLow, fromHigh, toLow, toHigh)
Funkcija map() slui za mapiranje broja iz jednog raspona u drugi. Tako smo u programu vrijednost
oitanu s analognog pina koja je u rasponu od 0 do 1023 mapirali u vrijednost od 0 do 255 potrebnu
za intezitet pojednih boja na RGB LED-ici.

You might also like