You are on page 1of 8

const int potPin = 0;

const int ledPin1 = 13;


const int ledPin2 = 12;
const int ledPin3 = 9;
const int ledPin4 = 7;
const int ledPin5 = 4;
const int ledPin6 = 3;
int val = 0;

void setup()
{
Serial.begin(9600);
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
pinMode(ledPin4,OUTPUT);
pinMode(ledPin5,OUTPUT);
pinMode(ledPin6,OUTPUT);
analogReference(DEFAULT);
}

void loop()
{
val = analogRead(potPin);
Serial.println(val);
digitalWrite(ledPin1,HIGH);
delay(val);
digitalWrite(ledPin1,LOW);
delay(val);
digitalWrite(ledPin2,HIGH);

delay(val);
digitalWrite(ledPin2,LOW);
delay(val);
digitalWrite(ledPin3,HIGH);
delay(val);
digitalWrite(ledPin3,LOW);
delay(val);
digitalWrite(ledPin4,HIGH);
delay(val);
digitalWrite(ledPin4,LOW);
delay(val);
digitalWrite(ledPin5,HIGH);
delay(val);
digitalWrite(ledPin5,LOW);
delay(val);
digitalWrite(ledPin6,HIGH);
delay(val);
digitalWrite(ledPin6,LOW);
delay(val);
}

P3.1

DIMMER v1

int potPin = 0;

int ledPin = 10;


int val = 0;

void setup()
{
pinMode(ledPin, OUTPUT);
analogReference(DEFAULT);
}

void loop()
{
val = analogRead(potPin);
val = val/4;
analogWrite(ledPin, val);
}

P3.2

DIMMER v2

int potPin = 1;
int ledPin = 9;
int val = 0;

void setup()
{
pinMode(ledPin, OUTPUT);
analogReference(DEFAULT);
}

void loop()
{
val = analogRead(potPin);

val = constrain(val,750,900);
int ledLevel = map(val,750,900,250,0);
analogWrite(ledPin,ledLevel);
}

P3.3

BLINKING RATE

const int potPin = 2;


const int ledPin = 13;
int val = 0;

void setup()
{
pinMode(ledPin,OUTPUT);
}

void loop()
{
val = analogRead(potPin);
digitalWrite(ledPin,HIGH);
delay(val);
}

P3.4

THRESHOLD

int potPin = 3;
int ledPin = 4;

void setup()
{
pinMode(ledPin, OUTPUT);
}

void loop()
{
int val = analogRead(potPin);
if(val > 512)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}

P3.5

BAR GRAPH DISPLAY

//program untuk mengatur nyala sejumlah LED dengan


//potensiometer untuk men-display nilai input analog
//ke output digital

const int analogPin = A0;


const int ledCount = 8; //jumlah LED

int ledPins[] = {2,3,4,5,6,7,8,9}; //array pin LED

void setup()
{
//looping pada array u/ men-set semua pin sebagai output
for(int thisLed = 0;thisLed < ledCount;thisLed++)
{
pinMode(ledPins[thisLed],OUTPUT);

}
}

void loop()
{
int potReading = analogRead(analogPin);
int ledLevel = map(potReading,0,1023,0,ledCount);

//loop pada array LED


for(int thisLed = 0;thisLed<ledCount;thisLed++)
{
//jika indeks elemen array<ledLevel,naylakn pin LED
if(thisLed < ledLevel)
{
digitalWrite(ledPins[thisLed],HIGH);
}
//padamkan semua pin yang lebih besar dari ledLevel
else
{
digitalWrite(ledPins[thisLed],LOW);
}
}
}

P3.6

RGB MIXER

//program pencampuran warna RGB LED dengan potensio.

int potPin = 0;
int potVal = 0;

int redPin = 11;


int grnPin = 10;
int bluPin = 9;

int redVal = 0;
int grnVal = 0;
int bluVal = 0;

void setup()
{
pinMode(redPin,OUTPUT);
pinMode(grnPin,OUTPUT);
pinMode(bluPin,OUTPUT);
}

void loop()
{
potVal = analogRead(potPin);
if(potVal < 341)
{ //Lowest third of the pot's range(0-340)
potVal = (potVal*3)/4;//Normalize to 0-255
redVal = 255 - potVal;//Red from full to of
grnVal = potVal; //Green from of to full
bluVal = 1; //Blue of
}
else if(potVal<682)
{//Middle third of pot's range(341-681)
potVal = ((potVal-341)*3)/4;//Normalize to 0-255
redVal = 1; //Red of
grnVal = 255-potVal; //Green from full to of

bluVal = potVal; //Blue from of to full


}
else
{//upper third of potensiometer"s range(682-1023)
potVal = ((potVal-683)*3)/4;//Normalize to 0-255
redVal = potVal; //Red from of to full
grnVal = 1; //Green of
bluVal = 255-potVal; //Blue from full to of
}
//"255-"is because we have common-anode LEDs
analogWrite(redPin,255-redVal);
analogWrite(grnPin,255-grnVal);
analogWrite(bluPin,255-bluVal);
}

You might also like