• Sonuç bulunamadı

ARDUİNO. Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri. 12/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem 1 Arduino Eğitimleri

N/A
N/A
Protected

Academic year: 2022

Share "ARDUİNO. Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri. 12/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem 1 Arduino Eğitimleri"

Copied!
42
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

ARDUİNO

Arduino Eğitimleri

http://www.flickr.com/photos/collinmel/2317520331/

(2)

Arduino Dili

Neler Göreceğiz?

Arduino Programlama Dili

Veri Tipleri

Kontrol Yapıları

Döngüler

(3)

Arduino Dili

Arduino temel olarak Processing programlama diline dayanıyor.

Söz dizimi (sentaks) olarak C / C++ / Java dillerine

benzer.

(4)

Arduino Dili

Satır sonlarında noktalı virgül (;) bulunuyor

Bloklar süslü parantezlerle { } tanımlanıyor.

// veya /* */ karakterleri ile yorumlar

yazılabilir.

(5)

İLK PROGRAMIMIZ

/*

Pin13’e bağlı olan LED saniyede bir Yakılıp söndürülüyor.

*/

void setup() {

// 13. pini çıkış olarak ayarlıyoruz

// 13. pine Arduino kartında bir LED bağlı pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH); // LED’i yak

delay(1000); // Bir saniye bekle digitalWrite(13, LOW); // LED’i söndür

delay(1000); // Bir saniye bekle

(6)

Arduino

Programlama

Setup bir kerelik, loop sürekli çalışan işlemler için.

main() fonksiyonu bulumuyor. Onun yerine setup() ve loop() var.

delay() fonksiyonu ile gecikmeler oluşturuluyor

(7)

Veri Tipleri

Bütün işlemleri veri tipleri üzerinde gerçekleştiriyoruz.

Verileri tutan belleklere “değişken” isimleri

vererek kullanıyoruz.

(8)

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

(9)

Veri Tipleri

Tam sayı tipler: (unsigned /signed) char, int, long

Kayar Noktalı Tipler: float, double

Karakter: char, string

(10)

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ı

(11)

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)

(12)

Veri Tipleri

Tam sayı tipler: (unsigned /signed) char, int, long, short

Kayar Noktalı Tipler: float, double

Karakter: char, string

(13)

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!

(14)

Veri Tipleri

UYGULAMA

(15)

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};

(16)

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]

(17)

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 }};

(18)

Diziler

UYGULAMA

(19)

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

(20)

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*/

}

(21)

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.

(22)

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

(23)

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

(24)

Mantık Önermeleri

Mantık önermelerin sonucu DOĞRU (TRUE / 1)

veya YANLIŞ (FALSE / 0) olabilir.

(25)

Mantık Operatörleri

Temel mantık operatörleri AND (ve), OR (veya), NOT (değil) ‘dir.

AND &&

OR ||

NOT !

(26)

Mantık Önermeleri AND

İFADE - 1 İFADE - 2

İFADE1 && İFADE 2

TRUE TRUE TRUE

TRUE FALSE FALSE

FALSE TRUE FALSE

FALSE FALSE FALSE

AND operatörü uygulanan iki ifadeden her ikisinin de

sonucu TRUE ise sonuç TRUE olur!

(27)

Mantık Önermeleri OR

İFADE - 1 İFADE - 2

İFADE1 || İFADE 2

TRUE TRUE TRUE

TRUE FALSE TRUE

FALSE TRUE TRUE

OR operatörü uygulanan iki ifadeden EN AZ birisinin

sonucu TRUE ise sonuç TRUE olur!

(28)

Mantık Önermeleri NOT

İFADE - 1 !İFADE-1

TRUE FALSE

FALSE TRUE

Bir ifadeye NOT operatörü uygulanırsa sonuc ifadenin

sonucun DEĞİLİ (tersi) olur!

(29)

Mantık Önermeleri NOT

İFADE - 1 !İFADE-1

TRUE FALSE

FALSE TRUE

Bir ifadeye NOT operatörü uygulanırsa sonuc ifadenin

sonucun DEĞİLİ (tersi) olur!

(30)

Dallanma

“Belirli bir şarta göre şu işi yap” durumları:

“Hava kararınca lambayı yak!”

“Butona basıldıysa motoru hızlandır”

En temel karar yapıları

Program akışının değiştirilmesi

(31)

Dallanma

if ( degisken1 == 3)

{ // degisken1 3’e eşitse işletilecek bölüm

…. } else {

// degisken1 3’e eşit değilse işletilecek bölüm

(32)

Dallanma

if ( degisken1 == 3)

{// degisken1 3’e eşitse işletilecek bölüm

….

}else if ( degisken1 == 4)

{// degisken1 4’e eşit değilse işletilecek bölüm

….} else{

(33)

Dallanma

if ( degisken1 == 3)

{ // degisken1 3’e eşitse işletilecek bölüm

…. } else {

// degisken1 3’e eşit değilse işletilecek bölüm

(34)

Döngüler

while / do – while döngüleri

for döngüsü

(35)

Döngüler

for

for (başlangıc; adımda doğrulanacak önerme; adım) { // her bir adımda gerçekleştirilecek işlemler

}

for (i = 0; i < 10; i++)

{ // her bir adımda gerçekleştirilecek işlemler

(36)

for döngüsü

UYGULAMA

(37)

Döngüler

while

while (mantıksal önerme)

{ // her bir adımda gerçekleştirilecek işlemler }

while (i < 100)

{ // her bir adımda gerçekleştirilecek işlemler

(38)

While döngüsü

UYGULAMA

(39)

Döngüler

do while

do {

// her bir adımda gerçekleştirilecek işlemler } while (mantıksal önerme);

do {

// her bir adımda gerçekleştirilecek işlemler

(40)

Döngüler

continue ifadesi

Döngü içerisindeyken continue ifadesinden sonraki işlemler atlanarak döngü tekrar başa döndürülür.

continue ifadesini döngüdeyken istisnai durumlar

oluşturmak için kullanabiliriz.

(41)

Döngüler

break ifadesi

Döngü içerisindeyken break ifadesi bulunuyorsa döngüden çıkılır.

break ifadesini belirli bir şart oluştuğunda döngüyü

sonlandırmak için kullanabiliriz.

(42)

Continue, break ifadeleri

UYGULAMA

Referanslar

Benzer Belgeler

Yaygın eğitim kurumlarında uygulanan kurslarda kredilendirmeler; Talim ve Terbiye Kurulu Başkanlığının 29.11.2013 tarihli ve 135 sayılı Karar’ı ile kabul

4 Khachatryan Michael Poghos 14 4 Sargsyan Aram Arkadi 14 4 Lotfi Romina Shapuri 14 4 Mashinyan Anna Vahram 15. 5 Arzoyan Maria Varazdat 13 5 Salmasean Maria Hrayr 12 5

Blink programını Arduino’ya atmak için aşağıdaki fotoğrafta kırmızı daire içerisine aldığımız, üzerinde sağa doğru ok olan butona tıklıyoruz.. Böylece, konsolun

Sonuç olarak denilebi- lir ki Python, öğrenilmesi ve kullanılması kolay, neredeyse her iş için bir kütüphanesi olan güçlü bir programlama

Dijital bir pin çıkış olarak ayarlandığında, ayarlanan pine LOW veya HIGH yazmak için kullanılır.. LOW değeri pini 0V (GND) seviyesine çeker, HIGH değeri ise arduino

Arduino DUE kartı diğer kartlardan çok daha farklı olup 32 Bit işlemciye sahip ilk Arduino modelidir.. Üzerinde ARM mimarisine sahip 32 Bitlik işlemci

&#34;*ı..tlığı yanında müzakere avukatlığına da çok ihtiyaç hissedilmektedir, Bu doğrultuda, arabuluculuk sürecinde yer alacak taraf avukatları ve

ARDUİNO UYGULAMALARI 2. Mustafa