DS3231 OLED Clock

Arduino ~ DS3231 OLED Ekranlı Saat Devresi




Download :
https://yadi.sk/d/-Y3q_UVKhoJyt

NOTE: This project not open source !
Devamını Oku 11 Temmuz 2015 Cumartesi Veli

Sound Detection Clap Switch

Arduino ~ Alkış ile Lamba Yakma

 



int alkis = 0;
long algilama_araligi_baslangic = 0;
long algilama_araligi = 0;
boolean isik_durumu = false;
 
void setup(){
  pinMode(10, INPUT);
  pinMode(8, OUTPUT);
}
 
void loop(){
  if(digitalRead(10) == 0){
    if(alkis == 0){
      algilama_araligi_baslangic = algilama_araligi = millis();
      alkis++;
    }
    else if(alkis > 0 && millis() - algilama_araligi >= 49){
      algilama_araligi = millis();
      alkis++;
    }
  }
 
  if(millis() - algilama_araligi_baslangic >= 399){
    if(alkis == 2){
      if(!isik_durumu){
          isik_durumu = true;
          digitalWrite(8, HIGH);
        }
        else if(isik_durumu){
          isik_durumu = false;
          digitalWrite(8, LOW);
        }
    }
    alkis = 0;
  }
}

Devamını Oku 26 Haziran 2015 Cuma Veli

TV Kumandası ile LED Kontrolü

Arduino TV Kumandası ile LED Kontrolü

IR (Kızılötesi) ile Haberleşme yapacağız.


   Next Uydu alıcının kumandasını, IR alıcı olarak TSOP4838 malzemeyi kullandım.

Kumandanın;
 1.ci Tuşu: "34935" kodu   2.ci Tuşu: "18615" kodu
 3.ci Tuşu: "51255" kodu   4.ci Tuşu: "10455" kodu
 Kırmızı Power Tuşu: "20655" kodunu gönderiyor.

   Bu kumanda ilk kodu gönderiyor sonra başka bir kod gönderiyor. Bu sayede butona bir kez basılmış oluyor. Eğer sizin kumandanızda bu yoksa yazılımda değişiklik yapmanız gerekecek yoksa LED'leriniz sürekli aç kapa yapacaktır.

   Kumandanın kodlarını görmek için Serial Monitör'den bakabilirsiniz.
Başka bir kumanda kullanıyorsanız benim kumanda kodlarımla değiştirmeniz gerekiyor.

NOT: Bu kullandığım kütüphane Arduino v1.0.5 versiyonu ile çalışmaktadır. Arduino v1.0.6 versiyonunda çalışmamıştır.


#include <IRremote.h>

byte RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}
 
void loop(){
 if(irrecv.decode(&results)){
 unsigned int Gelen_Veri = results.value;
 
 switch(Gelen_Veri){
  case 34935:
  digitalWrite(3, !digitalRead(3));
  break;

  case 18615:
  digitalWrite(4, !digitalRead(4));
  break;

  case 51255:
  digitalWrite(5, !digitalRead(5));
  break;

  case 10455:
  digitalWrite(6, !digitalRead(6));
  break;

  case 20655:
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  break;
  }
   Serial.println(Gelen_Veri);
   irrecv.resume();
 }
}

Devamını Oku 9 Şubat 2015 Pazartesi Veli

Ters Zaman Rölesi

Arduino Ters Zaman Rölesi

 


byte ROLE_1 = 2;
byte ROLE_2 = 3;
byte ROLE_3 = 4;
byte ROLE_4 = 5;
byte BUTON_1 = 8;
byte BUTON_2 = 9;
byte BUTON_3 = 10;
byte BUTON_4 = 11;
long ZAMAN = 50000;
long SAYICI_1;
long SAYICI_2;
long SAYICI_3;
long SAYICI_4;

void setup(){
  pinMode(BUTON_1, INPUT_PULLUP);
  pinMode(BUTON_2, INPUT_PULLUP);
  pinMode(BUTON_3, INPUT_PULLUP);
  pinMode(BUTON_4, INPUT_PULLUP);
  pinMode(ROLE_1, OUTPUT);
  pinMode(ROLE_2, OUTPUT);
  pinMode(ROLE_3, OUTPUT);
  pinMode(ROLE_4, OUTPUT);
}

void loop(){
 if(digitalRead(BUTON_1) == (LOW)){
    digitalWrite(ROLE_1, HIGH);
    SAYICI_1 = ZAMAN;
   }
 if(digitalRead(BUTON_2) == (LOW)){
    digitalWrite(ROLE_2, HIGH);
    SAYICI_2 = ZAMAN;
   }
 if(digitalRead(BUTON_3) == (LOW)){
    digitalWrite(ROLE_3, HIGH);
    SAYICI_3 = ZAMAN;
   }
 if(digitalRead(BUTON_4) == (LOW)){
    digitalWrite(ROLE_4, HIGH);
    SAYICI_4 = ZAMAN;
   }
 if(SAYICI_1 != 0){
    SAYICI_1 = SAYICI_1 - 1;
   }else{
    digitalWrite(ROLE_1, LOW);
   }
 if(SAYICI_2 != 0){
    SAYICI_2 = SAYICI_2 - 1;
   }else{
    digitalWrite(ROLE_2, LOW);
   }
 if(SAYICI_3 != 0){
    SAYICI_3 = SAYICI_3 - 1;
   }else{
    digitalWrite(ROLE_3, LOW);
   }
 if(SAYICI_4 != 0){
    SAYICI_4 = SAYICI_4 - 1;
   }else{
    digitalWrite(ROLE_4, LOW);
   }
}
Devamını Oku 3 Şubat 2015 Salı Veli

Toggle Blink LED

Arduino Toggle LED



void setup(){
  pinMode(13, OUTPUT);
}

void loop(){
  digitalWrite(13, !digitalRead(13));
  delay(500);
}
Devamını Oku Veli

HC-SR04 Ultrasonic Sensor

Arduino UNO HC-SR04 Ultrasonik Sensör


#include <NewPing.h>

#define TRIGGER_PIN  12  // Ultrasonik Sesi Gönderen Pin
#define ECHO_PIN     11  // Ultrasonik Sesi Algılan Pin
#define MAX_DISTANCE 200 // Max. Mesafe 200cm

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup(){
  Serial.begin(9600);
}

void loop(){
  delay(50);
  unsigned int uS = sonar.ping();
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_CM);
  Serial.println("cm");
}
Devamını Oku Veli