Arduino if ifadesi (Şartlı ifade)
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:
1 2 3 | if (someCondition) { // durum doğruysa (Koşul sağlanıyorsa) } |
Bu gibi görünen if-else adlı yaygın bir varyasyon vardır:
1 2 3 4 5 | 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:
1 2 3 4 5 6 | 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ç
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | /* Ş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); <span class="notranslate"><span class="co1">// stabilite için okumalar arasında gecikme</span></span> } |
Kaynak:arduino.cc