< Back

MODUL 2 - INPUT DAN OUTPUT ANALOG


Dalam modul ini, saya dan teman saya melakukan praktik untuk membuat lampu LED menyala blinking sesuai yang ada di modul.

Peralatan yang digunakan:
1. Arduino Uno Starter Kit
2. 5 buah LED
3. 5 buah resistor 220 ohm
4. Jumper
5. Potensiometer

Untuk menyelesaikan tugas modul ini, kita pasang dan sesuaikan rangkaian di breadboard menurut dasar yang diajarkan di modul.

TUGAS I
Membuat lampu LED sesuai perputaran nilai potensiometer.


Source Code:
    
    int sensorPin = A0;
    int ledPin = 13;
    int ledPin1 = 12;
    int ledPin2 = 11;
    int ledPin3 = 10;
    int ledPin4 = 9;
    int sensorValue = 0;
    
    void setup(){
      pinMode(ledPin, OUTPUT);
      pinMode(ledPin1, OUTPUT);
      pinMode(ledPin2, OUTPUT);
      pinMode(ledPin3, OUTPUT);
      pinMode(ledPin4, OUTPUT);
    }
    
    void loop(){
      sensorValue = analogRead(sensorPin);
      if(sensorValue >= 0 && sensorValue <= 200){
        digitalWrite(ledPin, HIGH);
        digitalWrite(ledPin1, LOW);
      }else if(sensorValue >= 201 && sensorValue <= 400){
        digitalWrite(ledPin, LOW);
        digitalWrite(ledPin1, HIGH);
        digitalWrite(ledPin2, LOW);
      }else if(sensorValue >= 401 && sensorValue <= 600){
        digitalWrite(ledPin1, LOW);
        digitalWrite(ledPin2, HIGH);
        digitalWrite(ledPin3, LOW);      
      }else if(sensorValue >= 601 && sensorValue <= 800){
        digitalWrite(ledPin2, LOW);
        digitalWrite(ledPin3, HIGH);
        digitalWrite(ledPin4, LOW);
      }else if(sensorValue > 800){
        digitalWrite(ledPin3, LOW);
        digitalWrite(ledPin4, HIGH);
      }
    }
      
    
      

TUGAS II
Membuat modifikasi program untuk mengendalikan kecerahan lampu LED berdasar potensiometer.


Source Code:

    
    int ledPin = 9;
    int currentPin = A0;
    int currentFade = 0;
    int maxFade = 1024;
    
    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      currentFade = analogRead(currentPin);
      if(currentFade <= maxFade){
          currentFade += 5;
          analogWrite(ledPin, currentFade / 4);
          delay(30);
      }else{
          currentFade -= 5;
          analogWrite(ledPin, currentFade / 4);
          delay(30);
      }
    }