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.
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-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.
Gerekli Malzemeler
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. }