Arduino Programlama Dili – Sabitler

0
2698
Okunma

Sabitler


Sabitler Arduino dilinde önceden tanımlanmış ifadelerdir. Programların okunmasını kolaylaştırmak için kullanılırlar.

Sabitleri gruplar halinde sınıflandırırız:

Mantıksal Düzeyleri Tanımlama: true ve false (Boolean Sabitleri)

Arduino da doğru yada yanlışı göstermek için kullanılan mantıksal tanımlamadır.

false 0 (sıfır) olarak tanımlanır.
true 1 olarak tanımlanır, ancak doğru olanın daha geniş bir tanımı vardır.

Boolean anlamında, sıfır olmayan herhangi bir tam sayı doğrudur.  Dolayısıyla -1, 2 ve -200 tümüyle Boolean anlamında doğru olarak tanımlanır.true ve false sabitlerinin HIGH, LOW, INPUT ve OUTPUT aksine küçük harflerle yazıldığına dikkat edin.

Pin Seviyelerini Tanımlama: HIGH ve LOW

Bir dijital pini okurken veya yazarken, bir pinin alabileceği / ayarlayacağı iki olası değer vardır:

HIGH

HIGH (bir pine referans olarak) bir pinin INPUT veya OUTPUT ayarlanmasına bağlı olarak biraz farklıdır. pinMode() ile bir INPUT olarak konfigüre edildiğinde ve digitalRead() ile okunduğunda,

Arduino (Atmega) aşağıdaki durumlarda HIGH bildirir:

  • pinde 3.0V’dan büyük bir voltaj mevcut ise (5V kartlar);
  • pinde 2.0V’dan büyük bir voltaj meccut ise (3.3V kartlar);

Bir pin, pinMode() ile bir INPUT olarak yapılandırılabilir ve daha sonra, digitalWrite() ile HIGH yapılır. Bu, dahili 20K’luk pullup dirençleri ve harici devre tarafından LOW‘a çekilmediği sürece giriş pinini HIGH bir okuma çekecektir.

INPUT_PULLUP bu şekilde çalışır ve aşağıda daha ayrıntılı olarak açıklanmıştır. Bir pin pinMode() ile OUTPUT için yapılandırıldığında ve digitalWrite() ile HIGH olarak ayarlandığında, pin şu değerdedir:

  • 5 volt (5V kartlarda);
  • 3.3 volt (3.3V kartlarda);

Bu durumda pine bağlanacak seri bir direnç ve led ile ledimizi aydınlatabiliriz.

LOW

LOW‘un anlamı, bir pinin INPUT veya OUTPUT olarak ayarlanmasına bağlı olarak farklı bir anlam taşır.  Pin pinMode() ile bir INPUT olarak yapılandırıldığında ve digitalRead() ile okunduğunda, Arduino (Atmega) şu durumlarda LOW bildirir:

  • pinde 1.5V’dan daha düşük bir voltaj mevcut ise (5V kartlarda);
  • pinde 1.0V’dan daha düşük bir voltaj mevcut ise (3.3V kartlarda);

Pin pinMode() ile OUTPUT için yapılandırıldığında ve digitalWrite() ile LOW olarak ayarlandığında, pin 0 volttur (her ikisi de 5V ve 3.3V kartlar). Bu durumda ledimizi kapatabiliriz.

Dijital Pin modlarını tanımlama:

INPUT, INPUT_PULLUP ve OUTPUT

Dijital pinler INPUT, INPUT_PULLUP veya OUTPUT olarak kullanılabilir. Bir pinin pinMode() ile değiştirilmesi pinin elektriksel davranışını değiştirir.

INPUT olarak yapılandırılan pinler

pinMode() ile INPUT olarak yapılandırılmış Arduino (Atmega) pinlerinin yüksek empedanslı bir durumda oldukları söylenir. INPUT olarak yapılandırılan pinler, örnekleme aşamasında, pin önünde 100 Megohms’lık bir seri dirençle eşdeğer olarak, son derece küçük talepler üretirler. Bu, onları bir sensör okumak için yararlı kılar.

PIN‘inizi INPUT olarak yapılandırdıysanız ve bir anahtar okuyorsa, anahtar açık durumda iken, giriş pini “floating” olur ve bu da öngörülemeyen sonuçlara neden olur. Anahtar açıkken uygun bir okumayı sağlamak için bir pull-up veya pull-down direnci kullanılmalıdır.

Bu direncin amacı, anahtar açıkken pini bilinen bir duruma çekmektir. 10 K ohm direnç genellikle floating bir girişin güvenilir şekilde önlenmesi için yeterince düşük bir değer olduğu ve anahtar kapatıldığında çok fazla akım çekmemesi için yeterince yüksek bir değer olduğu için seçilir. 

Bir pull-down direnç kullanılırsa, anahtar açıkken giriş pini LOW olur ve anahtar kapatıldığında HIGH olur. Bir pull-up direnci kullanılırsa, anahtar açıkken giriş pini HIGH ve anahtar kapalıyken LOW olacaktır.

INPUT_PULLUP olarak yapılandırılan pinler

Bu şekilde yapılandırılan pinlerde INPUT ‘dan farklı olarak Atmega işlemcisine içerden dahili olarak bağlıpull_up dirençler bulunur. INPUT_PULLUP kullandığımızda harici bir dirence gerek kalmaz.

NOT: INPUT veya INPUT_PULLUP ile giriş olarak yapılandırılan pinlere; (ground)(-) veya kartın türüne göre pozitif(+) (5V veya 3V)’dan fazlaysa zarar görebilir !

Örnek:

Arduino Dahili Pullup Kullanma Uygulaması

OUTPUT olarak yapılandırılan pinler

pinMode() ile OUTPUT olarak yapılandırılan pinin düşük empedanslı bir durumda olduğu söylenir. Bu, diğer devrelere önemli miktarda akım sağlayabilecekleri anlamına gelir. Atmega pinleri, diğer cihazlara / devrelere 40 mA’a (miliamp) kadar akım sağlar.

Bu, onları LED’ler için kullanışlı kılar, çünkü LED’ler tipik olarak 40 mA’den daha azını kullanır. 40 mA’dan daha büyük yükler (örn. Motorlar) bir transistör veya başka bir arabirim devresini gerektirecektir.

NOT: OUTPUT olarak yapılandırılan pinler, toprak(ground) veya pozitif güç uçlarına bağlıysa zarar görebilir !

Dahili bileşenleri tanımlama: LED_BUILTIN

Çoğu Arduino kartı, bir dirençle seri olarak bağlı bir LED’ye bağlı bir pime sahiptir.  Sabit LED_BUILTIN, yerleşik LED’in bağlandığı pimin numarasıdır. Çoğu sürücünün bu LED’i dijital pin 13’e bağlanmıştır.

Örnek:

Arduino Blink (Yanıp Sönme) Uygulaması


NOT: Buradaki bilgiler arduino.cc sitesinden Türkçeye çevrilmiştir.
Türkçe çevirinin tüm hakları saklıdır.
Bu web sayfası sadece link olarak paylaşılabilir.
Sayfada herhangi bir hata, öneri ve yorumlarınız için iletişim kurmanızı bekleriz.


CEVAP VER

Please enter your comment!
Please enter your name here

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.