0% found this document useful (0 votes)
13 views29 pages

Arduino Programlama

Uploaded by

Osman ULKIR
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views29 pages

Arduino Programlama

Uploaded by

Osman ULKIR
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like