top of page

Kontrol LED dengan Serial Monitor + Display OLED 0.91"


Selamat datang di website Cosmo!

di artikel ini, kita akan belajar mengontrol LED dengan serial monitor dan display status di OLED 0.91".


Skema Rangkaian



wiring

Penjelasan Rangkaian

  1. 5V  VCC OLED

  2. GND  GND OLED & LED

  3. D3  Resistor 470 Ohm  Kaki (+) LED

  4. D2  SDA OLED

  5. D1  SCL OLED

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET -1
#define OLED_ADDR 0x3C

#define LED_PIN D3  // Pin LED

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
bool ledState = false; // Status LED

void updateOLED() {
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(10, 10);
  
  if (ledState) {
    display.print("LED: ON");
  } else {
    display.print("LED: OFF");
  }

  display.display();
}

void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  
  if (!display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)) {
    Serial.println("Gagal inisialisasi OLED!");
    while (true);
  }

  display.clearDisplay();
  Serial.println("Ketik 'ON' untuk menyalakan LED, 'OFF' untuk mematikan");
  updateOLED();
}

void loop() {
  if (Serial.available()) {
    String command = Serial.readStringUntil('\n');
    command.trim(); // Menghapus spasi ekstra

    if (command.equalsIgnoreCase("1")) {
      ledState = true;
      digitalWrite(LED_PIN, HIGH);
      Serial.println("LED dinyalakan");
    } else if (command.equalsIgnoreCase("2")) {
      ledState = false;
      digitalWrite(LED_PIN, LOW);
      Serial.println("LED dimatikan");
    }

    updateOLED(); // Perbarui tampilan OLED sesuai status LED
  }
}

Hasil

Kode ini mengontrol LED menggunakan Serial Monitor pada Wemos D1 Mini, sekaligus menampilkan statusnya di OLED 0.91". Saat pengguna mengetik "1" di Serial Monitor, LED akan menyala, dan OLED akan menampilkan teks "LED: ON", sedangkan jika mengetik "2", LED akan mati, dan OLED berubah menjadi "LED: OFF". Fungsi updateOLED() bertugas memperbarui tampilan OLED setiap kali status LED berubah, sementara loop() terus memeriksa apakah ada input dari pengguna untuk mengaktifkan atau mematikan LED. Program ini memastikan tampilan dan kontrol berjalan real-time dengan I2C untuk OLED dan digitalWrite() untuk LED, menjadikannya solusi sederhana dan efektif dalam mengontrol perangkat berbasis Wemos D1 Mini.


Video Tutorial

Untuk penjelasan lebih mendalam, tonton tutorial video berikut.


Penutup

Kalau ingin belajar lebih banyak tentang IoT, langsung kunjungi YouTube IQ+ dan temukan berbagai tutorial menarik lainnya.

Comments


Bantu tingkatkan
kualitas website ini!

Dengan memberi masukan dan/atau pertanyaan

Jika berkenan, silakan masukan e-mail Anda untuk kontak lebih lanjut

Pilihan
Masukan
Pertanyaan
Lainnya
bottom of page