12 Mayıs 2015 Salı

PHOTORESISTER İLE SERVO KONTROL



#include <Servo.h>
Servo servo;
int lightLevel;//Photoresister den okuduğumuz değeri tutmak için değişken tanımladık
const int sensorPin = 1; //Photoresister yi 1. pine bağla
const int RED_PIN = 6;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;

void setup() {
  servo.attach(9);//Servo yu 9. pin e bağla
pinMode(RED_PIN, OUTPUT);//RGB Led i output olarak belirledik
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}

void loop() {
lightLevel = analogRead(sensorPin);//1. Pin e bağladığımız Photoresister ün değerini lightLevel e                                                                  //atıyoruz
       if (lightLevel >310){//lightLevel 310 dan büyükse
         servo.write(0);        //Servo yu 0. dereceye döndür
         digitalWrite(RED_PIN, HIGH);//Servo 0. dereceydeyken yani hareket etmezken
                                                             //RGB led in 6.pine bağı olan ayağını aktif ediyoruz
         digitalWrite(GREEN_PIN, LOW);//RGB led in diğer pinerini LOW yapıyoruz
         digitalWrite(BLUE_PIN, LOW);
         delay(100);
         servo.write(0);
         digitalWrite(RED_PIN, LOW);
         digitalWrite(GREEN_PIN, LOW);
         digitalWrite(BLUE_PIN, LOW);
         delay(100);
         }
     else if (lightLevel <200){////lightLevel 200 den küçükse
         servo.write(180);          //Servo yu 180. dereceye döndür
         digitalWrite(RED_PIN, LOW);
         digitalWrite(GREEN_PIN, HIGH);//RGB led den yeşil ışık yanması için GREEN_PIN i aktif                                                                    //yap
         digitalWrite(BLUE_PIN, LOW);
         delay(100);      //Delay ın içine yazdığımız süre boyunca beklettikten sonra
         servo.write(0);  //Servo yu 0. dereceye döndür
         digitalWrite(RED_PIN, LOW);
         digitalWrite(GREEN_PIN, LOW);
         digitalWrite(BLUE_PIN, LOW);
         delay(100);
         }
       
         }

Hiç yorum yok:

Yorum Gönder