#include <LiquidCrystal.h>
// Inisialisasi objek LiquidCrystal (sesuaikan dengan pin STM32 yang digunakan)
LiquidCrystal lcd(PA0, PA1, PA2, PA3, PA4, PA5);
// Definisi pin
const int ldrPin = PA6; // Pin analog untuk LDR
const int ledPin = PA7; // Pin digital untuk LED
void setup() {
// Inisialisasi LCD
lcd.begin(16, 2); // LCD dengan 16 kolom dan 2 baris
// Inisialisasi pin
pinMode(ldrPin, INPUT); // LDR sebagai input
pinMode(ledPin, OUTPUT); // LED sebagai output
// Tampilkan pesan awal di LCD
lcd.print("LDR: ");
lcd.setCursor(0, 1); // Pindah ke baris kedua
lcd.print("LED: ");
}
void loop() {
// Baca nilai dari sensor LDR
int ldrValue = analogRead(ldrPin);
// Tampilkan nilai LDR pada baris pertama
lcd.setCursor(5, 0); // Pindah ke kolom ke-5 baris pertama
lcd.print(" "); // Hapus nilai sebelumnya
lcd.setCursor(5, 0);
lcd.print(ldrValue);
// Cek kondisi LDR untuk mengontrol LED
if (ldrValue < 500) { // Atur threshold sesuai kebutuhan
digitalWrite(ledPin, HIGH); // Nyalakan LED
lcd.setCursor(5, 1); // Pindah ke baris kedua kolom ke-5
lcd.print("Menyala "); // Tampilkan status LED
} else {
digitalWrite(ledPin, LOW); // Matikan LED
lcd.setCursor(5, 1); // Pindah ke baris kedua kolom ke-5
lcd.print("Mati "); // Tampilkan status LED
}
delay(500); // Beri jeda 500 ms
}Loading
stm32-bluepill
stm32-bluepill