Professional Documents
Culture Documents
Kodingan P3
Kodingan P3
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;
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
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
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);
P3.6
RGB MIXER
int potPin = 0;
int potVal = 0;
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