ARDUINO DJTAL PN KONTROL 1 Ne yapacaz Arduino

  • Slides: 21
Download presentation
ARDUINO DİJİTAL PİN KONTROLÜ 1

ARDUINO DİJİTAL PİN KONTROLÜ 1

Ne yapacağız ? • Arduino kullanarak cihazları istediğimiz sıraya göre, istediğimiz zaman aralıklarına göre

Ne yapacağız ? • Arduino kullanarak cihazları istediğimiz sıraya göre, istediğimiz zaman aralıklarına göre ayarlı çalıştıracağız. Video 1 2

Nasıl yapacağız ? • Sadece basit bir elektronik devre ve birkaç komuttan oluşan basit

Nasıl yapacağız ? • Sadece basit bir elektronik devre ve birkaç komuttan oluşan basit bir yazılım yazacağız. • Çalışması istenilen cihazları birer LED ile simgeleyeceğiz. • İlerleyen haftalarda röle ve kontaktör kullanarak gerçek bir motoru kontrol edeceğiz. 3

Amacımız • Arduino’daki dijital çıkış komut mantığını ve dijital çıkış komutlarının öğrenilmesini sağlamak. •

Amacımız • Arduino’daki dijital çıkış komut mantığını ve dijital çıkış komutlarının öğrenilmesini sağlamak. • Arduino programı yazmaya giriş yapmak. • pin. Mode ve digital. Write komutlarının öğrenilmesini sağlamak. 4

pin. Mode(); Komutu • Kullanılacak olan pinlerin, Giriş yada çıkış olarak tanımlanmasını sağlar. •

pin. Mode(); Komutu • Kullanılacak olan pinlerin, Giriş yada çıkış olarak tanımlanmasını sağlar. • Örnekler: pin. Mode(13, OUTPUT); => 13 Nolu pin Çıkış olarak tanımlandı. pin. Mode(10, INPUT); => 10 Nolu pin Giriş olarak tanımlandı. 5

pin. Mode(); Komutu • Eğer bir pinden LED, röle motor gibi bir çıkış elemanı

pin. Mode(); Komutu • Eğer bir pinden LED, röle motor gibi bir çıkış elemanı kontrol edilecekse o pin ÇIKIŞ olarak tanımlanmalıdır. pin. Mode(x, OUTPUT); • Buton veya sensör gibi bir giriş elemanı kontrol edilecekse, o pin GİRİŞ olarak tanımlanmalıdır. pin. Mode(x, INPUT); x= Pin numarası 6

digital. Write(); Komutu • Çıkış olarak tanımlanan pinlerden, Lojik 1 veya Lojik 0 çıkışı

digital. Write(); Komutu • Çıkış olarak tanımlanan pinlerden, Lojik 1 veya Lojik 0 çıkışı verilmesini sağlar. - digital. Write(7, HIGH); => 7 nolu pinden 5 V çıkış verildi ! (Lojik-1) - digital. Write(9, LOW); => 9 nolu pinden 0 V çıkış verildi ! (Lojik-0) 7

delay(); Komutu • Parantez içerisinde belirtilen süre kadar bekleme yapılmasını sağlar. Komutlar arasında bekleme

delay(); Komutu • Parantez içerisinde belirtilen süre kadar bekleme yapılmasını sağlar. Komutlar arasında bekleme yapmak için kullanılır. 1 saniye için 1000 yazılır. Örnek: 5 saniye için 5000 yazılır. 7, 5 saniye için 7500 yazılır. 8

delay(); Komutu • delay(1000); => 1 saniye bekler. • delay(500); => 0. 5 (Yarım)

delay(); Komutu • delay(1000); => 1 saniye bekler. • delay(500); => 0. 5 (Yarım) Saniye bekler. • delay(5000); => 5 saniye bekler. • Delay(4500); => 4. 5 saniye bekler. 9

Arduino komutları yazılırken, büyük/küçük harfe dikkat edilmeli, komutlar doğru şekilde yazılmalıdır. Aksi takdirde derleme

Arduino komutları yazılırken, büyük/küçük harfe dikkat edilmeli, komutlar doğru şekilde yazılmalıdır. Aksi takdirde derleme olmaz. 10

Arduino Programlarında Genel Yapı void setup() { } void loop() { } 11

Arduino Programlarında Genel Yapı void setup() { } void loop() { } 11

Arduino Programlarında Genel Yapı • Program ayar kısmı ve döngü kısmı olmak üzere 2

Arduino Programlarında Genel Yapı • Program ayar kısmı ve döngü kısmı olmak üzere 2 bölümden oluşur. • Ayar ( setup ) kısmında giriş/çıkış ayarları yapılır. • Ayar kısmına yazılan tüm işlemleri arduino sadece 1 kez yapar. Tekrar etmez. 12

Arduino Programlarında Genel Yapı • Döngü ( loop ) kısmına ise sürekli olarak yapılması

Arduino Programlarında Genel Yapı • Döngü ( loop ) kısmına ise sürekli olarak yapılması istenilen işlemler yazılır. • Ayar ve döngü kısımlarının başlangıçlarında { parantezi açılır, bitişlerinde } parantezi kapatılır. 13

Örnek Bir Program ve Çalışması void setup() { pin. Mode(3, OUTPUT); pin. Mode(4, OUTPUT);

Örnek Bir Program ve Çalışması void setup() { pin. Mode(3, OUTPUT); pin. Mode(4, OUTPUT); digital. Write(3, HIGH); delay(500); digital. Write(3, LOW); delay(500); } void loop() { digital. Write(4, HIGH); delay(1000); digital. Write(4, LOW); delay(1000); } 14

Örnek Bir Program ve Çalışması void setup() { 3 nolu pin çıkıştır. 4 nolu

Örnek Bir Program ve Çalışması void setup() { 3 nolu pin çıkıştır. 4 nolu pin çıkıştır. 3 nolu pini aktif et. Yarım saniye bekle. 3 nolu pini pasif et. Yarım saniye bekle. } SADECE void loop() { 4 nolu pini aktif et. 1 saniye bekle. 4 nolu pini pasif et. 1 saniye bekle. } ! R E D E R A R K E T İ L 1 KEZ YAPAR ! Ü K E R 15

Örnek Programın Devresi 16

Örnek Programın Devresi 16

Uygulama – 1 • 7 nolu pine bağlı LED 1 kez 1 saniye ışık

Uygulama – 1 • 7 nolu pine bağlı LED 1 kez 1 saniye ışık verip sönecek daha sonra 10 nolu pine bağlı LED 1 saniye aralıklarla sürekli yanıp sönecektir. 17

Uygulama – 1 void setup() { pin. Mode(7, OUTPUT); pin. Mode(10, OUTPUT); digital. Write(7,

Uygulama – 1 void setup() { pin. Mode(7, OUTPUT); pin. Mode(10, OUTPUT); digital. Write(7, HIGH); delay(1000); digital. Write(7, LOW); } void loop() { digital. Write(10, HIGH); delay(3000); digital. Write(10, LOW); delay(1000); } 18

Uygulama – 2 • Bu soruda istenen tüm işlemler sürekli tekrar edecektir. - 3

Uygulama – 2 • Bu soruda istenen tüm işlemler sürekli tekrar edecektir. - 3 nolu pine bağlı olan LED ışık verip 1 saniye sonra sönecek. - Söndüğü gibi 6 nolu pine bağlı olan LED ışık verecek ve 2 saniye sonra sönecektir. - 6’ya bağlı olan LED sönünce 1 saniye beklenecek, 4’e bağlı olan LED ışık verecek ve 3 saniye sonra sönecektir. Gerekli devreyi kurunuz, programı yazınız. 19

Uygulama – 3 • Bu soruda istenen tüm işlemler sürekli tekrar edecektir. - 4’e

Uygulama – 3 • Bu soruda istenen tüm işlemler sürekli tekrar edecektir. - 4’e bağlı olan LED ile 5’e bağlı olan LED aynı anda ışık verecek. 3 saniye sonra ikisi de sönecek. - Söndüğü gibi 6 ve 7’ye bağlı olan LED’ler aynı anda ışık verecekler. 2 saniye sonra sadece 6’daki sönecek. - 1 saniye sonra 7’deki de sönecektir. Gerekli devreyi kurunuz, programı yazınız. 20

Uygulama – 4 • 8 adet LED bağlayarak, sürekli olarak karaşimşek şeklinde ışık vermesini

Uygulama – 4 • 8 adet LED bağlayarak, sürekli olarak karaşimşek şeklinde ışık vermesini sağlayan devreyi kurunuz ve programı yazınız. Video 2 (Pinleri kendiniz belirleyiniz. ) (Bekleme süreleri 200 ms ile 1 sn arasında olabilir. ) 21