MY MBG GW — Esp32 Devkit C V4 simulation

An interactive Esp32 Devkit C V4 circuit simulation you can run free in your browser on Velxio, by kiybiy36.

Components

Sketch code

#include <LovyanGFX.hpp>
#include <DHT.h>

// ============================================================
// KONFIGURASI PIN
// ============================================================
#define DHTPIN 21
#define DHTTYPE DHT22
#define BUZZER_PIN 27
#define BUTTON_PIN 26

// ============================================================
// KONFIGURASI LEDC
// ============================================================
#define BUZZER_FREQ 2000
#define BUZZER_RESOLUTION 8

// ============================================================
// KONFIGURASI LOVYANGFX (ILI9341)
// ============================================================
class LGFX : public lgfx::LGFX_Device {
  lgfx::Panel_ILI9341 _panel_instance;
  lgfx::Bus_SPI       _bus_instance;

public:
  LGFX(void) {
    {
      auto cfg = _bus_instance.config();
      cfg.spi_host = VSPI_HOST;
      cfg.spi_mode = 0;
      cfg.freq_write = 27000000;
      cfg.freq_read  = 16000000;
      cfg.spi_3wire  = false;
      cfg.use_lock   = true;
      cfg.dma_channel = 1;
      cfg.pin_sclk = 18;
      cfg.pin_mosi = 23;
      cfg.pin_miso = 19;
      cfg.pin_dc   = 2;
      _bus_instance.config(cfg);
      _panel_instance.setBus(&_bus_instance);
    }
    {
      auto cfg = _panel_instance.config();
      cfg.pin_cs           = 15;
      cfg.pin_rst          = 4;
      cfg.pin_busy         = -1;
      cfg.panel_width      = 240;
      cfg.panel_height     = 320;
      cfg.offset_x         = 0;
      cfg.offset_y         = 0;
      cfg.offset_rotation  = 0;
      cfg.readable         = false;
      cfg.invert           = false;
      cfg.rgb_order        = false;
      _panel_instance.config(cfg);
    }
    setPanel(&_panel_instance);
  }
};

LGFX tft;
DHT dht(DHTPIN, DHTTYPE);

// ============================================================
// WARNA KUSTOM
// ============================================================
#define WARNA_UNGU_TUA    0x8010
#define WARNA_UNGU_MUDA   0xB81F
#define WARNA_MERAH       0xF800
#define WARNA_BIRU        0x001F
#define WARNA_KUNING      0xFFE0
#define WARNA_HIJAU       0x07E0
#define WARNA_PINK_HATI   0xF81F

// ============================================================
// NOT HAPPY BIRTHDAY
// ============================================================
int hbdMelodi[] = {
  262, 262, 294, 262, 349, 330,
  262, 262, 294, 262, 392, 349,
  262, 262, 523, 440, 349, 330, 294,
  466, 466, 440, 349, 392, 349
};
int hbdDurasi[] = {
  4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 2
};
int jumlahNot = 26;

// ============================================================
// VARIABEL GLOBAL
// ============================================================
float suhu = 0.0;
float kelembaban = 0.0;
unsigned long lastTime = 0;
unsigned long lastCountdown = 0;
const long interval = 4000;
int slideAktif = 1;
int hitunganMundur = 10;

int lastButtonState = HIGH;
int buttonState = HIGH;
unsigned long lastDebounceTime = 0;
const unsigned long debou

More projects by kiybiy36