Arduino Tarifleri #20 – Fonksiyonlar -2

350
7 Ekim 2015 Ömer Faruk Uçar tarafından

Arkadaşlar merhaba, Arduino Tarifleri serimizin 20. bölümüne hoş geldiniz 🙂

Bu bölümde, geçen derstede belirttiğimiz gibi fonksiyonlar üzerinden devam edeceğiz ve 2. tip fonksiyonlarımız olan parametre almayan ve değer döndüren fonksiyonları işleyeceğiz. Bu videodan sonra tahminen 2 video daha yaparak fonksiyonlar konusu kapatmış oluruz.

Bu video şimdiye kadar çekilen Arduino Tarifleri videolarının genelinden biraz daha zor gelebilir. Çünkü videoda nerede ise bundan önce yayınlanan 20 videodaki tüm komutları kullanıyoruz. Bu sayede konuyu anlamaya çalışırken, geçmişte öğrendiğimiz bilgilerimizi de sınamış olacağız. Eğer videoda işlevini tam anlayamadığınız bir komut olursa biraz geriye dönerek oraya takviye yapabilirsiniz.

Tüm bunları belirttikten sonra artık videoya geçebiliriz. İyi çalışmalar dilerim arkadaşlar, hoşça kalın 🙂

Videoda Kullanılan Malzemeler:

Videoda Kullanılan Devre:

Arduino Fonksiyonlar 20. bölüm

Videoda Kullanılan Kod:

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -20-
   Fonksiyonlar-2
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-20-fonksiyonlar-2
*/
const int buton1 = 2;
const int buton2 = 3;
const int buton3 = 4;
const int led = 7;

int  arti ;
int  eksi ;
int durum ;
int sayac;
int tur_sayisi;

int fonksiyon2()
{
  durum = digitalRead(buton3);
  while (durum == HIGH)
  {
    arti = digitalRead(buton1);
    eksi = digitalRead(buton2);
    if (arti == HIGH)
    {
      sayac++;
      Serial.println("sayac = ");
      Serial.println(sayac);
      if (arti == HIGH)
      {
        while (1)
        {
          arti = digitalRead(buton1);
          if (arti == LOW)
            break;
        }
      }
    }
    else if (eksi == HIGH)
    {
      sayac--;
      Serial.println("sayac = ");
      Serial.println(sayac);
      if (eksi == HIGH)
      {
        while (1)
        {
          eksi = digitalRead(buton2);
          if (eksi == LOW)
            break;
        }
        durum = digitalRead(buton3);
      }
      return sayac;
    }
  }
}
void setup()
{
  pinMode(buton1 ,  INPUT);
  pinMode(buton2 ,  INPUT);
  pinMode(buton3 ,  INPUT);
  pinMode(led    , OUTPUT);

  Serial.begin(9600);
}

void loop()
{
  tur_sayisi = fonksiyon2();

  for (int i = 0; i < tur_sayisi ; i++)
  {
    digitalWrite(led , HIGH);
    delay(100);
    digitalWrite(led ,  LOW);
    delay(100);
  }
  while (1)
  {
    durum = digitalRead(buton3);
    if (durum == HIGH)
      break;
  }
}

Kategoriler Etiketler

Yorumunuzu ekleyin

E-posta hesabınız yayımlanmayacak.