Arduino Episode 2: සෙන්සර් සමඟ අන්තර්ක්රියා කිරීම (LDR & Button)
පසුගිය පාඩමෙන් ඔබ LED Blink කරන හැටි ඉගෙන ගත්තා නේද? අද අපි ඉගෙන ගන්නේ සෙන්සර් සහ බොත්තම් භාවිතා කරන ආකාරය!
අද ඉගෙන ගන්න දේ
✅ LDR (ආලෝක සංවේදී රෙසිස්ටර්) භාවිතා කර ආලෝක මට්ටම හඳුනා ගැනීම
✅ පුෂ් බොත්තම් (Push Button) සමඟ අන්තර්ක්රියා කිරීම
✅ සරල ප්රෝග්රෑම් 2ක් (LDR LED Control, Button LED Control)
ඔබට අවශ්ය දෑ
-
Arduino UNO/Nano
-
LDR සහ 10kΩ රෙසිස්ටර්
-
පුෂ් බොත්තම්
-
LED + 220Ω රෙසිස්ටර්
-
බ්රෙඩ්බෝඩ් සහ වයර්
පරිපථ 1: LDR සමඟ LED පාලනය
පරිපථ සැකැස්ම
-
LDR එකේ එක් පාදය → 5V
-
LDR එකේ අනෙක් පාදය → A0 සහ 10kΩ රෙසිස්ටර් → GND
කේතය – Code
int ledPin = 13; // LED D13 ට සම්බන්ධ කර ඇත void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); // සීරියල් මොනිටර් සකසන්න } void loop() { int light = analogRead(ldrPin); // LDR අගය කියවන්න Serial.println(light); // අගය පෙන්වන්න if (light < 500) { // අඳුරු නම් LED ON කරන්න digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } delay(100); }
ක්රියාකාරිත්වය
-
LDR එක ආලෝකය අඩු වූ විට LED එක ලයිට් වේ!
-
Serial Monitor
(Ctrl+Shift+M) විවෘත කර LDR අගය නරඹන්න.
පරිපථ 2: බොත්තම් සමඟ LED පාලනය
පරිපථ සැකැස්ම
-
බොත්තම් එක → D2 සහ GND
-
LED එක → D13
කේතය
int buttonPin = 2; // බොත්තම් D2 ට සම්බන්ධ කර ඇත int ledPin = 13; // LED D13 ට සම්බන්ධ කර ඇත void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); // පුල්-අප් රෙසිස්ටර් සක්රිය කරන්න } void loop() { if (digitalRead(buttonPin) == LOW) { // බොත්තම් ඔබා ඇත්නම් digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
ක්රියාකාරිත්වය
-
බොත්තම් ඔබන විට LED එක ලයිට් වේ!
ගැටලු නිරාකරණය
❌ LDR අගය නිවැරදිව නොපෙන්වේද?
→ 10kΩ රෙසිස්ටර් භාවිතා කර ඇත්දැයි පරීක්ෂා කරන්න.
❌ බොත්තම් ක්රියා නොකරයිද?
→ INPUT_PULLUP
භාවිතා කර ඇත්දැයි බලන්න.
ඊළඟ පාඩම
-
PWM භාවිතා කර LED වල දීප්තිය පාලනය කිරීම
-
උෂ්ණත්ව සෙන්සර් (DHT11) සමඟ වැඩ කිරීම