Görseldeki devrede Arduino’nun 5 V gerilimi üzerine uygulanan LDR’nin direnç-gerilim değişiminin anlaşılabilmesi için 10 kΩ’luk bir direnç seri bağlanarak gerilim bölücü oluşturulur.
Bağlantı noktasının gerilim değişimi Arduino’nun analog girişine verilir. Aydınlık ortamda LDR’nin
direnci 10 kΩ’un altındadır. Karanlıkta (LDR elle kapatıldığında) LDR direnci MΩ değerine doğru
artar. LDR üzerine düşen gerilim artacağı için LDR ucuna bağlı A0 girişinden alınan bu bilgi 10
bitlik ADC’le 1023 değerine yaklaşır. Gelen bilginin ¼’ü 3 numaralı PWM çıkışından LED’e verilir.
Böylelikte karanlık arttıkça LED’in parlaklığı da artar.
const byte LED = 3; void setup() { pinMode(LED, OUTPUT); } void loop() { //Analog giriş bilgisini 1/4'ü LDR değişkenine yükle. byte LDR = analogRead(A0) / 4; analogWrite(LED, LDR); }
const byte lambaPini = 13; void setup() { Serial.begin(9600); //Seri iletişim başlatıldı. pinMode(lambaPini, OUTPUT); } void loop() { int LDR = analogRead(A0); //A0 girişinden okunan 0-1023 arası veriyi LDR değişkenine yükle. Serial.println(LDR); //LDR değişkeninin içeriğini yazdır. if (LDR < 500) { // 500'den küçükse... digitalWrite(lambaPini, HIGH); // Lambayı yak. } else { // Lambayı söndür. digitalWrite(lambaPini, LOW); } }
No responses yet