1.Örnek: Butonla Kontrol

#include <Servo.h>
Servo servom;
// C++ code
//

void setup()
{
  pinMode(2,INPUT);
  pinMode(4,INPUT);
  pinMode(7,OUTPUT);
  pinMode(12,OUTPUT);
  servom.attach(15);
  servom.write(0);
}

void loop()
{
  if(digitalRead(2)){
  digitalWrite(7, HIGH);
  digitalWrite(12, LOW);
  servom.write(90);
  }
  if(digitalRead(4)){
  digitalWrite(7, LOW);
  digitalWrite(12, HIGH);
  servom.write(0);
  }
}


2.Örnek: Seri Ekran Kontrol

#include <Servo.h>
Servo servom;
// C++ code
//
char c;
void setup()
{
  Serial.begin(9600);
  pinMode(7,OUTPUT);
  pinMode(12,OUTPUT);
  servom.attach(15);
  servom.write(0);
}

void loop()
{
  if(Serial.available()>0){
  c=Serial.read();
  if(c=='a'){
  digitalWrite(7, HIGH);
  digitalWrite(12, LOW);
  servom.write(90);
  }
  if(c=='k'){
  digitalWrite(7, LOW);
  digitalWrite(12, HIGH);
  servom.write(0);
  }
  }
}


3.Örnek: Bluetooth Kontrolü

#include <SoftwareSerial.h>
#include <Servo.h>
Servo servom;
SoftwareSerial bt(17,16); //Arduino UNO'da Rx/Tx pinleri
// C++ code
//
char c;
void setup()
{
  bt.begin(9600);
  pinMode(2,INPUT);
  pinMode(4,INPUT);
  pinMode(7,OUTPUT);
  pinMode(12,OUTPUT);
  servom.attach(15);
  servom.write(0);
}

void loop()
{
  if(bt.available()>0){
  c=bt.read();
  if(c=='a'){
  digitalWrite(7, HIGH);
  digitalWrite(12, LOW);
  servom.write(90);
  }
  if(c=='k'){
  digitalWrite(7, LOW);
  digitalWrite(12, HIGH);
  servom.write(0);
  }
  }
}


4.Örnek: (HC-SR04) Ultranic Mesafe Sensörü ile Kontrol

// C++ code
/*
Bariyer Sistemi v1

HC-SR-04 Ultrasonic Distance Sensor
Ses havada ortalama 340 m/sn hızla ilerler.
Bu da 34000 cm/sn demektir.
Bu 34 cm/milisn'ye eşittir. 
Ölçümlerimizi Arduino'da mikrosaniye cinsinden yaptığımız için 
0.034 cm/mikrosaniye bizim için birim değerimizdir.
*/

#define trigPin 13
#define echoPin 8
#include <Servo.h>
Servo servom;
float mesafe;
long sure;
char deger;

void setup()
{
  pinMode(7, OUTPUT);
  digitalWrite(7,1);
  pinMode(12, OUTPUT);
  pinMode(trigPin,OUTPUT); //Trig
  pinMode(echoPin,INPUT); //Eco
  servom.attach(15);
}

void loop(){
    mesafeOlc();
    if(mesafe<20){
    servom.write(90);
    digitalWrite(7,HIGH);
    digitalWrite(12,LOW);
    }
    else{
    servom.write(0);
    digitalWrite(12,HIGH);
    digitalWrite(7,LOW);
    }
}

void mesafeOlc(){
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);  // 2 mikro saniye bekle
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10); //tetik pini 10 mikrosaniye boyunca ses dalgası yayınlıyor.
    digitalWrite(trigPin, LOW); // ses yayınını bitir.
    sure=pulseIn(echoPin,HIGH); //süre sesin gidiş geliş süresi.Bu nedenle hesaplamada 2'ye bölmeliyiz. 
    mesafe= (sure/2)*0.034;  //   340 m/sn = 0.034 cm/mikrosn
}



5.Örnek: Butonlara basınca modlar arasında geçiş

// C++ code
/*
Bariyer Sistemi v1

HC-SR-04 Ultrasonic Distance Sensor
Ses havada ortalama 340 m/sn hızla ilerler.
Bu da 34000 cm/sn demektir.
Bu 34 cm/milisn'ye eşittir. 
Ölçümlerimizi Arduino'da mikrosaniye cinsinden yaptığımız için 
0.034 cm/mikrosaniye bizim için birim değerimizdir.
*/

#define trigPin 13
#define echoPin 8
#include <Servo.h>
Servo servom;
float mesafe;
long sure;
bool mesafeSensor=true;
char deger;

void setup()
{
  pinMode(7, OUTPUT);
  digitalWrite(7,1);
  pinMode(12, OUTPUT);
  pinMode(2, INPUT);
  pinMode(4, INPUT);
  pinMode(trigPin,OUTPUT); //Trig
  pinMode(echoPin,INPUT); //Eco
  servom.attach(15);
  Serial.begin(9600);
}

void loop()
{
  if(digitalRead(2)){
  mesafeSensor=true;
  digitalWrite(7,1);
  digitalWrite(12,0);
  }
  if(digitalRead(4)){
  mesafeSensor=false;
  digitalWrite(7,0);
  digitalWrite(12,1);
  }
  if(mesafeSensor==true){
    mesafeOlc();
    if(mesafe<20){
    servom.write(90);
    }
    else{
    servom.write(0);
    }
  }
  else{
    deger=Serial.read();
    if(deger=='a'){
    servom.write(90);
    }
    if(deger=='k'){
    servom.write(0);
    }
  }
}

void mesafeOlc(){
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);  // 2 mikro saniye bekle
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10); //tetik pini 10 mikrosaniye boyunca ses dalgası yayınlıyor.
    digitalWrite(trigPin, LOW); // ses yayınını bitir.
    sure=pulseIn(echoPin,HIGH); //süre sesin gidiş geliş süresi.Bu nedenle hesaplamada 2'ye bölmeliyiz. 
    mesafe= (sure/2)*0.034;  //   340 m/sn = 0.034 cm/mikrosn
}



6.Örnek: Kesme (interrupt)

/*
  Bariyer Sistemi v4.5 attachinterrupt ve hazır reset pinini kullanarak iki butonla da kontrol

  HC-SR-04 Ultrasonic Distance Sensor
  Ses havada ortalama 340 m/sn hızla ilerler.
  Bu da 34000 cm/sn demektir.
  Bu 34 cm/milisn'ye eşittir.
  Ölçümlerimizi Arduino'da mikrosaniye cinsinden yaptığımız için
  0.034 cm/mikrosaniye bizim için birim değerimizdir.
*/
// Servo - Version: Latest
#include <Servo.h>
Servo servom;
float mesafe;
long sure;
#define trigPin 13
#define echoPin 8


void setup() {
  servom.attach(15);
  pinMode(trigPin, OUTPUT); //Trig
  pinMode(echoPin, INPUT); //Eco
  pinMode(7, OUTPUT); //kırmızı led
  pinMode(12, OUTPUT); //mavi led
  pinMode(2, INPUT); //buton 1 (inturrupt pini) aynı zamanda bariyeri açar
  pinMode(4, INPUT);  // buton 2 bariyeri kapatır
  attachInterrupt(digitalPinToInterrupt(2), bariyerAc, RISING);
  digitalWrite(7, 0); // kırmızı led kapalı
  digitalWrite(12, 1); //mavi led açık (ultrasonik sensör kontrolünde)
  servom.write(0);
}

void loop() {
  mesafeOlc();
  if (mesafe < 20) {
    servom.write(90);
  }
  else {
    servom.write(0);
  }
  if (digitalRead(7)) {
    servom.write(90);
    while(1){
    if(digitalRead(2)){
      servom.write(90);
    }
    if(digitalRead(4)){
      servom.write(0);
    }
    }
  }
}

void bariyerAc() { //interrupt fonksiyonu
  digitalWrite(7, 1); // kırmızı led açık (buton kontrolü devrede)
  digitalWrite(12,0); // mavi led kapalı
}

void mesafeOlc() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);  // 2 mikro saniye bekle
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); //tetik pini 10 mikrosaniye boyunca ses dalgası yayınlıyor.
  digitalWrite(trigPin, LOW); // ses yayınını bitir.
  sure = pulseIn(echoPin, HIGH); //süre sesin gidiş geliş süresi.Bu nedenle hesaplamada 2'ye bölmeliyiz.
  mesafe = (sure / 2) * 0.034; //   340 m/sn = 0.034 cm/mikrosn
}