Arduino if ifadesi (Şartlı ifade)
Arduino if İfadesi. If () ifadesi, tüm programlama kontrol yapılarının en temelidir. Belirli bir koşulun doğru olup olmadığına bağlı olarak bir şey yapmanıza ya da olmamasına izin verir. Şuna benziyor:
if (someCondition) { // durum doğruysa (Koşul sağlanıyorsa) }
Bu gibi görünen if-else adlı yaygın bir varyasyon vardır:
if (someCondition) { // durum doğruysa (Koşul sağlanıyorsa) } else { // durum yanlışsa (Koşul sağlanmıyorsa) }
Eğer birincisi yanlış ise ikinci bir koşulu kontrol edebileceğiniz başka bir şey de var:
if (someCondition) { // durum doğruysa (Koşul sağlanıyorsa) } else if (anotherCondition) { // sadece ilk durum yanlışsa (Koşul sağlanmıyorsa) // ve ikinci urum doğruysa (Koşul sağlanıyorsa) }
Her zaman ifadeler kullanırsanız kullanacaksınız. Aşağıdaki örnek, bir analog girişte okunan değer belirli bir eşiğin üzerine çıkarsa, pim 13’teki bir LED’i (birçok Arduino kartındaki yerleşik LED) açar.
Donanım
- Arduino veya Genuino
- Potansiyometre veya değişken direnç
“Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”
Kod
Aşağıdaki kodda, analogValue
olarak adlandırılan bir değişken, analogPin 0 üzerinde panele bağlı bir potansiyometreden toplanan verileri depolamak için kullanılır. Bu veriler daha sonra bir eşik değeri ile karşılaştırılır. Analog değerin ayarlanan eşiğin üzerinde olduğu tespit edilirse, dijital pim 13’e bağlanan yerleşik LED yanar. Eğer analogDeğer <
(küçüktür) eşik ise, LED söner.
/* Şartlı ifadeler - İfadeler Bu örnek if () ifadelerinin kullanımını göstermektedir. Bir potansiyometrenin durumunu (bir analog giriş) okur ve bir LED'i açar Sadece potansiyometre belirli bir eşik seviyesinin üzerine çıkarsa. O yazdırır Seviyeden bağımsız olarak analog değer. Devre: - potansiyometre Potansiyometrenin orta pini analog pin 0'a gider. Potansiyometrenin yan pimleri + 5V ve toprağa gider. - Dijital pim 13'ten toprağa bağlanan LED - Not: Arduino kartlarının çoğunda, kartta zaten bir LED var. 13'e kadar, bu örnek için ekstra bileşenlere ihtiyacınız yoktur. oluşturuldu 17 Oca 2009 değiştirilme tarihi 9 Nis 2012 Tom Igoe tarafından Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/IfStatement */ // Bu sabitler değişmeyecek: const int analogPin = A0; // sensörün bağlı olduğu pin const int ledPin = 13; // LED'in bağlı olduğu pin const int threshold = 400; // analog giriş aralığındaki keyfi bir eşik seviyesi void setup() { // LED pinini çıkış olarak başlatır: pinMode(ledPin, OUTPUT); // seri iletişimi başlat: Serial.begin(9600); } void loop() { // potansiyometrenin değerini okuyun: int analogValue = analogRead(analogPin); // Analog değer yeterince yüksekse, LED'i açın: if (analogValue > threshold) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } // analog değeri yazdırın: Serial.println(analogValue); delay(1); // stabilite için okumalar arasında gecikme }
Kaynak:arduino.cc