6
Bu yazıyı " 2 " dakikada okuyabilirsiniz. 🙂
Görsel-1

Dijital Sinyal Kavramı

Arduino içerisinde bulunan yazılıma göre elektronik bileşenlere 5 Volt yada 0 Volt vermek için kullanılırlar. Bu Pinlerden 40 miliamper çıkış akımı verilebilmekte ve dışarıdan gelecek 40 miliamper akıma dayanabilmektedir. Dijital pinler giriş ( input ) için kullanılması, belirilen pinden gelmesi gereken bir değer olduğu ve okuma yapılacağı anlamına gelir. Arduino üzerindeki dijital pinler varsayılan olarak giriş(input) için tasarlanmışlardır. Dijital pinlerin çıkış (output) için kullanılması, belirilen pinden bir güç çıkışı olacağı ve bu pinden akım bekleyen bir devre elemanı olduğu anlamına gelir. Digital pinleri çıkış için kullanmamız gerektiğinde pinMode(pin, OUTPUT); komutuyla, varsayılan durumunu değiştirmemiz gerekmektedir.

Dijital Sinyali Bir Örnekle Açıklayalım;

Arduino üzerinde 13. pin’ bağlı olan led buliltin’i kullanarak, led’in 1 sn aralıklarla yanıp söneceği basit bir örnek gerçekleştirelim. aşağıdaki kodu Arduino’nuza yüklediğinizde led’inizin yanıp söndüğünü göreceksiniz. Arduino’ya kodunuzu nasıl yükleyeceğinizi daha önce deneyimlemediyseniz, Arduino IDE Kurulumu ve Yapılandırma yazımı inceleyebilirsiniz. Dijital sinyaller ile tam güç vererek led’inizi yakar yada gücü tamamen keserek led’inizi söndürebildiğinizi göreceksiniz.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // Arduino üzerindeki led'in bağlı olduğu, LED_BUIDLIN olarak da isimlendirilen 13. dijital pini çıkış pini olarak ayarladık.
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // 13. pin'e bağlı led'i yaktık.
  delay(1000);                       // 1 sn 1000ms bekleme kodunu yazdık.
  digitalWrite(LED_BUILTIN, LOW);    // 13. pin'e bağlı led'i kapattık.
  delay(1000);                       // 1 sn 1000ms bekleme kodunu yazdık.
}
(Görsel-2) Arduino üzerindeki 13. pin’e bağlı olan LED BUILTIN yukarıdaki görselde ok ile gösterilmiştir.

Analog Sinyal Kavramı

Görsel-1’de gördüğünüz Arduino Uno modelinde 6 analog pin bulunmaktadır. Analog pinler Analog(0), Analog(1) şeklinde isimlendirilmektedir. Arduino üzerinde de A0, A1,… şeklinde gösterilmektedir. Bazı Arduino modellerinde ise bu sayı artmaktadır (Örn. Arduino Mega) Analog pinler 0-5 Volt arasındaki gerilimi dijitale dönüştürmektedir. Çoğu Arduino Modelinin Analog Giriş Pin Çözünürlüğü 10 bit tir. Bu değer 0 – 5 Volt arası uygulanan gerilim değerinin 210 yani 1024 parçaya bölündüğünü ve bu hassasiyete (5/1024 Volt) gerilim değerinin okunabildiğini ifade etmektedir. Bu pinler analog çıkış verebilen tüm devre elemanlarının (Potansiyometre, Sensörler vb.) verdikleri değerlerin dijitale çevrilerek Arduino içerisindeki yazılım tarafından işlenebilir hale getirilmesini sağlar. Analog Giriş Pinleri aracılığı ile saniyede 10.000 değer okunabilir. Yani 10 khz hızında örnekleme yapabilirsiniz. Analog giriş pinleri istenildiğinde Dijital Çıkış pini olarak da kullanılabilmektedir.

Dijital ve Analog sinyallerin 0-5v aralığındaki geçişleri yukarıdaki grafiklerde gösterilmiştir.

Analog Sinyali Bir Örnekle Açıklayalım;

Gerekli Malzemeler

  • 1 adet Arduino Uno
  • 1 adet breadboard
  • 1 adet Potansiyometre
  • 3 adet M-M Jumper Kablo

Bu örneğimizde Analog(in) pinlerimizden birini kullanarak potansiyometreden aldığımız değeri seri port ekranına yazdıracağız. Öncelikle yukarıdaki gibi bağlantımızı sağlayalım ve kodlamaya geçelim.

#define potansiyometre A0 // A0 pinimizi potansiyometre olarak tanımladık.
int potDeger = 0; // potDeger diye bir değişken tanımlıyoruz. bunu potansiyometreden aldığımız değeri okurken kullanacağız.
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600); //9600 baud üzerinden haberleşme başlattık.
Serial.println("Potansiyometrenin Değeri: "); // seri ekranımıza bir defa gönderilen bir yazı yazdırdık
}

void loop() {
  // put your main code here, to run repeatedly:
potDeger = analogRead(potansiyometre); // yukraıda tanımladığımız A0 pinine potansiyometreden gelen değeri okuduk.
Serial.println(potDeger); // seri ekranımıza potansiyometreden gelen değeri yazdırdık.
}
Arduino IDE üzerinden araçlar/seri port ekranını açıp 9600 baud’u ayarladığınızda potansiyometrenizden 0 ile 1023 arasında bir değer okuduğunu göreceksiniz.
Ahmet Kemal YILDIZ
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği mezunu bir Bilişim Teknolojileri ve Yazılım Dersi Öğretmeniyim. Bilişim Teknolojileri ve Yazılım dersi ile ilgili ders etkinlikleri, kaynak materyaller, örnek etkinlikler ve ilgi duyduğum birçok konu hakkında vakit buldukça buradan blogluyorum. :)

    Raspberry Pi İle 2X16 Lcd Ekran Kullanımı

    önceki yazı

    #5 Breadboard Kullanımı ve LED Yakma

    Sonraki Yazı

    Bu Yazılar da İlgini Çekebilir!

    6 Yorumlar

    1. Merhabalar
      Hocam ben Scanner V3.0 kullanarak qr hes kodu okumak ve kontrol etmek istiyorum. Bunun için hangi komponentleri kullanacağım konusunda endişe içerisindeyim. Öneriniz ve bilginize muhtacım. Teşekkür ederim.

      1. Merhaba hocam HES kodu kalmadı ama blog’u okuyan farklı birinin de ihtiyacı olabileceğini düşünerek ve bunu Arduino ile yapmak istediğinizi varsayarak bunları kullanarak okuma yapabilirsiniz diye tahmin ediyorum.
        Arduino: Arduino Uno veya Arduino Nano gibi bir Arduino kartı kullanabilirsiniz. QR kodu okuma ve kontrol işlemlerini Arduino üzerinde gerçekleştireceksiniz.

        Kamera Modülü: QR kodlarını okuyabilmek için bir kamera modülü kullanmanız gerekecektir. Örneğin, OV7670 Kamera Modülü veya Raspberry Pi Kamera Modülü gibi modüller tercih edilebilir. Bu kamera modüllerini Arduino’ya bağlamak için gerekli bağlantıları yapmanız gerekmektedir. Kamera modülü üzerinden görüntü alacak ve QR kodlarını tespit edeceksiniz.

        QR Kod Kütüphanesi: Arduino üzerinde QR kodlarını okumak için bir QR kodu kütüphanesi kullanmanız gerekecektir. ZBar kütüphanesi, Arduino ile uyumlu bir kütüphanedir ve QR kodlarını tespit edebilmenizi sağlar. Bu kütüphaneyi Arduino IDE’ye yükleyerek projenize dahil edebilirsiniz. Kütüphane, QR kodlarını okuyabilmek ve içeriklerini elde etmek için gerekli fonksiyonları sağlar.

        Ekran: QR kodunun okunduğunu ve kontrol edildiğini görsel olarak takip etmek için bir ekran kullanabilirsiniz. Örneğin, 16×2 karakter LCD ekran veya OLED ekran gibi ekran modülleri kullanılabilir. Ekran modülünü Arduino’ya bağlamak için gerekli bağlantıları yapmanız gerekmektedir. QR kodlarının içeriklerini veya kontrol sonuçlarını ekranda görüntüleyebilirsiniz.

        Ekstra Bileşenler: Projenizin gereksinimlerine bağlı olarak ekstra bileşenlere ihtiyaç duyabilirsiniz. Örneğin, projenizin çıktılarını göstermek için LED’ler veya hoparlör gibi bileşenler ekleyebilirsiniz. QR kodlarının doğru veya yanlış olduğuna dair geribildirim sağlamak için bu bileşenleri kullanabilirsiniz.

        Projenizi oluştururken, kamera modülü aracılığıyla QR kodlarını okuyacak, Arduino üzerinde QR kodlarını analiz edecek, kontrol işlemlerini gerçekleştirecek ve sonuçları ekran üzerinde veya başka bir şekilde kullanıcıya göstereceksiniz. QR kodu kütüphanesinin doğru şekilde kullanılması ve gerekli bağlantıların düzgün yapıldığından emin olmanız önemlidir.

    2. {
      for(int cikispin=2; cikispin < 8; cikispin++)
      {
      pinmode(cikispin,OUTPUT);
      }
      }
      BU KODUN AÇIKLAMADI NEDİR ACABA

      1. Bu kod, Arduino programının başlangıcında kullanılan bir dil yapısı içerir. Bu yapı, Arduino mikrodenetleyicisinin belirli dijital pinlerini çıkış moduna ayarlamak için kullanılır. Kodun açıklamaları şu şekildedir:

        for Döngüsü: Bu kod, bir for döngüsü içerir. for döngüleri, belirli bir işlemi belirli bir koşul altında tekrarlamak için kullanılır. Bu durumda, döngü, cikispin adlı bir değişkeni 2’den başlatır ve 8’e kadar artırır. Bu sayede döngü, 2, 3, 4, 5, 6 ve 7 numaralı dijital pinler için çalışır.

        pinMode Fonksiyonu: Her döngü turunda pinMode fonksiyonu kullanılır. Bu fonksiyon, bir pinin giriş (INPUT) veya çıkış (OUTPUT) olarak ayarlanmasını sağlar. pinMode fonksiyonunun ilk parametresi, pin numarasını belirtirken, ikinci parametre ise pinin hangi modda kullanılacağını belirtir.

        cikispin Değişkeni: cikispin değişkeni, her döngü turunda artırılarak 2, 3, 4, 5, 6 ve 7 gibi değerleri alır. Bu değerler, belirli dijital pinleri temsil eder. Örneğin, cikispin değeri 2 olduğunda, dijital pin 2 “OUTPUT” (çıkış) moduna ayarlanır.

        Bu kod, Arduino’nun belirli dijital pinlerini çıkış moduna ayarlamak için kullanılır. Genellikle birden fazla çıkış pinine sahip projelerde, bu tür bir döngü kullanarak pinleri hızlıca yapılandırmak ve hazırlamak için kullanılır.

    3. Merhabalar hocam, örneğin ben iki adet arduino ile tek ledi kontrol etmek istiyorum Arduino ların dijital pinlerini misal 3 numaralı pinlerini birbirine koşa devre ederk lede bağlasam Arduino lar zarar görürmü

      1. Merhaba Ramazan hocam,
        İki adet Arduino ile tek bir LED’i kontrol etmek istediğinizde dijital pinleri kısa devre etmek, yani birbirine bağlamak yerine, iki Arduino’yu birbirine TX-RX pinlerini kullanarak seri olarak bağlayabilirsiniz. Bu durumda, birinci Arduino’nun dijital pini LED’i kontrol ederken, ikinci Arduino’nun dijital pini de bir sonraki Arduino’ya bağlanarak iletişim kurabilir.

        Ancak, dijital pinleri kısa devre etmek, hem Arduinolarınızı hem de bağlı olan LED’i zarar gösterebilir. Çünkü iki dijital pini kısa devre etmek, akımı yükselterek devreye zarar verebilir. Bu nedenle, her zaman doğru şekilde bağlantıları yapmak önemlidir.

        Ayrıca, iki Arduino ile tek bir LED kontrol etmek gibi basit bir uygulama için, iki Arduino kullanmak gereksiz olabilir. Tek bir Arduino kullanarak bu işlemi gerçekleştirebilirsiniz. Bu şekilde hem daha az donanım kullanarak daha az karmaşık bir proje oluşturabilirsiniz.

    Yorum yap

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

    Daha Arduino