Arduino -> DC Motor Sürücü + 2 x Ultrasonik Sensor + Bluetooth

                        
                        
/* Baglanti Semalari Eklenecek */
int data;
int gelenVeri;

char gelenKarakter;
int trigPin1 = 9;       /* Sensorun trig pini Arduinonun 6 numaralı ayağına bağlandı */
int echoPin1 = 8;       /* Sensorun echo pini Arduinonun 7 numaralı ayağına bağlandı */
int trigPin2 = 12;      /* Sensorun trig pini Arduinonun 6 numaralı ayağına bağlandı */
int echoPin2 = 13;      /* Sensorun echo pini Arduinonun 7 numaralı ayağına bağlandı */

int buzzerPin =  A5;    //Buzzer Pin
int counter = 0;

int led1=A0;
int led2=A1;
int led3=A2;
int led4=A3;

long sure1;
long uzaklik1;

long sure2;
long uzaklik2;

const int c = 261;
const int d = 294;
const int e = 329;
const int f = 349;
const int g = 391;
const int gS = 415;
const int a = 440;
const int aS = 455;
const int b = 466;
const int cH = 523;
const int cSH = 554;
const int dH = 587;
const int dSH = 622;
const int eH = 659;
const int fH = 698;
const int fSH = 740;
const int gH = 784;
const int gSH = 830;
const int aH = 880;

void setup()
{
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led4, OUTPUT);
    
    pinMode(buzzerPin, OUTPUT);
    
    pinMode(10, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(11, OUTPUT);
    pinMode(trigPin1, OUTPUT); /* trig pini çıkış olarak ayarlandı */
    pinMode(echoPin1,INPUT); /* echo pini giriş olarak ayarlandı */
    pinMode(trigPin2, OUTPUT); /* trig pini çıkış olarak ayarlandı */
    pinMode(echoPin2,INPUT); /* echo pini giriş olarak ayarlandı */
    Serial.begin(9600);
}

void loop()
{

    digitalWrite(trigPin1, LOW); /* sensör pasif hale getirildi */
    delayMicroseconds(5);
    digitalWrite(trigPin1, HIGH); /* Sensore ses dalgasının üretmesi için emir verildi */
    delayMicroseconds(10);
    digitalWrite(trigPin1, LOW);  /* Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi */
    delayMicroseconds(10);
    sure1 = pulseIn(echoPin1, HIGH); /* ses dalgasının geri dönmesi için geçen sure ölçülüyor */
    uzaklik1= sure1 /29.1/2; /* ölçülen sure uzaklığa çevriliyor */
    
    digitalWrite(trigPin2, LOW); /* sensör pasif hale getirildi */
    delayMicroseconds(5);
    digitalWrite(trigPin2, HIGH); /* Sensore ses dalgasının üretmesi için emir verildi */
    delayMicroseconds(10);
    digitalWrite(trigPin2, LOW);  /* Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi */
    delayMicroseconds(10);
    sure2 = pulseIn(echoPin2, HIGH); /* ses dalgasının geri dönmesi için geçen sure ölçülüyor */
    uzaklik2= sure2 /29.1/2; /* ölçülen sure uzaklığa çevriliyor */
    
    Serial.println ( uzaklik1);
    Serial.println (uzaklik2);
    
    data = 0;
    
    do
    {
        if (uzaklik1 < 50 && uzaklik1 > 21){ data = 1;}
        else if (uzaklik2 < 50 && uzaklik2 > 21){data = 2;}
        else if (uzaklik1 < 20 || uzaklik2 < 20){data = 3;}
        else {data = 4;}
        if (Serial.available())
        {
            gelenVeri = Serial.read();
            Serial.println(gelenVeri);
        }
    }
    while (Serial.available());

    gelenVeri = Serial.read();
    Serial.println(gelenVeri);
    
    switch (gelenVeri)
    {
    
        case 54:                    // Sag
        digitalWrite(3, LOW);
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        analogWrite(10 , 150);     //Ileri
        analogWrite(11 , 150);     //Geri
        sensor();
        break;
        
        case 52:                   // Sol
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, HIGH);
        analogWrite(10 , 150);     //Ileri
        analogWrite(11 , 150);     //Geri
        sensor();
        break;
        
        case 56:                    //Ileri
        digitalWrite(3, LOW);
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        digitalWrite(6, HIGH);
        analogWrite(10 , 150);      //Ileri
        analogWrite(11 , 150);      //Geri
        sensor();
        break;
        
        case 50:                    //Geri
        digitalWrite(3, HIGH);
        digitalWrite(4, LOW);
        digitalWrite(5, HIGH);
        digitalWrite(6, LOW);
        analogWrite(10 , 150);      //Ileri
        analogWrite(11 , 150);      //Geri
        sensor();
        break;
        
        case 48:
        beep(a, 500);
        beep(a, 500);
        break;
        
        case 70:
        secondSection();
        firstSection();
        break;
        
        default:
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        analogWrite(10 , 0);        //Ileri
        analogWrite(11 , 0);        //Geri
        break;
    }
}

void sensor(){                   //Ultrasonic Sensor
    switch (data){
        case 1:
        beep(f, 500);
        digitalWrite (led1, HIGH);
        digitalWrite (led3, HIGH);
        break;
        
        case 2:
        beep(f, 500);
        beep(f, 500);
        digitalWrite (led2, HIGH);
        digitalWrite (led4, HIGH);
        break;
        
        case 3:
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        analogWrite(10 , 0);     //İLERİ
        analogWrite(11 , 0);     //GERİ
        digitalWrite (led1, HIGH);
        digitalWrite (led2, HIGH);
        digitalWrite (led3, HIGH);
        digitalWrite (led4, HIGH);
        break;
        
        case 4:
        digitalWrite (led1, LOW);
        digitalWrite (led2, LOW);
        digitalWrite (led3, LOW);
        digitalWrite (led4, LOW);
        break;
        
        default:
        digitalWrite (led1, LOW);
        digitalWrite (led2, LOW);
        digitalWrite (led3, LOW);
        digitalWrite (led4, LOW);
        break;
    }
}
void beep(int note)
{
    tone(buzzerPin, note);                  //BuzzerPin Aktif Edildi
    delay(50);
    noTone(buzzerPin);                      //BuzzerPin Paisf Edildi
}


void firstSection()
{
    beep(a, 500);
    beep(a, 500);
    beep(a, 500);
    beep(f, 350);
    beep(cH, 150);
    beep(a, 500);
    beep(f, 350);
    beep(cH, 150);
    beep(a, 650);
    
    delay(500);
    
    beep(eH, 500);
    beep(eH, 500);
    beep(eH, 500);
    beep(fH, 350);
    beep(cH, 150);
    beep(gS, 500);
    beep(f, 350);
    beep(cH, 150);
    beep(a, 650);
    
    delay(500);
}

void secondSection()
{
    beep(aH, 500);
    beep(a, 300);
    beep(a, 150);
    beep(aH, 500);
    beep(gSH, 325);
    beep(gH, 175);
    beep(fSH, 125);
    beep(fH, 125);
    beep(fSH, 250);
    
    delay(325);
    
    beep(aS, 250);
    beep(dSH, 500);
    beep(dH, 325);
    beep(cSH, 175);
    beep(cH, 125);
    beep(b, 125);
    beep(cH, 250);
    
    delay(350);
}
                            
                    
                


Arduino -> Step Motor Kontrol

                        
                        
#include < X113647Stepper.h >           
const int x = A0;
const int y = A1;

int x_eksen;
int y_eksen;

int yonx = 0;
int yony = 0;
#define sag 32
#define sol 32

X113647Stepper myStepper1(sag, 8, 9, 10, 11);
X113647Stepper myStepper2(sol, 4, 5, 6, 7);

void setup()
{
    myStepper1.setSpeed(1000);
    myStepper2.setSpeed(1000);
    Serial.begin(9600);
}

void loop()
{
    x_eksen = analogRead(A0);
    y_eksen = analogRead(A1);
    
    Serial.println("x_eksen");
    Serial.println(x_eksen);
    Serial.println("y_eksen");
    Serial.println(y_eksen);
    
    
    
    if (x_eksen < 50 )  yonx = 1;
    else  if (x_eksen > 800 ) yonx = 2;
    else  if (y_eksen < 50 )  yonx = 3;
    else  if (y_eksen > 800 ) yonx = 4;
    else yonx=0;
    
    
    
    switch (yonx)
    {
        case 1:
        myStepper1.step(32);
        myStepper1.setSpeed(1500);
        break;
        
        case 2:
        myStepper1.step(-32);
        myStepper1.setSpeed(500);
        break;
        
        case 3:
        myStepper2.step(128);
        myStepper2.setSpeed(1500);
        break;
        
        case 4:
        myStepper2.step(-128);
        myStepper2.setSpeed(500);
        break;
    }
}
                                
                            
                        


Bluetooth Kontrol

                        
                        
 #include < SoftwareSerial.h>                                     

SoftwareSerial BtSerial(10, 11);

char gelenKarakter;  //Bluetooth' dan okunan değer
char *gonderilenKarakter;    //Bluetooth' dan gönderilen değer
int ledPin1 = 5;    //1. Arduino ya bağlı led
int ledPin2 = 6;    //2. Arduino ya bağlı led

void setup()
{
    pinMode(ledPin1, OUTPUT);
    pinMode(ledPin2, OUTPUT);
    Serial.begin(9600);
    BtSerial.begin(9600);
    }
    
    void loop()
    {
    if(BtSerial.available() > 0)
    {
    
        gelenKarakter = BtSerial.read();                              //Haberlesme varsa kuyruktaki verileri degiskene yazdik
    
        if(gelenKarakter == '1')                                      //Gelen degere gore ledlerimizi yakip seri porta gelen degeri ve gonderilen
        {                                                             //degerleri yazdirdik
            Serial.print("Alınan Karakter: ");
            Serial.println(gelenKarakter);
            gonderilenKarakter = "2";
            for(int i = 0; i < 255; i = i + 2)
            {
                analogWrite(ledPin1, i);
                delay(15);
            }
        digitalWrite(ledPin1, LOW);
        BtSerial.write(gonderilenKarakter);
        Serial.print("Gonderilen Karkater: ");
        Serial.println(gonderilenKarakter);
        }
        else if(gelenKarakter == '2')
        {
            Serial.print("Alınan Karakter: ");
            Serial.println(gelenKarakter);
            gonderilenKarakter = "1";
            for(int i = 0; i < 255; i = i + 2)
            {
                analogWrite(ledPin2, i);
                delay(15);
            }
        digitalWrite(ledPin2, LOW);
        BtSerial.write("1");
        Serial.print("Gonderilen Karkater: ");
        Serial.println(gonderilenKarakter);
        }
    }
    
    if(Serial.available() > 0)                    //Dongunun baslamasi icin gerekli degeri yolladik
    {
        BtSerial.write(Serial.read());
    }
}


                                                         
                            
                          


DC Motor Hız Kontrol

                        
                        
const int sag ;
const int don ;
const int sol ;
const int ileri ;
const int geri ;

void setup() 
{ 
    pinMode(A0, INPUT);
    pinMode(A1, INPUT);
    pinMode(A2, INPUT);
    pinMode(A3, INPUT);
    
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(7, OUTPUT); 
} 
  
void loop() 
{ 
    int sag = analogRead(A0);
    int sol = analogRead(A1);
    int ileri = analogRead(A2);
    int geri = analogRead(A3);
    
    
       
    if (sag >= 980 && sag <= 1020)
    {
        digitalWrite(3, LOW);
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        analogWrite(2 , 175);   //İLERİ
        analogWrite(7 , 0);     //GERİ      
    }  
    else if (sol >= 980 && sol <= 1020)
    {
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, HIGH);
        analogWrite(2 , 0);   //İLERİ
        analogWrite(7 , 175);     //GERİ       
    }
    
    else if (ileri >= 980 && sol <= 1020)
    {
        digitalWrite(3, LOW);
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        digitalWrite(6, HIGH);
        analogWrite(2 , 150);   //İLERİ
        analogWrite(7 , 150);     //GERİ       
    }
    else if (geri >= 980 && sol <= 1020)
    {
        digitalWrite(3, HIGH);
        digitalWrite(4, LOW);
        digitalWrite(5, HIGH);
        digitalWrite(6, LOW);
        analogWrite(2 , 150);   //İLERİ
        analogWrite(7 , 150);     //GERİ
       
    }
    else
    {
        digitalWrite(2 , LOW);
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5 , LOW);
        analogWrite(6 , 0);     // İLERİ
        analogWrite(7 , 0);     // GERİ
    }    
} 
                                                
                    
                


Arduino -> Piezo sensor

                            
                                

const int PIEZO_PIN = A0;                           //Piezo output

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

void loop() 
{       
    int piezoADC = analogRead(PIEZO_PIN);           //Piezo Sensorden Gelen Veriyi Voltaj Degerine Ceviriyoruz.
    float piezoV = piezoADC / 1023.0 * 5.0;         //ADC(Analog to Digital Converter)  (Arduinodan Analog Sinyaller Gelir)
    Serial.println(piezoV); // Print the voltage.   //Donusturulen  Veriyi Seri Port ile Yazdir
    delay(250);                                     //250ms Gecikme Eklendi
}
         //Dip Not 
         //Piezo Sensorler Cok Kucuk Titresimleri Algilayabilir.
         //Algiladiklari Degerleri Dogru Aktarabilmek Icın 
         //Mumkun Oldukca Devreye Yakin Olmasi Gerekir.
         //Kullanilan Kablo Ne Kadar Kisa Olursa O Kadar Net Sonuclar Alirsiniz.