1
ARDUINO UYGULAMA
• Uygulamada 13 numaralı dijital pine bağlı Led
1 saniye aralıklarla yanıp sönecektir.
2
ARDUINO UYGULAMA
Arduino Kodu :
void setup() {
pinMode(13, OUTPUT); // 13. pini çıkış olarak tanımlıyoruz.
}
void loop() { // Arduino Çalıştığı sürece :
digitalWrite(13, HIGH); // 13. pine elektrik gönder.
delay(1000); // 1 saniye bekle.
digitalWrite(13, LOW); // 13. pine giden elektriği kes.
delay(1000); // 1 saniye bekle.
}
3
Veri Tipleri
✓ Bütün işlemleri veri tipleri üzerinde
gerçekleştiriyoruz.
✓ Verileri tutan belleklere “değişken” isimleri
vererek kullanıyoruz.
4
Değişkenler
Değişken isimleri
✓ Türkçe karakter içeremez
✓ Rakamlarla başlayamaz
✓ Büyük – küçük harf duyarlıdır.
✓ Programlama dilinin anahtar kelimeleri isim
olarak kullanılamaz
4.02.2026 5
Veri Tipleri
✓ Tam sayı tipler: (unsigned /signed) char, int, long
✓ Kayar Noktalı Tipler: float, double
✓ Karakter: char, string
6
Veri Tipleri
TİP BOYUT ARALIK
int 2 bayt -32768 ile 32767 arası
unsigned int 2 bayt 0 ile 65535 arası
long 4 bayt -2147483648 ile 2147483647
unsigned long 4 bayt 0 ile 4294967295 arası
char 1 bayt -128 ile 127 arası
byte 1 bayt 0 ile 255 arası
7
Veri Tipleri
TİP BOYUT ARALIK
float 4 bayt -3.4028235E+38 ile
3.4028235E+38
double 4 bayt -3.4028235E+38 ile
3.4028235E+38
boolean 1 bayt TRUE(1) veya FALSE(0)
8
Veri Tipleri
✓ Arduino 8 bitlik bir mikrodenetleyiciye sahip
✓ Kısıtlı bir belleğe sahip olduğundan veri tiplerini doğru
kullanmak önemli
✓ Noktalı-sayılar fazla işlem gücü gerektiriyor!
9
Veri Tipleri
Diziler
Aynı tipte birden fazla değişken gerekli olduğunda
diziler kullanılabilir
int dizi[10]; // 10 elemanlı bir int dizisi
float ondalikDizi[5]; // 5 elemanlı bir float dizisi
char karDizi[] = {'A','R','D','U','I','N','O'};
int sayiDizisi[] = {1,2,3,4,5,6,7};
10
Veri Tipleri
2 boyutlu Diziler
int dizi[4][5]; // 4x5 elemanlı bir int dizisi
Sütun 0 Sütun 1 Sütun 2 Sütun 3 Sütun 4
Satır 0 dizi[0][0] dizi[0][1] dizi[0][2] dizi[0][3] dizi[0][4]
Satır 1 dizi[1][0] dizi[1][1] dizi[1][2] dizi[1][3] dizi[1][4]
Satır 2 dizi[2][0] dizi[2][1] dizi[2][2] dizi[2][3] dizi[2][4]
Satır 3 dizi[3][0] dizi[3][1] dizi[3][2] dizi[3][3] dizi[3][4]
11
Veri Tipleri
Diziler
int ikiBoyutluDizi[4][5]; // 4x5 elemanlı bir int dizisi
int ikiBoyutluDizi[4][5]= { {1, 2, 3, 4, 5},
{11, 12, 13, 14, 15},
{10, 20, 30, 40, 50},
{-1, -2, -3, -4, 890 }};
12
Değişkenlerin
Faaliyet Alanları(scope)
✓ Değişkenler program içerisinde geçerli
oldukları alanlara göre global veya lokal
değişkenler olarak ikiye ayrılabilirler
13
Değişkenlerin
Faaliyet Alanları(scope)
/* Global değişkenlerin tanımlı olduğu bölge*/
void setup() {
/* Yerel değişkenlerin tanımlı olduğu bölge*/
}
void loop() {
/* Yerel değişkenlerin tanımlı olduğu bölge*/
}
4.02.2026 14
Değişken Tanımlama
Değişken tanımlanırken değişkenin adı, değişkenin değeri ve
Değişken için uygun veri türü belirlenmelidir.
int Led=12;
int: veri türü
Led: değişken adı
12: değişkenin değeri
Pozitif sayıları tanımlamak için kullanılan veri türüdür.
Hafızada 1 byte (8 bit) yer kaplar. Değer aralığı 0-255
arasındadır.
byte değşkenismi; veya byte değişkenismi=değişkendeğeri;
byte sayaç; byte led=10; byte buton=7;
15
Değişkenlerin
Ömürleri
✓ Değişkenler program içerisinde belirli
bölgelerde tanımlı olup daha sonra yok
edilebilirler.
✓Global değişkenler bütün program boyunca
tanımlıdırlar, yok edilmezler.
✓Otomatik değişkenler tanımlı oldukları blok
boyunca yaşayıp bloktan çıkınca yok edilirler.
16
Kontrol Yapıları
✓Programımızın akışını değiştirmek, belirli şartlar
sağlandığında belirli işlemler yaptırmak için kontrol
yapıları kullanılır.
✓“Belirli şartları” mantık önermelerle ifade
ediyoruz
17
Mantık Önermeleri
a == b a eşittir b
a != b a eşit değildir b
a>b a küçüktür b
a<b a büyüktür b
a <= b a küçük - eşittir b
a >= b a büyük - eşittir b
18
Mantık Önermeleri
✓ Mantık önermelerin sonucu DOĞRU (TRUE / 1)
veya YANLIŞ (FALSE / 0) olabilir.
19
Mantık Operatörleri
✓ Temel mantık operatörleri AND (ve), OR (veya),
NOT (değil) ‘dir.
✓ AND &&
✓ OR ||
✓ NOT !
20
Mantık Önermeleri
AND
AND operatörü uygulanan iki ifadeden her ikisinin
de sonucu TRUE ise sonuç TRUE olur!
İFADE - 1 İFADE - 2 İFADE1 && İFADE 2
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Coşkun TAŞDEMİR - Çizgi-Tagem Arduino
4.02.2026 21
Eğitimleri
Mantık Önermeleri
OR
OR operatörü uygulanan iki ifadeden EN AZ
birisinin sonucu TRUE ise sonuç TRUE olur!
İFADE - 1 İFADE - 2 İFADE1 || İFADE 2
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
22
Mantık Önermeleri
NOT
Bir ifadeye NOT operatörü uygulanırsa sonuc
ifadenin sonucun DEĞİLİ (tersi) olur!
İFADE - 1 !İFADE-1
TRUE FALSE
FALSE TRUE
23
ARDUINO UYGULAMA
• Flip-Flop; iki tane LED’in
sırayla yanıp sönmesini
sağlayan uygulamadır.
LED’lerden biri yanarken
diğeri sönük olur ve
LED’lerin yanık-sönük
kalma sürelerini
dilediğiniz gibi
ayarlayabilirsiniz. İki
yöntemle çözünüz.
24
ARDUINO UYGULAMA
25
ARDUINO UYGULAMA
Arduino Kodu :
byte led1=12;
byte led2=13;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() { // Arduino Çalıştığı sürece :
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(1000);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(1000);
}
26
ARDUINO UYGULAMA
• Arduino ile LED nasıl yakılıp söndürüldüğünü
öğrendiğimize göre, artık biraz daha karmaşık
bir uygulama yapabiliriz. Bu uygulamamızda
kara şimşek yani sırayla yanıp sönen LED'ler
yapacağız.
27
ARDUINO UYGULAMA
Arduino Kodu :
int led_1=2; int led_2=3; int led_3=4; int led_4=5; int led_5=6;
void setup() {
pinMode(led_1, OUTPUT); pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT); pinMode(led_4, OUTPUT); pinMode(led_5, OUTPUT);
}
void loop() { // Arduino Çalıştığı sürece :
digitalWrite(led_1, HIGH);
delay(1000);
digitalWrite(led_1, LOW);
digitalWrite(led_2, HIGH);
delay(1000);
digitalWrite(led_2, LOW);
digitalWrite(led_3, HIGH);
delay(1000);
digitalWrite(led_3, LOW);
digitalWrite(led_4, HIGH);
delay(1000);
digitalWrite(led_4, LOW);
digitalWrite(led_5, HIGH);
delay(1000);
digitalWrite(led_5, LOW);
}
28
DİNLEDİĞİNİZ İÇİN
TEŞEKKÜRLER