Hallo guys, saat ini mau bikin project Arduino yaitu Sensor Cahaya dengan indikator buzzer dan LED.
Ini adalah versi prototipe dari project ini, cara kerjanya persis sama dengan versi permanen tetapi strukturnya sedikit kurang stabil.
Komponen yang dibutuhkan :
- Arduino Uno + adaptor usb
- Breadboard
- 10 kabel jumper (untuk prototipe papan breadboard)
- 2 LED
- 2 resistor 220 ohm
- 1 fotoresistor (LDR)
- 1 resistor 10K ohm
- Buzzer
Perakitan Komponen
Source Code
const int buzzerPin = 8; //Menentukan pin output untuk Buzzer
const int lightSensorPin = A0; //Menentukan pin untuk sensor LDR
const int redLedPin = 9; //Menentukan pin output untuk LED merah
const int yellowLedPin = 10; //Menentukan pin output untuk LED kuning
void setup() {
// Deklarasikan pin INPUT dan OUTPUT
pinMode(buzzerPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(lightSensorPin, INPUT);
}
void loop() {
int lightLevel = analogRead(lightSensorPin);
int numLightsToFlicker = map(lightLevel, 0, 1023, 1, 3);
digitalWrite(buzzerPin, HIGH);
flickerLights(numLightsToFlicker);
digitalWrite(buzzerPin, LOW);
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
int delayTime = map(lightLevel, 0, 1023, 1000, 100);
delay(delayTime);
}
void flickerLights(int numLights) {
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
for (int i = 0; i < numLights; i++) {
digitalWrite(redLedPin + i, HIGH);
}
int flickerDelay = map(numLights, 1, 3, 400, 100);
delay(flickerDelay);
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
}
Cara Kerja
Jika semuanya terhubung dengan benar di papan breadboard Anda. LDR akan mendeteksi cahaya di dalam ruangan dan menyebabkan lampu LED berkedip dan bel dan berbunyi bip. Dengan cahaya redup hanya LED pertama yang akan berkedip, berkedip perlahan, dan bel juga berbunyi bip pelan. Cahaya sedang menyebabkan kedua lampu berkedip lebih sering dan bel juga berbunyi bip lebih cepat. Dengan cahaya terang, kedua lampu akan berkedip super cepat dan bel akan terus berbunyi. Anda dapat menguji tahapan yang berbeda dengan menutup LDR untuk mengurangi cahaya atau dengan menyinari cahaya terang ke LDR.