Mini Project Sensor Cahaya — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by ryanankar.

Components

Sketch code

// #include <Wire.h>
// #include <LiquidCrystal_I2C.h>
// #include <Digital_Light_TSL2561.h>

// #define LED_MERAH 2
// #define LED_HIJAU 5
// #define SPEAKER   19

// LiquidCrystal_I2C lcd(0x27, 16, 2);
// unsigned long lastValidLux = 0;

// void setup() {
//   Serial.begin(115200);
//   Wire.begin(21, 22);

//   TSL2561.init();

//   lcd.init();
//   lcd.backlight();

//   pinMode(LED_MERAH, OUTPUT);
//   pinMode(LED_HIJAU, OUTPUT);
//   pinMode(SPEAKER, OUTPUT);
// }

// void loop() {
//   unsigned long luxValue = TSL2561.readVisibleLux();

//   if (luxValue == 0 && lastValidLux > 500) {
//     luxValue = 40000;
//   } else if (luxValue > 0) {
//     lastValidLux = luxValue;
//   }

//   Serial.print("Intensitas Cahaya: ");
//   Serial.print(luxValue);
//   Serial.println(" Lux");

//   lcd.setCursor(0, 0);
//   lcd.print("Cahaya: ");
//   lcd.print(luxValue);
//   lcd.print(" lx       ");

//   if (luxValue > 5000) {
//     digitalWrite(LED_HIJAU, HIGH);
//     digitalWrite(LED_MERAH, LOW);
//     noTone(SPEAKER);
    
//     lcd.setCursor(0, 1);
//     lcd.print("Status: CERAH   ");
//   } else {
//     digitalWrite(LED_HIJAU, LOW);
//     digitalWrite(LED_MERAH, HIGH);
//     tone(SPEAKER, 1500);
    
//     lcd.setCursor(0, 1);
//     lcd.print("Status: GELAP   ");
//   }

//   delay(300);
// }

/*************************************************************
  Project IoT: Sensor Cahaya, LCD, LED, Speaker & Blynk IoT
  ESP32 Pin Mapping:
  - Sensor Cahaya & LCD (I2C): SDA -> D21, SCL -> D22
  - Grove Speaker: SIG -> D19
  - LED Merah & Hijau: D18 & D5 (Contoh pin digital tambahan untuk LED)
 *************************************************************/

#define BLYNK_TEMPLATE_ID           "TMPL6VY-TOzBZ"
#define BLYNK_TEMPLATE_NAME         "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "0NIE1QAp2ZKNjfbqnvRLnpUDAhZJU7z7"

#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// WiFi Credentials
char ssid[] = "Top Singko"; // Ganti dengan nama WiFi Anda
char pass[] = "ragatmas";     // Ganti dengan password WiFi Anda

BlynkTimer timer;

// Inisialisasi LCD I2C (Alamat 0x27 atau 0x3F, ukuran 16x2)
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Definisi Pin Komponen
const int SPEAKER_PIN = 19;
const int LED_MERAH = 2;    // Sesuaikan dengan rangkaian Anda
const int LED_HIJAU = 5;     // Sesuaikan dengan rangkaian Anda

// Variabel untuk menyimpan nilai sensor cahaya
int lightValue = 0;

// Fungsi untuk membaca sensor cahaya (Simulasi / Integrasi I2C)
void readLightSensor() {
  // Contoh pembacaan I2C sensor cahaya (ganti dengan fungsi pustaka spesifik sensor Anda)
  // Di sini kita gunakan pembacaan dummy atau pembacaan register I2C
  Wire.beginTransmission(0x23); // Contoh alamat I2C sensor cahaya umum (misal BH1750)
  Wire.endTransmission();
  
  // Simulasi nilai cahaya (0 - 1023 atau Lux)
  // Anda dapat menggantinya sesuai fungsi pembacaan se

More projects by ryanankar