Skip to main content

Tutorial Membuat LED Light di Arduino Uno


 Halo semuanya, pada kesempatan kali ini admin akan memberikan sefruit tutorial membuat LED Light di Arduino Uno

Alat yang kalian perlu persiapkan adalah aplikasi yang mensupport arduino uno seperti Arduino IDE, atau kalian bisa coding online di wokwi

nahhh, berikut adalah code yang bisa kalian coba untuk membuat LED Light kalian sendiri, kalian juga bisa memodifikasi sesuai kebutuhan kalian


//Kode 01
//GOD CODING COMPUTER SPECIALIST

#include <LiquidCrystal.h>

// Define pin for LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

// Define pin for LEDs
const int redLeft = 8;
const int yellowLeft = 9;
const int greenLeft = 10;
const int redRight = 7;
const int yellowRight = 6;
const int greenRight = 5;

// Define delay time
const int delayTime = 750;

// Define text for LCD
const char *text = "Merah, Kuning, Hijau";
const int textLength = strlen(text);

void setup() {
  // Initialize LCD
  lcd.begin(16, 2);

  // Initialize LED pins
  pinMode(redLeft, OUTPUT);
  pinMode(yellowLeft, OUTPUT);
  pinMode(greenLeft, OUTPUT);
  pinMode(redRight, OUTPUT);
  pinMode(yellowRight, OUTPUT);
  pinMode(greenRight, OUTPUT);

  // Display initial message on LCD
  lcd.setCursor(0, 0);
  lcd.print("Menyala");
  lcd.setCursor(0, 1);
  lcd.print("Abangku");
  delay(1000);

  // Clear LCD
  lcd.clear();
}

void loop() {
  // Turn on all LEDs
  digitalWrite(redLeft, HIGH);
  digitalWrite(yellowLeft, HIGH);
  digitalWrite(greenLeft, HIGH);
  digitalWrite(redRight, HIGH);
  digitalWrite(yellowRight, HIGH);
  digitalWrite(greenRight, HIGH);
  delay(delayTime);

  // Turn off all LEDs
  digitalWrite(redLeft, LOW);
  digitalWrite(yellowLeft, LOW);
  digitalWrite(greenLeft, LOW);
  digitalWrite(redRight, LOW);
  digitalWrite(yellowRight, LOW);
  digitalWrite(greenRight, LOW);
  delay(delayTime);

  // Turn on middle LED
  digitalWrite(redLeft, HIGH);
  digitalWrite(redRight, HIGH);
  delay(delayTime);

  // Turn off all LEDs
  digitalWrite(redLeft, LOW);
  digitalWrite(yellowLeft, LOW);
  digitalWrite(greenLeft, LOW);
  digitalWrite(redRight, LOW);
  digitalWrite(yellowRight, LOW);
  digitalWrite(greenRight, LOW);
  delay(delayTime);

  // Turn on all LEDs except middle LED
  digitalWrite(yellowLeft, HIGH);
  digitalWrite(greenLeft, HIGH);
  digitalWrite(yellowRight, HIGH);
  digitalWrite(greenRight, HIGH);
  delay(delayTime);

  // Turn off all LEDs
  digitalWrite(redLeft, LOW);
  digitalWrite(yellowLeft, LOW);
  digitalWrite(greenLeft, LOW);
  digitalWrite(redRight, LOW);
  digitalWrite(yellowRight, LOW);
  digitalWrite(greenRight, LOW);
  delay(delayTime);

  // Turn on top green and bottom green LEDs
  digitalWrite(greenLeft, HIGH);
  digitalWrite(greenRight, HIGH);
  delay(delayTime);

  // Turn off all LEDs
  digitalWrite(redLeft, LOW);
  digitalWrite(yellowLeft, LOW);
  digitalWrite(greenLeft, LOW);
  digitalWrite(redRight, LOW);
  digitalWrite(yellowRight, LOW);
  digitalWrite(greenRight, LOW);
  delay(delayTime);

  // Turn on bottom yellow and top yellow LEDs
  digitalWrite(yellowLeft, HIGH);
  digitalWrite(yellowRight, HIGH);
  delay(delayTime);

  // Turn off all LEDs
  digitalWrite(redLeft, LOW);
  digitalWrite(yellowLeft, LOW);
  digitalWrite(greenLeft, LOW);
  digitalWrite(redRight, LOW);
  digitalWrite(yellowRight, LOW);
  digitalWrite(greenRight, LOW);
  delay(delayTime);

  // Display text on LCD
  lcd.setCursor(0, 0);
  lcd.print("Merah, Kuning, Hijau");

  // Run text from right to left
  for (int i = 0; i <= textLength; i++) {
    lcd.setCursor(15 - i, 0);
    lcd.print(text);
    delay(150);
    lcd.setCursor(15 - i, 0);
    lcd.print("                ");
  }
}




//Kode 02
//GOD CODING COMPUTER SPECIALIST

// Pin Definitions
const int redPin = 11;
const int yellowPin = 12;
const int greenPin = 13;

// LCD Library and Initialization
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // Initialize digital pins as output
  pinMode(redPin, OUTPUT);
  pinMode(yellowPin, OUTPUT);
  pinMode(greenPin, OUTPUT);

  // Initialize LCD
  lcd.begin(16, 2);

  // Initial LCD Display
  lcd.setCursor(0, 0);
  lcd.print("Menyala");
  lcd.setCursor(0, 1);
  lcd.print("Abangku");
  delay(1000);
  lcd.clear();
  lcd.print("Merah, Kuning, Hijau");
}

void loop() {
  // Pattern 1: All LEDs On/Off
  allLEDsOn(750);
  allLEDsOff(750);

  // Pattern 2: Red On/All But Red On/Off
  redLEDOn(750);
  allLEDsOff(750);
  allLEDsExceptRedOn(750);
  allLEDsOff(750);

  // Pattern 3: Green On/Yellow On/Off
  greenLEDsOn(750);
  allLEDsOff(750);
  yellowLEDsOn(750);
  allLEDsOff(750);

  // Running Text with LED Patterns
  runningText();
}

// Function to turn all LEDs on
void allLEDsOn(int duration) {
  digitalWrite(redPin, HIGH);
  digitalWrite(yellowPin, HIGH);
  digitalWrite(greenPin, HIGH);
  delay(duration);
}

// Function to turn all LEDs off
void allLEDsOff(int duration) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, LOW);
  digitalWrite(greenPin, LOW);
  delay(duration);
}

// Function to turn only the red LED on
void redLEDOn(int duration) {
  digitalWrite(redPin, HIGH);
  digitalWrite(yellowPin, LOW);
  digitalWrite(greenPin, LOW);
  delay(duration);
}

// Function to turn all LEDs except red on
void allLEDsExceptRedOn(int duration) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, HIGH);
  digitalWrite(greenPin, HIGH);
  delay(duration);
}

// Function to turn the green LEDs on
void greenLEDsOn(int duration) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, LOW);
  digitalWrite(greenPin, HIGH);
  delay(duration);
}

// Function to turn the yellow LEDs on
void yellowLEDsOn(int duration) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, HIGH);
  digitalWrite(greenPin, LOW);
  delay(duration);
}

// Function for the running text
void runningText() {
  String text = "Merah, Kuning, Hijau";
  int textLength = text.length();
  int xPos = 16; // Start at the rightmost edge

  while(true) {
    lcd.setCursor(xPos, 0);
    lcd.print(text);
    delay(150); // Delay for animation speed
    xPos--; // Move text one position to the left
    if (xPos < -textLength) {
      xPos = 16; // Wrap back to the right edge
    }

    // Synchronize with LED patterns
    // You will need to call your LED functions here based on the current position
    // of the running text. For example, you can call different LED patterns
    // depending on which part of the text is currently being displayed.
  }
}

Demikian tutorial dari admin, silahkan dicoba dan dimodifikasi sesuai kebutuhan kalian ya!
Jangan lupa untuk service dan konsultasi coding dan programming kalian di God Speed Coding Computer Specialist!