Arduino

Arduino'da Operatörler ve Eşitlikler

Aykut AKMAN 8 ay önce Yorumlar (0) 7 Dakika Okuma
Arduino'da Operatörler ve Eşitlikler
E-Posta : 793 0

Arduino'da operatörler ve eşitlik ifadeleri, değişkenlerle işlem yapmak, karar verme mekanizmaları oluşturmak ve programlama yapılarının temelini oluşturur. Bu konuyu Matematiksel Operatörler, Mantıksal Operatörlerve Eşitlikler olarak üç başlık altında ele alacağız. Her bir başlıkta detaylı açıklamalar, tablolar ve örneklerle konuyu pekiştireceğiz.

1. Matematiksel Operatörler

Matematiksel operatörler, Arduino'da temel aritmetik işlemleri yapmak için kullanılır. Bu operatörler, sensörlerden gelen verileri işlemek, matematiksel hesaplamalar yapmak ve kontrol mekanizmalarını yönetmek için sıklıkla kullanılır.

Matematiksel Operatörler Tablosu

OperatörAçıklamaÖrnek KullanımSonuç
+Toplamax + yx ve y’nin toplamı
-Çıkarmax - yx ve y’nin farkı
*Çarpmax * yx ve y’nin çarpımı
/Bölmex / yx’in y’ye bölümü
%Mod Alma (Kalan Bulma)x % yx’in y’ye bölümünden kalan
++Bir artırmax++x’in değeri 1 artar
--Bir azaltmax--x’in değeri 1 azalır

Matematiksel Operatörlerle Örnekler

Örnek 1: İki Sensör Değerinin Toplamını ve Ortalamasını Hesaplama


int sensor1 = A0;  // Sensör 1 pini
int sensor2 = A1;  // Sensör 2 pini
int toplam;
float ortalama;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int deger1 = analogRead(sensor1); // Sensör 1 değerini oku
  int deger2 = analogRead(sensor2); // Sensör 2 değerini oku

  toplam = deger1 + deger2;         // Değerleri topla
  ortalama = toplam / 2.0;          // Ortalamayı hesapla

  Serial.print("Toplam: ");
  Serial.println(toplam);
  Serial.print("Ortalama: ");
  Serial.println(ortalama);

  delay(1000);
}

Örnek 2: LED Yanıp Sönme Süresini Mod Alma ile Ayarlama

int ledPin = 13;
int sure = 1000; // Başlangıç süresi

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(sure % 1500); // Mod işlemi ile süreyi belirle
  digitalWrite(ledPin, LOW);
  delay(sure % 1500);
  sure += 100; // Süreyi artır
}

2. Mantıksal Operatörler

Mantıksal operatörler, birden fazla koşulu değerlendirmek ve karar mekanizmalarını oluşturmak için kullanılır. Koşullar arasında "VE" (&&), "VEYA" (||) gibi bağlantılar kurulmasını sağlar.

Mantıksal Operatörler Tablosu

OperatörAçıklamaÖrnek KullanımSonuç
&&VE (Tüm koşullar doğruysa doğru)x > 5 && y < 10x, 5’ten büyük VE y, 10’dan küçükse true
||VEYA (Koşullardan biri doğruysa)x > 5 || y < 10x, 5’ten büyük VEYA y, 10’dan küçükse true
!DEĞİL (Koşulun tersini alır)!(x > 5)x, 5’ten büyük DEĞİLSE true

Mantıksal Operatörlerle Örnekler

Örnek 1: İki Sensör Değerine Göre LED Kontrolü


int sensor1 = A0;
int sensor2 = A1;
int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int deger1 = analogRead(sensor1);
  int deger2 = analogRead(sensor2);

  // Her iki sensör de belirli bir aralıkta ise LED yansın
  if (deger1 > 500 && deger2 < 300) {
    digitalWrite(ledPin, HIGH); // LED yanar
  } else {
    digitalWrite(ledPin, LOW);  // LED söner
  }

  delay(1000);
}

Örnek 2: VEYA Operatörü ile Alarm Sistemi

int motionSensor = 2;
int smokeSensor = 3;
int alarmPin = 13;

void setup() {
  pinMode(motionSensor, INPUT);
  pinMode(smokeSensor, INPUT);
  pinMode(alarmPin, OUTPUT);
}

void loop() {
  int motion = digitalRead(motionSensor);
  int smoke = digitalRead(smokeSensor);

  // Hareket algılandı VEYA duman algılandıysa alarm çalışır
  if (motion == HIGH || smoke == HIGH) {
    digitalWrite(alarmPin, HIGH); // Alarm çalar
  } else {
    digitalWrite(alarmPin, LOW);  // Alarm durur
  }

  delay(500);
}

3. Eşitlikler ve Karşılaştırma Operatörleri

Eşitlik ifadeleri, iki değerin birbiriyle ilişkisini kontrol etmek için kullanılır. Bu operatörler, karar verme mekanizmalarının temelidir.

Eşitlik Operatörleri Tablosu

OperatörAçıklamaÖrnek KullanımSonuç
==İki değerin eşit olup olmadığını kontrol eder.x == yx ve y eşitse true
!=İki değerin eşit olmadığını kontrol eder.x != yx ve y eşit değilse true
>Soldaki değer sağdakinden büyükse doğru döner.x > yx, y’den büyükse true
<Soldaki değer sağdakinden küçükse doğru döner.x < yx, y’den küçükse true
>=Soldaki değer sağdakine büyük veya eşitse doğru döner.x >= yx, y’den büyük veya eşitse true
<=Soldaki değer sağdakine küçük veya eşitse doğru döner.x <= yx, y’den küçük veya eşitse true

Eşitliklerle Örnek

Örnek: Sıcaklık Kontrolü


int tempSensor = A0;
int led = 13;

void setup() {
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(tempSensor);
  int temperature = map(sensorValue, 0, 1023, -40, 125);

  if (temperature == 25) { // Sıcaklık 25 derece ise
    digitalWrite(led, HIGH); // LED yanar
  } else {
    digitalWrite(led, LOW);  // LED söner
  }

  Serial.print("Temperature: ");
  Serial.println(temperature);
  delay(1000);
}
Bu yazıda, Arduino'da operatörleri matematiksel ve mantıksal olarak iki gruba ayırdık ve ayrıca eşitlik ifadelerini detaylı şekilde ele aldık. Her başlık için tablolar, açıklamalar ve örnekler sunarak konuyu pekiştirdik.

Sıkça Sorulan Sorular

Arduino'da matematiksel operatörler şunlardır:

  • + (Toplama): İki değeri toplar.
  • - (Çıkarma): İki değerin farkını alır.
  • * (Çarpma): İki değeri çarpar.
  • / (Bölme): Bir değeri diğerine böler.
  • % (Mod): Bir değerin diğerine bölümünden kalanı bulur.
    Örneğin:
int toplam = 10 + 5; // Sonuç: 15

Mod operatörü (%), bir sayının diğerine bölümünden kalan değeri bulur. Örneğin:

int kalan = 10 % 3; // Kalan: 1

Bu, döngülerde veya zamanlama işlemlerinde faydalıdır.

Mantıksal operatörler, koşulları değerlendirmek için kullanılır:

  • && (VE): Tüm koşullar doğruysa sonuç true.
  • || (VEYA): Koşullardan biri doğruysa sonuç true.
  • ! (DEĞİL): Koşulun tersini alır.
    Örnek:
if (x > 5 && y < 10) {
  // Şartlar doğruysa işlemleri gerçekleştir
}

Eşitlik operatörleri, iki değerin ilişkisini kontrol eder:

  • == (Eşittir): İki değerin eşit olup olmadığını kontrol eder.
  • != (Eşit Değildir): İki değerin eşit olmadığını kontrol eder.
  • > (Büyüktür): Soldaki sağdakinden büyükse true.
  • < (Küçüktür): Soldaki sağdakinden küçükse true.
  • >= (Büyük veya Eşittir): Soldaki sağdakine büyük ya da eşitse true.
  • <= (Küçük veya Eşittir): Soldaki sağdakine küçük ya da eşitse true.

Matematiksel operatörlerle LED yanıp sönme süresi ayarlanabilir. Örneğin:

int sure = 1000; // Süre
digitalWrite(13, HIGH);
delay(sure % 1500); // Süreyi mod operatörü ile ayarla
digitalWrite(13, LOW);
delay(sure % 1500);

Hareket ve duman algılandığında alarm veren bir sistem:

if (motion == HIGH || smoke == HIGH) {
  digitalWrite(alarmPin, HIGH); // Alarm çalar
}

Sıcaklık sensöründen gelen veriyi işleyerek hesaplama yapabilirsiniz:

int temperature = map(sensorValue, 0, 1023, -40, 125);
if (temperature > 30) {
  Serial.println("Sıcaklık yüksek!");
}

İki sensör verisini eşitlik operatörleriyle karşılaştırabilirsiniz:

if (sensor1 > sensor2) {
  Serial.println("Sensör 1 daha büyük.");
}

Mantıksal VE, iki koşulun aynı anda doğru olduğu durumlarda kullanılır. Örneğin:

if (x > 10 && y < 20) {
  Serial.println("Koşullar sağlandı.");
}

! operatörü, bir koşulun tersini alır. Örneğin:

if (!isOn) {
  digitalWrite(ledPin, HIGH); // LED yanar
}

Burada, isOn yanlışsa LED yanacaktır.

Aykut AKMAN

Aykut AKMAN

Bilişim Öğretmeni

Bu Gönderiye Yorum Yapılmamış

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlendi.

Diğer Yazılar