Açıklama
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 and false (Boolean Sabitler)
Arduino dilinde gerçeği ve sahteliği temsil etmek için kullanılan iki sabit vardır:
true ve
false .
yanlış
false , ikisinin tanımlanması daha kolaydır. false, 0 (sıfır) olarak tanımlanır.
doğru
true genellikle
true olarak 1 olarak tanımlanır, ancak true daha geniş bir tanımlamaya sahiptir. Boolean anlamında sıfır olmayan herhangi bir tam sayı doğrudur. Dolayısıyla -1, 2 ve -200'ün tümü Boole anlamda da doğru olarak tanımlanır.
true ve
false sabitlerin
HIGH ,
LOW ,
INPUT ve
OUTPUT farklı olarak küçük harflerle yazıldığını unutmayın.
Pin Seviyelerini Tanımlama: YÜKSEK ve DÜŞÜK
Bir dijital pini okurken veya yazarken, bir pimin alabileceği / ayarlanabileceği yalnızca iki değer vardır:
HIGH ve
LOW .
YÜKSEK
Anlamı
HIGH (bir pim referans olarak) bir pim, bir ayarlanmış olup olmamasına bağlı olarak biraz farklı
INPUT veya
OUTPUT . Bir pim bir şekilde yapılandırıldığında
INPUT ile
pinMode() ve birlikte okunan
digitalRead() , Arduino (ATmega) bildirir
HIGH ise:
pimde 3.0V'den daha yüksek bir voltaj var (5V panoları)
pimde 2.0V volttan daha yüksek bir voltaj var (3.3V panoları)
Bir pim aynı zamanda, bir giriş olarak konfigüre edilebilir
pinMode() , ve daha sonra yüksek yapılan
digitalWrite() . Bu, harici devre tarafından
LOW çekilmezse giriş pimini
HIGH okumaya çekecek dahili 20K çekme dirençlerini etkinleştirir. Bu alternatif olarak, aşağıdaki "Dijital Pimler modlarını tanımlama: INPUT, INPUT_PULLUP ve OUTPUT" bölümünde daha ayrıntılı olarak açıklandığı gibi
INPUT_PULLUP
pinMode() işlevine argüman olarak ileterek yapılabilir.
5 volt (5V panoları)
3.3 volt (3.3V kartlar)
Bu durumda akımı kaynaklayabilir, örneğin bir seri direnç yoluyla toprağa bağlı bir LED yakabilir.
DÜŞÜK
LOW anlamı, bir iğnenin
INPUT veya
OUTPUT olarak ayarlanmasına bağlı olarak farklı bir anlama sahiptir. Bir pim bir şekilde yapılandırıldığında
INPUT ile
pinMode() ve birlikte okunan
digitalRead() , Arduino (ATmega) LOW olmadığını bildirecektir:
pimde 1.5V'den daha düşük bir voltaj var (5V panoları)
pimde (3.3V kartlar) 1.0V (Yaklaşık) 'dan daha düşük bir voltaj var
Bir pim yapılandırıldığında
OUTPUT ile
pinMode() ve ayarlanmış
LOW ile
digitalWrite() pim 0 volt (her ikisi de 5V ve 3.3V panoları) yer almaktadır. Bu durumda akımı batırabilir, örneğin bir seri rezistör aracılığıyla +5 volta (veya +3,3 volta) bağlı bir LED yakabilir.
Dijital Pin modlarını tanımlama: INPUT, INPUT_PULLUP ve OUTPUT
Dijital pinler
INPUT ,
INPUT_PULLUP veya
OUTPUT .
pinMode() ile bir pimi değiştirmek, pimin elektriksel davranışını değiştirir.
INPUT olarak Yapılandırılmış Pinler
pinMode() ile
INPUT olarak yapılandırılan Arduino (ATmega) pinlerinin yüksek empedans durumunda olduğu söylenir.
INPUT olarak yapılandırılan pinler, pim önünde 100 Megohm'luk bir seri rezistansa eşdeğer olarak örnekledikleri devrede son derece küçük talepler yapar. Bu, onları bir sensörü okumak için yararlı kılar.
PIN kodunuzu
INPUT olarak yapılandırdıysanız ve bir anahtar okuyorsanız, anahtar açık durumdayken giriş pimi "yüzer" ve bu da öngörülemeyen sonuçlarla sonuçlanır. Anahtar açıkken doğru bir okuma sağlamak için bir çekme veya çekme direnci kullanılmalıdır. Bu direncin amacı, anahtar açıkken pimi bilinen bir duruma çekmektir. Genellikle 10 K ohm'luk bir direnç seçilmiştir, çünkü kayan bir girişi güvenilir bir şekilde önlemek için yeterince düşük bir değerdir ve aynı zamanda anahtar kapatıldığında çok fazla akım çekmeyecek kadar yüksek bir değerdir. Daha fazla bilgi için Dijital Okuma Dizisi eğitimine bakın.
Bir aşağı çekme direnci kullanılırsa, anahtar açıkken giriş pimi
LOW ve anahtar kapatıldığında
HIGH .
Bir çekme direnci kullanılırsa, anahtar açıkken giriş pimi
HIGH ve anahtar kapalı olduğunda
LOW .
INPUT_PULLUP olarak Yapılandırılmış Pinler
Arduino'daki ATmega mikrodenetleyici, erişebileceğiniz dahili çekme dirençlerine (dahili olarak güce bağlanan dirençler) sahiptir. Bunları harici çekme dirençleri yerine kullanmayı tercih ederseniz,
INPUT_PULLUP
pinMode() içindeki
INPUT_PULLUP bağımsız değişkenini kullanabilirsiniz.
Kullanımdaki bunun bir örneği için Giriş Çekme Dizisi öğreticisine bakın.
INPUT veya
INPUT_PULLUP ile giriş olarak yapılandırılan
INPUT_PULLUP , yerin altındaki (negatif voltajlar) veya pozitif güç rayının (5V veya 3V) üzerindeki voltajlara bağlanırsa hasar görebilir veya yok edilebilir.
OUTPUT olarak yapılandırılmış pinler
pinMode() ile
OUTPUT olarak yapılandırılan
pinMode() düşük empedans durumunda olduğu söylenir. Bu, diğer devrelere önemli miktarda akım sağlayabilecekleri anlamına gelir. ATmega pinleri diğer cihazlara / devrelere kadar 40 mA (miliamper) akım kaynaklayabilir (akım sağlayabilir) veya batabilir (akımı emebilir). Bu, LED'lere güç sağlamak için onları kullanışlı hale getirir, çünkü LED'ler genellikle 40 mA'den daha az kullanır. 40 mA'nın üzerindeki yükler (örn. Motorlar) bir transistör veya başka bir arayüz devresi gerektirir.
Çıkış olarak yapılandırılan pimler, toprağa veya pozitif güç raylarına bağlanırsa hasar görebilir veya yok edilebilir.
Yerleşik öğeleri tanımlama: LED_BUILTIN
Çoğu Arduino kartında, bir dirençle seri olarak yerleşik bir LED'e bağlı bir pim vardır. Sabit
LED_BUILTIN , yerleşik LED'in bağlı olduğu pim sayısıdır. Çoğu kartta bu LED dijital pim 13'e bağlanmıştır.