1)kodlama İÇİn “arduino ide” program kurulumu 2) arduİno … · arduİno ide kisayol...

26
1)KODLAMA İÇİN “ARDUINOIDE” PROGRAM KURULUMU (windows için)MR 1) www.arduino.cc/en/Main/Software Adresinde arduino kurulum sayfası açılır. 2) “Download the Arduino Software” butonu tıklanır. 3) Arduino nun güncel sürümlerinden birisi tercih edilerek ekrandaki butonu tıklanır. (örnek: Arduino1.6.13 gibi) 4) “Support the Arduino Software” başlıklı Arduino dayanışma sayfasında “destek bağışı yapıp indirme” veya “yardım yapmaksızın indirme” seçeneklerinden birisi tercih edilerek butonu tıklanır. “CONTRUBUTE & DOWNLOAD” veya “JUST DOWNLOAD” 5) “Arduino Setup: License Agreement” yani lisans sözleşmesi penceresi yükleme süreci tamamlandığında açılır. “I Agree” butonu tıklanarak onaylanır. 6) “Arduino Setup: İnstallation Options” Penceresinde tüm componentler işaretlenerek “Next” butonu tıklanır. 7) “Arduino Setup: İnstallation Folder” Penceresinde “Browse” butonundan dosyaların kayıt edileceği bellek alanı seçilir ve “Install” butonu tıklanarak dosyaların bilgisayarınıza indirilmesi-kaydedilmesi beklenir. 8) “Arduino Setup: Completed” Penceresinde “Close” butonu tıklanarak kurulum tamamlanır. M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S Sketch 1│Arduino 1.6.13 Dosya Düzenle Taslak Yardım Sketch 1 #include……?. #define…..? ………….? void setup () { // başlangıç kodları yazılacak, kodların okunması için gereken öncüller girilir. } void loop () { // burada ana kodlar yazılacak, döngüsel işlemleri içeren işlev kodları. } Arduino Nano ATmega328 MR on COM3 Program detayları ve hata bildirim ekranı. ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları önce denetler sonra Arduino karta yükler. Yeni: Yeni bir kodlama için yeni çalışma sayfası (sketch) açar. Aç: Daha önce hazırlanmış çalışma sayfası (sketch) açılır. “ARDUINOIDE” KULLANIMI Arduino IDE programının ekran görüntüsü aşağıdaki gibidir. Bu program penceresi; KOD YAZMA→DERLEME→KODLARI MİKRODENETLEYİCİYE YÜKLEME→PROGRAMI ÇALIŞTIRMA işlemlerini kolaylaştırmaktadır. Kaydet: Yazılmakta olan çalışma sayfası (sketch) kaydedilir. Seri Port Ekranı: Yazılmakta olan kodların işlemleri, sonuçları anlık olarak bu pencereden takip edilebilir. Arduino kart ile bilgisayarınız arasında direkt bir iletişim sağlamış olursunuz. Araçlar 2) ARDUİNO IDE MENÜLERİ DOSYA (FİLE) Yeni (New): Program yazmak için yeni sketch-sayfa açar. Aç (Open): Önceden yazılmış, kaydedilmiş sketch`leri açar. Sunucuyu Aç (Open Recent): Sketch`leri kronolojik sıralar. Taslak Defteri (Sketchbook): Klasördeki sketch`leri listeler. Örnekler (Examples): Örnek uygulama listesi. Kapat (Close): Sketch`i kapatır. Kaydet (Save): Sketch`i kaydeder. Farklı Kaydet (Save As): Sketch`in kayıt adını ve yerini farklı yapar. Sayfa Ayarları (Page Setup): Yazıcı sayfa ayarları. Yazdır (Printer): Sketch`i yazdırır. Tercihler (Preferences): IDE uygulama sayfa ayarları değiştirilebilir. Çıkış (Out): Açık olan tüm sketch`lerden çıkar. DÜZENLE (EDİT) MR Geri/Tekrar (Undo/Redo): Yapılan işlemleri geri alır veya bırakır. Kes (Cut): Seçili komut satırını keser. Kopyala (Copy): Ofis metni olarak kopyalar. Forum için kopyala (Copy for forum): Forumlarda paylaşım formatında. HTML olarak kopyala (Copy as HTML):Webde paylaşım formatında. Yapıştır (Paste): Kopyalanmış sketch satırlarını seçili yere yapıştırır. Tümünü seç (Select All): Sketch`teki komut satırlarını seçer. Satıra Git (Go to line): İlgili sketch satırını yeni bir pencerede açar. Yorum yap/kaldır (Comment/Uncomment): // komutunu ekler kaldırır. Girintiyi artır (İncrease indent): Satırı kenardan uzaklaştırır. Girintiyi azalt (Decrease indent): Satırı kenara yakınlaştırır. Bul (Find): Sketch`teki ifadeler arası arama yapar. TASLAK (SKETCH) Doğrula/Derle (Verify/Compile): Sketch`teki kodları doğrular ve derler. (kodları kontrol ettikten sonra hexadesimal tabana dönüştürür) MR Yükle (Upload): Program kodlarını önce derler sonra arduino`ya yükler. (derlerken hexadesimal tabana, yüklerken binary tabana dönüşüm gerçekleşir.) Programlayıcıyı kullanarak yükle (Upload using programmer): Harici bir programlayıcı kullanarak programlama yapılmasını sağlar. (Bu Bootloader olmadan belleğin tümünü kullanmaya yarar) Derlenmiş Binary`i çıkar (Export copiled binary): Derlenmiş (.hex uzantılı) dosya arşivlenir. Çalışma klasörünü göster (Show scetch folder): Kayıt klasörü görülür. Library ekle (İnclude Library): Kitaplıktaki dosyalardan aktarma yapar. Dosya ekle (Add file): Farklı bir klasörden sketch dosyası ekler. ARAÇLAR (TOOLS) Otomatik biçimlendir (Auto format): Program kodlarını düzenler. Taslağı arşivle (Show scetch folder): Sketch`i zip olarak arşivler. Karakter kodlamasını düzelt & Tekrar yükle (Fix encoding & Reload): Diğer işletim sistemleri ile arasındaki karakter kodlama haritası ayrımını giderir. Seri port ekranı (Serial monitor): Bilgisayar ile arduino kart arasında veri iletişim trafiği açılan ayrı bir pencerede görüntülenir. Seri çizici (Serial plotter): Bir değerin grafik görüntüsü alınır. Wifi101 Firmware Uploader: Wifi101 modülü için ayar ve güncelleme yapar Kart (Board): Kullanılan arduino kart türü (uno, nano… vb) şeçilir. (Kart türü seçilmez ise program yüklemesi yapılamaz) Port: Arduino kartın bilgisayardaki hangi usb porta takıldığı belirtilmeli. Get board info: Kullanılmakta olan kart bilgisi alınır. Programlayıcı (Programmer): Ardunuio IDE harici bir programlayıcı kullanılacaksa mouse üzerine getirilerek açılan listeden seçim yapılır. Önyükleyiciyi yazdır (Burn bootloader): Arduino kartlarda kullanılmakta olan ATmega mikrodenetleyicilerde hazır bulunan önyükleme kodlarının, arduino kart üzerine yeni bir mikrodenetleyici entegre edilmesi durumunda yükleme yapmasını sağlar.MR YARDIM (HELP) Bilgisayar bağlantısı, kart seçimi, ArduinoIDE kullanımı, sorun giderme, komutlar, fonksiyonlar, değişken tipleri, operatörler vd burada açıklanmıştır.

Upload: others

Post on 27-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

1)KODLAMA İÇİN “ARDUINO∞IDE” PROGRAM KURULUMU

(windows için)MR

1) www.arduino.cc/en/Main/Software

Adresinde arduino kurulum sayfası açılır.

2) “Download the Arduino Software” butonu tıklanır.

3) Arduino nun güncel sürümlerinden birisi tercih edilerek ekrandaki butonu tıklanır. (örnek: Arduino1.6.13 gibi)

4) “Support the Arduino Software” başlıklı Arduino dayanışma

sayfasında “destek bağışı yapıp indirme” veya “yardım yapmaksızın indirme” seçeneklerinden birisi tercih edilerek butonu tıklanır.

“CONTRUBUTE & DOWNLOAD” veya “JUST DOWNLOAD”

5) “Arduino Setup: License Agreement” yani lisans sözleşmesi penceresi yükleme süreci tamamlandığında açılır. “I Agree” butonu

tıklanarak onaylanır.

6) “Arduino Setup: İnstallation Options” Penceresinde tüm componentler işaretlenerek “Next” butonu tıklanır.

7) “Arduino Setup: İnstallation Folder” Penceresinde “Browse”

butonundan dosyaların kayıt edileceği bellek alanı seçilir ve “Install” butonu tıklanarak dosyaların bilgisayarınıza indirilmesi-kaydedilmesi

beklenir.

8) “Arduino Setup: Completed” Penceresinde “Close” butonu tıklanarak kurulum tamamlanır.

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

Sketch 1│Arduino 1.6.13

Dosya Düzenle Taslak Yardım

Sketch 1

#include……?. #define…..? ………….? void setup () { // başlangıç kodları yazılacak, kodların okunması için gereken öncüller girilir. } void loop () { // burada ana kodlar yazılacak, döngüsel işlemleri içeren işlev kodları. }

Arduino Nano ATmega328 MR on COM3

Program detayları ve hata bildirim ekranı.

ARDUİNO IDE KISAYOL BUTONLARI

Kontrol et: Yazılan kodlardaki hataları tespit eder.

Yükle: Yazılan kodları önce denetler sonra Arduino karta yükler.

Yeni: Yeni bir kodlama için yeni çalışma sayfası (sketch) açar.

Aç: Daha önce hazırlanmış çalışma sayfası (sketch) açılır.

“ARDUINO∞IDE” KULLANIMI

Arduino IDE programının ekran görüntüsü aşağıdaki gibidir. Bu program penceresi; KOD YAZMA→DERLEME→KODLARI MİKRODENETLEYİCİYE YÜKLEME→PROGRAMI ÇALIŞTIRMA işlemlerini kolaylaştırmaktadır.

Kaydet: Yazılmakta olan çalışma sayfası (sketch) kaydedilir.

Seri Port Ekranı: Yazılmakta olan kodların işlemleri, sonuçları anlık olarak bu pencereden takip edilebilir. Arduino kart ile bilgisayarınız arasında direkt bir iletişim sağlamış olursunuz.

Araçlar

2) ARDUİNO IDE MENÜLERİ

DOSYA (FİLE)

Yeni (New): Program yazmak için yeni sketch-sayfa açar.

Aç (Open): Önceden yazılmış, kaydedilmiş sketch`leri açar.

Sunucuyu Aç (Open Recent): Sketch`leri kronolojik sıralar.

Taslak Defteri (Sketchbook): Klasördeki sketch`leri listeler.

Örnekler (Examples): Örnek uygulama listesi.

Kapat (Close): Sketch`i kapatır.

Kaydet (Save): Sketch`i kaydeder.

Farklı Kaydet (Save As): Sketch`in kayıt adını ve yerini farklı yapar.

Sayfa Ayarları (Page Setup): Yazıcı sayfa ayarları.

Yazdır (Printer): Sketch`i yazdırır.

Tercihler (Preferences): IDE uygulama sayfa ayarları değiştirilebilir.

Çıkış (Out): Açık olan tüm sketch`lerden çıkar.

DÜZENLE (EDİT) MR

Geri/Tekrar (Undo/Redo): Yapılan işlemleri geri alır veya bırakır.

Kes (Cut): Seçili komut satırını keser.

Kopyala (Copy): Ofis metni olarak kopyalar.

Forum için kopyala (Copy for forum): Forumlarda paylaşım formatında.

HTML olarak kopyala (Copy as HTML):Webde paylaşım formatında.

Yapıştır (Paste): Kopyalanmış sketch satırlarını seçili yere yapıştırır.

Tümünü seç (Select All): Sketch`teki komut satırlarını seçer.

Satıra Git (Go to line): İlgili sketch satırını yeni bir pencerede açar.

Yorum yap/kaldır (Comment/Uncomment): // komutunu ekler kaldırır.

Girintiyi artır (İncrease indent): Satırı kenardan uzaklaştırır.

Girintiyi azalt (Decrease indent): Satırı kenara yakınlaştırır.

Bul (Find): Sketch`teki ifadeler arası arama yapar.

TASLAK (SKETCH)

Doğrula/Derle (Verify/Compile): Sketch`teki kodları doğrular ve derler.

(kodları kontrol ettikten sonra hexadesimal tabana dönüştürür) MR

Yükle (Upload): Program kodlarını önce derler sonra arduino`ya yükler.

(derlerken hexadesimal tabana, yüklerken binary tabana dönüşüm gerçekleşir.)

Programlayıcıyı kullanarak yükle (Upload using programmer): Harici bir programlayıcı kullanarak programlama yapılmasını sağlar.

(Bu Bootloader olmadan belleğin tümünü kullanmaya yarar)

Derlenmiş Binary`i çıkar (Export copiled binary): Derlenmiş (.hex

uzantılı) dosya arşivlenir.

Çalışma klasörünü göster (Show scetch folder): Kayıt klasörü görülür.

Library ekle (İnclude Library): Kitaplıktaki dosyalardan aktarma yapar.

Dosya ekle (Add file): Farklı bir klasörden sketch dosyası ekler.

ARAÇLAR (TOOLS)

Otomatik biçimlendir (Auto format): Program kodlarını düzenler.

Taslağı arşivle (Show scetch folder): Sketch`i zip olarak arşivler. Karakter kodlamasını düzelt & Tekrar yükle (Fix encoding & Reload):

Diğer işletim sistemleri ile arasındaki karakter kodlama haritası ayrımını giderir.

Seri port ekranı (Serial monitor): Bilgisayar ile arduino kart arasında

veri iletişim trafiği açılan ayrı bir pencerede görüntülenir.

Seri çizici (Serial plotter): Bir değerin grafik görüntüsü alınır.

Wifi101 Firmware Uploader: Wifi101 modülü için ayar ve güncelleme yapar

Kart (Board): Kullanılan arduino kart türü (uno, nano… vb) şeçilir.

(Kart türü seçilmez ise program yüklemesi yapılamaz)

Port: Arduino kartın bilgisayardaki hangi usb porta takıldığı belirtilmeli.

Get board info: Kullanılmakta olan kart bilgisi alınır.

Programlayıcı (Programmer): Ardunuio IDE harici bir programlayıcı

kullanılacaksa mouse üzerine getirilerek açılan listeden seçim yapılır.

Önyükleyiciyi yazdır (Burn bootloader): Arduino kartlarda

kullanılmakta olan ATmega mikrodenetleyicilerde hazır bulunan

önyükleme kodlarının, arduino kart üzerine yeni bir mikrodenetleyici

entegre edilmesi durumunda yükleme yapmasını sağlar.MR

YARDIM (HELP)

Bilgisayar bağlantısı, kart seçimi, ArduinoIDE kullanımı, sorun

giderme, komutlar, fonksiyonlar, değişken tipleri, operatörler vd burada

açıklanmıştır.

Page 2: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

C PROGRAM DİLİ TEMEL KOMUTLAR #include Kitaplıktaki dosyalardan aktarma yapar.(İnclude Library)

#define Bir değişkeni sabit bir değerle tanımlamayı sağlar.

Örnek:#define pi 3,14 //Pi sayısı 3,14 le eşleştirildi.

Serial.begin( )

Serial ifadesi mikrodenetleyici ile iletişimi ifade eder. Noktadan sonra yazılan begin ifadesi ise başlangıç ayarları yani iletişim hızını belirler.

Serial.print( ) Parantez içerisinde yazılan ifade ve ya fonksiyon ürününü ekrana yazdırır.

Serial.println() Parantez içerisinde yazılan ifade ve ya fonksiyon ürününü ekrana yazdırır. (Ve satırı kapatır.)

“ ” Çift tırnak arasındaki ifadeler olduğu gibi ekranda yazdırılır. İşlev olarak değerlendirilmez.

;

Her komut ve fonksiyonun sonuna noktalı virgül konulur. Böylece yerine getirilmesi gereken işlev belirtilmiş olur. Örnek: Selam SNAL Makers, ifadesini tekrarlayarak altalta yazdırmak ve herbiri arasında 1000 milisaniyelik gecikme olsun istiyorsanız aşağıdaki gibi kodlanır: Serial.println(“Selam SNAL Makers”); delay(1000);

{ }

Kıvrımlı parantez içerisine birçok komut yazılarak bu aralıktaki komutların birlikte çalıştırılması sağlanır. Komut yığınını blok haline getirir, paketler MR

//

Kod satırında, kod bitimi ile açıklama metni arasına konur. Bu karakterden sonra yazılanların kod olmadığını gösterir. Açıklama bir satıra sığmıyorsa aşağıdaki karakter takımı kullanılır.

/* */ Açıklama bir satıra sığmıyorsa kod bitiminden sonra yandaki karakter takımının arasında açıklama yazılır.

Örnek: Void setup() {

Serial.begin(9600);//Açıklama: iletişim hızını belirttik. } Void loop() {

Serial.println(“Selam SNAL Makers”); /*Açıklama: Selam SNAL Makers ifadesi

ekranda alt alta yazdırılacak*/

delay(1000); //Açıklama: Gecikme aralığı 1 saniye olacak. }

Matematiksel Operatörler

= Atama operatörü. Bir değişkeni bir değere veya değişkene atar.

+ Toplama operatörü.

- Çıkarma operatörü.

* Çarpma operatörü.

/

Bölme operatörü. Sonucun tam sayı kısmını verir. (Ondalıklı kısmı görebilmek için buna uygun değişken tanımı yapmak gerekir.)

% Mod (kalan) operatörü. Bölmenin sadece kalanını verir.

Örnek: MR

Void setup() {

Serial.begin(9600); }

Void loop() {

İnt g =10; int F =30; int FS =5; int M =10; int m =5; İnt T;//değişkenler tanımlandı

T = m*((F-FS)/(M+m))+m*g;// T ip gerilimi bir fonksiyona atandı }

== Eşitmidir Operatörü? (Olumlu(1) veya olumsuz(0) olarak yanıtlanır) != Eşit değilmidir Operatörü? (Olumlu(1) olumsuz(0) olarak yanıtlanır.) < Küçükmüdür Operatörü? (Olumlu(1) olumsuz(0) olarak yanıtlanır.) > Büyükmüdür Operatörü? (Olumlu(1) olumsuz(0) olarak yanıtlanır.)

<= Küçük veya eşitmidir Operatörü? (Olumlu(1) olumsuz(0) yanıtlanır.)

>= Büyük veya eşitmidir Operatörü? (Olumlu(1) olumsuz(0) yanıtlanır.)

Tamsayı Değişkenler

byte 0 ≤ byte < 28= 256 tanım aralığında.

word 0 ≤ Word=2byte < 216= 65536 tanım aralığında.

short -32768 ≤ short=2byte < 32768=(216= 65536)/2 tanım aralığında.

int -(232/2) ≤ int=4byte < (232/2) tanım aralığında.

long -(264/2) ≤ long=8byte < (264/2) tanım aralığında.

Ondalıklı Değişkenler

float -(232/2) ≤float=4byte < (232/2) tanım aralığında. double -(264/2) ≤double=8byte < (264/2) tanım aralığında.

Karakter Değişkenler

char MR -(28= 256)/2 ≤ char=byte=1karakter < (28= 256)/2 tanım aralığında. string cahr lardan sicim oluşturur.(String x; x=”snal makers”; 11char oldu)

void Fonksiyonun geri değer döndürmemesini sağlar.

const Değişkene atanan değerin değiştirilememesini sağlar.

boolean 1 bitlik değişkenler tanımlar: x=1, y= true, z=false, t=HIGH, u=LOW…

değişken[] Köşeli parantez içi dizinin eleman sayısı verilir. Dizi 0.elemanla başlar

int Sınıf [100]=0,1,2,…..99; // 99 a dek tanımlı 100 elemanlı bir dizi.

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

Boolean Operatörler

&&

And(ve) operatörü. Gerek koşulların ikiside sağlanırsa olumlu karşılık verir.

x and y çıktı

0 && 0 0

0 && 1 0

1 && 0 0

1 && 1 1

||

Or (veya) operatörü. Yeter koşullardan biri sağlanırsa olumlu karşılık verir

x or y çıktı

0 || 0 0

0 || 1 1

1 || 0 1

1 || 1 1

!

Not (değil) operatörü. Sorgulama yok. Sonucun tersini çıktı verir.

x not çıktı

0 ! 1

1 ! 0

Karar Yapıları MR

if(koşul) {

işlemA; işlemB; } işlemC;

İf ifadesinin yanındaki parantezde ( ) koşul belirtilir.

Koşul sağlanırsa { } arasında kalan A,B işlemleri ve

sonrası sıra ile gerçekleştirilir. Koşul sağlanmaz ise direkt C işlemine geçilir ve oradan devam edilir.

if(koşul) {

işlemA; işlemB; }

else {

işlemC; işlemD; } işlemE;

İf ifadesinin yanındaki parantezde ( ) koşul belirtilir.

Koşul sağlanırsa { } arasında kalan A,B işlemleri

gerçekleştirilip E işleminden devam edilir. Koşul sağlanmaz ise direkt else ifadesinin

parantezindeki { } C,D işlemleri gerçekleştirilip E

işleminden devam edilir.

Örnek: byte sayı = 0 byte kalan = 0 Void setup() { Serial.begin (9600); } Void loop() { Serial.print(sayi);

kalan = sayi%2; if (sayi ==137) sayi=0; if (kalan==0) serial.println(“çift sayi”); else serial.println(“tek sayi”); sayi = sayi +1; delay(666); }

Yandaki uygulama; 0 dan başlayarak 137 sayısına kadar sayıların çift veya tek olup olmadıklarını 2 ye bölümlerinden kalana bakarak test edip sonuçları ekranda alt alta veren bir programdır.

if(koşul1) işlemA;

else if(koşul2) işlemB; else if(koşul3) işlemC;

else işlemD;

işlemE;

İf ve else if ifadelerinin yanında parantezde

() belirtilen koşullar sağlanırsa yanındaki

işlem gerçekleştirilip E işlemine geçilir. Koşullar sağlanmaz ise else işlemD işlemi gerçekleştirilip E işleminden devam edilir.

Örnek:

byte sayı = 0 byte kalan_13, kalan_33; Void setup() { Serial.begin (9600); } Void loop() {

if (sayi ==137) sayi=0; kalan_13= sayi%13; kalan_33= sayi%33;

Serial.print (sayi);

else if (kalan_13==0) serial.println(“13 e bölünür”); else if (kalan_33==0) serial.println(“33 e bölünür”); serial.println(“13 ve33 bölünmez”); sayi = sayi +1; delay(1033); }

Yandaki uygulama; 0 dan başlayarak 137 sayısına kadar sayıların 13 ve 33 e bölünürlüğünü test eder.

switch(değişken) {

case değer1: işlemA; break; case değer2: işlemB; break; case değer3: işlemC; break; default: işlemD; } işlemE;

Switch bir değişken tanımlar. Case ler değerlerin tanımlı switch değişkenine eşit olup olmadığına bakar. Değişken hangi case de eşit çıktıysa yanındaki işlem ve ya işlemleri gerçekleştirir ve takip eden break komutu ile döngü dışına çıkılıp işlem E den devam edilir. Break komutu araya konulmamış ise sıradaki case de karşılaştırmaya dahil olacaktır. Eşitlik bulunamaz ise bir sonraki case e geçilir. Hiçbir case ile eşleşme olmaz ise default: işlemD; gerçekleştirilip işlemE den devam edilir.

Örnek: int sayı = 0 int kalan = 0 Void setup() { Serial.begin (9600); } Void loop() { Serial.print(sayi); kalan = sayi%2;

switch(kalan) { case0: serial.println(“çift sayi”); break; case1: serial.println(“tek sayi”); break; default: serial.println(“hata”); }

sayi++; delay(1013); if (sayi ==137) sayi=0; }

Üsteki uygulama;137 ye kadar olan sayıların tek veya çift olduğunu belirler

if (koşul) go to …

Koşul sağlanırsa go to dan sonra yazılan etiketli işlem basamağına dönecek ve ya atlayacaktır.

Page 3: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

Döngüler

for (ilk değer MR; koşul;

artış miktarı){

işlemA; işlemB; } işlemC;

for () parantezi içerisinde başlangıç değeri koşul ve artış miktarı tek seferde tanımlanır.

Koşul sağlanmaya devam ettiği sürece { }

parantezindeki A ve B işlemleri döngüsel olarak yapılmaya devam eder.Koşul dışına ulaşıldığında işlemC den devam eder.

while(koşul) {

işlemA; işlemB; } işlemC;

while (MR) parantezi içerisindeki koşul

sağlanmaya devam ettiği sürece { }

parantezindeki A ve B işlemleri döngüsel olarak yapılmaya devam eder. Koşul dışına ulaşıldığında işlemC den devam eder.

do {

işlemA; işlemB;

} while(koşul);

işlemC;

do { } parantezindeki A ve B işlemleri

döngüsel olarak yapılır. Ta ki while () parantezi içerisindeki koşul sağlansın. while () parantezi içerisindeki koşula ulaşıldığında işlemC den devam eder.

Void setup() { Serial.begin (9600); } Void loop() { for (byte sayı=0;sayı<=13;sayi++) { MR Serial.print(sayi); delay(1013); } serial.println(“SNAL”); delay(1013); }

int sonuc=1 Void setup() { Serial.begin (9600); } Void loop() { while (sonuç<1000) { Serial.println(sonuc); delay(1013); sonuç=13*sonuc; } serial.println(“SNAL”); delay(1013); }

unsigned int sonuc=1 Void setup() { Serial.begin (9600); } Void loop() { do { Serial.println(sonuc); delay(1013); sonuç=13*sonuc; } while (sonuç<1000); serial.println(“SNAL”); delay(1013); }

break

Döngü içerisinde bir önceki satırdaki koşul sağlanmadığı takdirde işlem sırası break komutuna gelir. Ve böylece sürecin döngü dışına yani break komutunun

içerisinde bulunduğu bloğun { } dışına çıkmasını sağlar.

continue Döngü içerisinde bir değerin atlanmasını sağlar.

map(x,a,z,𝛼,𝜓) X in değişim aralığı a-z iken 𝛼-𝜓 aralığına adapte eder.

Port Yönetimi: Dijital Giriş-Çıkış Komutları

(0-1 ile bir motoru, bir ledi açıp kapar)

pinMode (No,durum)

(,) parantezinde virgülden önce pin numarası, virgülden sonra bu pinin giriş veya çıkış olduğu belirtilir. (INPUT veya OUTPUT)

digitalRead(No);

INPUT olarak tanımlı pinlerde kullanılır. ( ) parantezinde numarası yazılı pinin açık yada kapalı olması durumu; 1 veya 0 ile yada HIGH veya LOW olarak bildirilir.

digitalWrite(No,durum)

OUTPUT olarak tanımlı pinlerde kullanılır. (,) parantezinde virgülden önce pin numarası, virgülden sonra bu pinin açık yada kapalı olması durumu; 1 veya 0 ile yada HIGH veya LOW ile tanımlanır.

Port Yönetimi:Analog Giriş-Çıkış Komutları

(açıp kapamanın ötesinde bir motorun hızını spesifik sayısal değerlerle belirleme analog pinlerde olasıdır) (~işaretli olanlar (PWM) analog çıkış olarak kullanılabilir. Arduino uno dijital pinlerden ~3, ~5, ~6, ~9, ~10, ~11 PWM dir. Yani analog sinyali taklit edebilir.)

analogRead(No)

map(x,a,z, 𝛼,𝜓) if, else if constrain(değer,alt,üst) kalibrasyon(5smin-max) düzeltme(setup{for…})

Arduino analog giriş sinyaller 10 bit yani 210=1024 sayısal değerine kadar ifade edilir. Arduino uno 0-5 volt aralığında çalışır Yani sözkonusu pinden gelen okuma değeri 1024 rakamına yaklaştıkça buradaki voltajın 5 V yaklaştığı sonucu çıkar. 512 sayısı 2,5V anlamında iken 1023 sayısı 5V anlamındadır.

analogWrite(No;değer)

Arduino analog çıkış sinyaller 8 bit yani 28=256 sayısal değerine kadar ifade edilir.

Zamanlama Komutları

milis(MR)

Arduinonun çalışmaya başladığı ilk andan itibaren ne kadar çalıştırıldığını milisaniye olarak ölçer. (yaklaşık 50 günde bir kendini sıfırlar)

micros()

Arduinonun herbir oturumunda ne kadar çalıştırıldığını mikrosaniye olarak ölçer. (yaklaşık 70dkda bir kendini sıfırlar)

delay() Öncesindeki komutu milisaniye mertebesinde işletir.

delayMicroseconds() Öncesindeki komutu mikrosaniye mertebesinde işletir.

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

M U S T A F A

R A B U S

BAŞLA

1.tercihi aynı olan öğrencileri say? MR

MAT …

fizik 1

İNG 1

Aynı 1.tercih sayısı

8 hayır

evet

1.tercihlerine yerleştir

6 kişi biyoloji yerleşti

4 kişi ingilizce

yerleşti

1.tercihe yerleşemeyenlerin 2.tercihlerini say?

BİY 13

KİM 7

İNG 2

2.tercihlerine yerleştir Aynı

2.tercih sayısı

8

hayır

evet

İlk Yerleşen sayısı MR

7 kişi kimya

yerleşti

2 kişi ingilizce

yerleşti

1 kişi MR TC İnk T

yerleşti

1 kişi fizik

yerleşti

3.tercihlerine yerleştir

1 kişi fizik MR

yerleşti

1 kişi ingilizce

yerleşti

Yerleşemeyenlerin 3.tercihlerini say?

Aynı 3.tercih sayısı

8 Önce

Yerleşen sayısı MR

hayır

evet

MAT 11

Hiçbir tercihe yerleşemeyenlerin ilk tercihleri ne?

hayır

Yerleşmeyen lerden daha

Önce matematik

projesi alanlar.

8

evet

1.tercihlerine yerleştir

7 kişi mat

yerleşti 4 kişi Yeniden

tercih yaptı

11-A SINIFI 2017-2018 YILI PROJE SEÇME ALGORİTMASI

MAT 24

BİY 6

İNG 4

Page 4: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

Buton ile Led Kontrolü Arduino Kodları

int ledpin =8; int butonpin =2; void setup() { PinMode (ledpin, OUTPUT); PinMode (butonpin, INPUT); } void loop() { int butondurum = digitalRead (butonpin); if (butondurum == LOW) digitalWrite (ledpin, HIGH); else digitalWrite (ledpin, LOW); }

Buton ile Led Kontrolü Algoritması

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

BUTON İLE LED KONTROLÜ ARDUİNO DEVRE ŞEMASI

Direnç

(10K Ω)

Led (625nm) Direnç

𝟏𝐊𝛀

𝟑= 𝟑𝟑𝟑 𝛀

Buton

1K Ω

1K Ω

1K Ω

Butona basılı mı?

evet

hayır

Ledi aç

Ledi kapat

BAŞLA

Page 5: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

int ledler[] = {3,4,5}; int led_sayisi = 3; int buton_pin = 2; int buton_deger = 0; int sayac = 0; void setup() { for (int i = 0 ; i < led_sayisi ; i++) { pinMode(ledler[i], OUTPUT); } pinMode(buton_pin, INPUT); } void loop() { buton_deger = digitalRead(buton_pin); if (buton_deger == HIGH) { for (int i = 0 ; i < led_sayisi ; i++) { if (sayac % led_sayisi == i) digitalWrite(ledler[i], HIGH); else digitalWrite(ledler[i], LOW); } sayac++; delay(366); }

}

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

BUTON İLE LEDLERİ SIRALI YAKMA ARDUİNO DEVRE ŞEMASI

Direnç

(10K Ω)

Led

Buton

Led Led

Page 6: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

Knightrider Arduino Kodları

int pin2 = 2; int pin3 = 3; int pin4 = 4; int pin5 = 5; int pin6 = 6; int pin7 = 7; int pin8 = 8; int pin9 = 9; int pin10 = 10; int pin11 = 11; int timer = 66;

void setup() {

pinmode (pin2, OUTPUT) pinmode (pin3, OUTPUT) pinmode (pin4, OUTPUT) pinmode (pin5, OUTPUT) pinmode (pin6, OUTPUT) pinmode (pin7, OUTPUT) pinmode (pin8, OUTPUT) pinmode (pin9, OUTPUT) pinmode (pin10, OUTPUT) pinmode (pin11, OUTPUT) }

void loop() { digitalWrite (pin2,HIGH); delay(timer); digitalWrite (pin2,LOW); delay(timer); digitalWrite (pin3,HIGH); delay(timer); digitalWrite (pin3,LOW); delay(timer);

digitalWrite (pin4HIGH); delay(timer); digitalWrite (pin4,LOW); delay(timer); digitalWrite (pin5,HIGH); delay(timer); digitalWrite (pin5,LOW); delay(timer); digitalWrite (pin6,HIGH); delay(timer); digitalWrite (pin6,LOW); delay(timer); digitalWrite (pin7,HIGH); delay(timer); digitalWrite (pin7,LOW); delay(timer); digitalWrite (pin8,HIGH); delay(timer); digitalWrite (pin8,LOW); delay(timer); digitalWrite (pin9,HIGH); delay(timer); digitalWrite (pin9,LOW); delay(timer); digitalWrite (pin10,HIGH); delay(timer); digitalWrite (pin10,LOW); delay(timer); digitalWrite (pin11,HIGH); delay(timer); digitalWrite (pin11,LOW); delay(timer);

digitalWrite (pin10,HIGH); delay(timer); digitalWrite (pin10,LOW); delay(timer);

digitalWrite (pin9,HIGH); delay(timer); digitalWrite (pin9,LOW); delay(timer);

digitalWrite (pin8,HIGH); delay(timer); digitalWrite (pin8,LOW); delay(timer);

digitalWrite (pin7,HIGH); delay(timer); digitalWrite (pin7,LOW); delay(timer); digitalWrite (pin6,HIGH); delay(timer); digitalWrite (pin6,LOW); delay(timer); digitalWrite (pin5,HIGH); delay(timer); digitalWrite (pin5,LOW); delay(timer) digitalWrite (pin4HIGH); delay(timer); digitalWrite (pin4,LOW); delay(timer);

digitalWrite (pin3,HIGH); delay(timer); digitalWrite (pin3,LOW); delay(timer); }

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

KNIGHTRIDER ARDUINO DEVRE ŞEMASI

Page 7: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

Potansiyometre ile Led Kontrolü Arduino

Kodları

int led =3; int pot =0; void setup() { PinMode (led, OUTPUT); PinMode (pot, INPUT); } void loop() { int analog = 0; analog = analogRead (pot); int olcekli = map (analog, 0, 1023, 0, 255); analogWrite (led, olcekli); }

Potansiyometre ile Led Kontrolü

Algoritması

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

POTANSİYOMETRE İLE LED KONTROLÜ ARDUINO DEVRE ŞEMASI

Led (625nm)

Direnç

𝟏𝐊𝛀

𝟑= 𝟑𝟑𝟑 𝛀

1K Ω

1K Ω

1K Ω

POTANSİYO METRE

(10K Ω)

Potansiyometreden gelen değeri

analog olarak oku.

BAŞLA

Analog giriş aralığını (0→1023)

Analog çıkış aralığına (0→255) uydur.

Bu dijital değerin Oransal karşılığını

voltaj olarak led e gönder

Page 8: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

float isik = 0; int karanlik = 50; void setup() { pinMode (2, OUTPUT); pinMode (A0, INPUT); } void loop() { isik = analogRead (A0); isik = 100-((isik/1023)*100); if (isik < karanlik){ digitalWrite (2, HIGH); delay (100); digitalWrite (2, LOW); delay (200); digitalWrite (2, HIGH); delay (300); digitalWrite (2, LOW); delay (400); digitalWrite (2, HIGH); delay (500); digitalWrite (2, LOW); delay (600); } else digitalWrite (2, LOW); }

NANO

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

~ ~ ~ ~ ~ ~

USB ICSB

LDR (10mm)

Buzzer (5V)

Direnç

(10K Ω)

IŞIĞA DUYARLI DİRENÇ (LDR) VE LAZER İLE HIRSIZ ALARMI

Page 9: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

int ses_sensoru = 13; int led = 12; int alkis = 0; long algilama_araligi_baslangic = 0; long algilama_araligi = 0; boolean isik_durumu = false; void setup() { pinMode(ses_sensoru, INPUT); pinMode(led, OUTPUT); } void loop() { int sensor_durumu = digitalRead(ses_sensoru); if (sensor_durumu == 0) { if (alkis == 0) { algilama_araligi_baslangic = algilama_araligi = millis(); alkis++; } else if (alkis > 0 && millis()-algilama_araligi >= 50) { algilama_araligi = millis(); alkis++; } } if (millis()-algilama_araligi_baslangic >= 400) { if (alkis == 2) { if (!isik_durumu) { isik_durumu = true; digitalWrite(led, HIGH); } else if (isik_durumu) { isik_durumu = false; digitalWrite(led, LOW); } } alkis = 0; } }

NANO

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

~ ~ ~ ~ ~ ~

USB ICSB

Microphone

Led (3V) Direnç

(250 Ω)

ÇİFT ALKIŞLA YANIP ÇİFT ALKIŞLA SÖNEN LED IŞIK

OUT GND

VCC

Page 10: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

boolean aktivite; void setup() { pinMode (3, OUTPUT); pinMode (13, INPUT); } void loop() { aktivite = digitalRead (13); if (aktivite == HIGH){ digitalWrite (3, HIGH); delay (500); digitalWrite (3, LOW); delay (200); digitalWrite (3, HIGH); delay (500); digitalWrite (3, LOW); delay (200); } if (aktivite == LOW) digitalWrite (13, LOW); }

NANO

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

~ ~ ~ ~ ~ ~

USB ICSB

PIR SENSOR

Buzzer (5V)

PIR SENSOR (hc-sr501) İLE SICAKKANLI HAREKET DEDEKTÖRÜ

GND OUT VCC

Page 11: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

#include <Servo.h> Servo myservo; int pos = 0; int led = 2; boolean aktivite; void setup() { pinMode (2, OUTPUT); pinMode (13, INPUT); myservo.attach(4); } void loop() { aktivite = digitalRead (13); if (aktivite == HIGH){ digitalWrite(led, HIGH); pos = 60; myservo.write(pos); delay(3000); pos = 30; myservo.write(pos); } if (aktivite == LOW){ myservo.write(pos); digitalWrite(led, LOW); } }

NANO

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

~ ~ ~ ~ ~ ~

USB ICSB

PIR SENSOR

(hc-sr501)

GND OUT VCC

SERVO (SG90)

GND

VCC IN

kırmızı led ≈ 2 volt + kırmızı led ≈ 2 volt

PIR SENSOR İLE HAREKET ALGILAYIP GÖZLERİ IŞILDAYAN VE SELAM VEREN MANKEN

Page 12: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

#define echoPin 12 #define trigPin 13 #define vibrPin 2 int maximumRange = 150; int minimumRange = 0; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(vibrPin, OUTPUT); } void loop() { int olcum = mesafe(maximumRange, minimumRange); melodi(olcum * 10); } int mesafe(int maxrange, int minrange) { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration / 58.2; delay(50); if (distance >= maxrange || distance <= minrange) return 0; return distance; } int melodi(int dly) { tone(vibrPin, 440); delay(dly); noTone(vibrPin); delay(dly); }

NANO

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 ~ ~ ~ ~ ~ ~

USB ICSB

Buzzer (5V)

ULTRASONİK SENSÖR (hc-sr04) İLE CİSİM RADARI

ULTRASONIC SENSOR

GND

ECHO

VCC TRİG

Page 13: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

#include <LiquidCrystal.h> LiquidCrystal lcd (9, 8, 5, 4, 3, 2);//9:RS,8:E,5:4,4:5,3:6,2:7 int trig_pin = 13; int echo_pin = 12; long sure = 0, erim = 0; void setup() { lcd.begin (16, 2); pinMode (trig_pin, OUTPUT); pinMode (echo_pin, INPUT); } void loop() { digitalWrite (trig_pin, LOW); delayMicroseconds (5); digitalWrite (trig_pin, HIGH); delayMicroseconds (10); digitalWrite (trig_pin, LOW); sure = pulseIn (echo_pin, HIGH); erim = sure / 58.2; lcd.setCursor (0,0); lcd.print ("ERIM: "); lcd.setCursor (0,1); lcd.print (erim); lcd.println (" cm"); delay (200); lcd.clear(); }

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

POTANSİYO METRE

(10K Ω)

ULTRASONİK SENSÖR (hc-sr04) İLE UZAKLIK ÖLÇÜMÜ

VSS VDD V0 RS RW E

ERIM:

466 cm

D0 D1 D2 D3 D4 D5 D6 D7 A K

LCD (2X16)

~ 9 8 ~

5 4 ~ 3 2

13

ULTRASONIC SENSOR

GND ECHO

VCC TRİG

12

Page 14: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

#include <LiquidCrystal.h> LiquidCrystal lcd (9, 8, 5, 4, 3, 2);//9:RS,8:E,5:4,4:5,3:6,2:7 int trig_pin = 13; int echo_pin = 12; long sure = 0, erim1 = 0, erim2 = 0, hiz = 0; void setup() { lcd.begin (16, 2); pinMode (trig_pin, OUTPUT); pinMode (echo_pin, INPUT); } void loop() { digitalWrite (trig_pin, LOW); delayMicroseconds (5); digitalWrite (trig_pin, HIGH); delayMicroseconds (10); digitalWrite (trig_pin, LOW); sure = pulseIn (echo_pin, HIGH); erim1 = sure / 58.2; delay (250); digitalWrite (trig_pin, LOW); delayMicroseconds (5); digitalWrite (trig_pin, HIGH); delayMicroseconds (10); digitalWrite (trig_pin, LOW); sure = pulseIn (echo_pin, HIGH); erim2 = sure / 58.2; hiz = erim1-erim2; lcd.setCursor (0,0); lcd.print ("CISIM HIZI: "); lcd.setCursor (0,1); lcd.print (hiz); lcd.println (" cm/s"); }

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

POTANSİYO METRE

(10K Ω)

ULTRASONİK SENSÖR (hc-sr04) İLE HIZ ÖLÇÜMÜ

VSS VDD V0 RS RW E

HIZ:

33 cm/s

D0 D1 D2 D3 D4 D5 D6 D7 A K

LCD (2X16)

~ 9 8 ~

5 4 ~ 3 2

13

ULTRASONIC SENSOR

GND ECHO

VCC TRİG

12

Page 15: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

#include <LiquidCrystal.h> LiquidCrystal lcd (9, 8, 5, 4, 3, 2);//9:RS,8:E,5:4,4:5,3:6,2:7 float olcum; float isik; void setup() { lcd.begin (16, 2); } void loop() { olcum = analogRead (A0); isik = (olcum/1023)*5000; isik = 100-isik/50; lcd.setCursor (0,0); lcd.print ("ISIK: "); lcd.setCursor (0,1); lcd.print ((int) isik); lcd.print (" %aydinlik"); delay (1000); lcd.clear(); }

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

IŞIĞA DUYARLI DİRENÇ (LDR) İLE IŞIK DÜZEYİ ÖLÇÜMÜ

Direnç (10K Ω)

LDR (10mm)

POTANSİYO METRE

(10K Ω)

VSS VDD V0 RS RW E

ISIK:

66 %aydinlik

D0 D1 D2 D3 D4 D5 D6 D7 A K

LCD (2X16)

~ 9 8 ~

5 4 ~ 3 2

A0

Page 16: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

float olcum; float sicaklikC; float sicaklikK; float sicaklikF; int analogPin = A0; void setup() { Serial.begin(9600); } void loop() { olcum = analogRead(analogPin); olcum = (olcum/1023)*5000; sicaklikC = olcum / 10.0; sicaklikK = (olcum / 10.0 ) + 273; sicaklikF = ((olcum / 10.0 )/100)*180 + 32; Serial.print("sicaklikC:"); Serial.print(sicaklikC); Serial.println(" derece C"); delay(500); Serial.print("sicaklikK:"); Serial.print(sicaklikK); Serial.println(" derece K"); delay(500); Serial.print("sicaklikF:"); Serial.print(sicaklikF); Serial.println(" derece F"); delay(3000); }

TX RX SDA GND

2 3 4 5 6 7 8 9 10 11 12 ~ ~ ~ ~ ~ ~

VIN GND 5V A5 A4 A3 A2 A1 A0

AREF

3V3

13

RES

0 1

UNO

USB

POWER IN

SCL

GND 5V

POWER ANALOG IN

DIGITAL and PMW (~) IN

ICSB

SICAKLIĞA DUYARLI TRANSİSTÖR (LM-35) İLE SICAKLIK ÖLÇÜMÜ

POTANSİYO METRE

(10K Ω)

VSS VDD V0 RS RW E

SICAKLIK:

20 derece C

D0 D1 D2 D3 D4 D5 D6 D7 A K

LCD (2X16)

~ 9 8 ~

5 4 ~ 3 2

A0

LM-35

SICAKLIK:

293 derece K

SICAKLIK:

68 derece F

Page 17: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

M U S

T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S M U S T A F A R A B U S

usigneg long t[100]; usigneg long T[100]; float g[100]; float I; boolean k=0; int i; void setup() { Serial.begin (9600); } Void loop () { I =analogread (A0); I =(I/1023)*100;

İf (I<20) k=1; İf (I>=20 && k==1) { t[i]=millis(); T[i]=2*(t[i]-t[i-1]); g[i]=sq(2*3114.593/T[i])*0.21; Serial.print (“g= “); Serial.print (g[i]); Serial.println (“ m/s2“); i=i+1; k=0; } }

LDR (10mm) Lazer

NANO

TX1 RXD RST GND D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

VIN GND 5V A7 A6 A5 A4 A3 A2 A1 A0 AREF 3V3 D13 RST

~ ~ ~ ~ ~ ~

USB ICSB

Direnç (10K Ω)

Periyot: T= …Saniye Çekim Şiddeti: g = …m/s2

LDR SENSÖR İLE BASİT SARKAÇTA ÇEKİM ŞİDDETİNİN BULUNMASI

Page 18: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 1.HAFTA ÇALIŞMA FÖYÜLED İLE SOS SİNYALİ VERME

A) Donanım:1) LED kullanımı

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı.2) İletişim bloğu kullanımı. (output kullanımı)3) Kod bloğu kullanımı.

C) Arduino Kodları:1) digitalWrite(pin?, değer?) komutu kullanımı.2) delay komutu kullanımı.3) HIGH/LOW komutu kullanımı.

LED İLE SOS SİNYALİ VERME

int ledpin = 13;

void setup() {pinMode(ledpin, OUTPUT);}// the loop function runs over and over again forevervoid loop() {// SdigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(666); // wait for a 666 mili seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(666); // wait for a 666 mili seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second// OdigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(2000); // wait for a 2 seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(2000); // wait for a 2 seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(2000); // wait for a 2 seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second// SdigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(666); // wait for a 666 mili seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(666); // wait for 666 mili seconddigitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)delay(666); // wait for a 666 mili seconddigitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOWdelay(5000); // wait for a 5 second}

Page 19: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 2.HAFTA ÇALIŞMA FÖYÜKNIGHTRIDER KAZANIMLARI

A) Donanım:1) Jumper kullanımı.2) Protoboard kullanımı.3) Led kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı.(int değişkenler)2) İletişim bloğu kullanımı. (output kullanımı)3) Kod bloğu kullanımı.

C) Arduino Kodları:1) digitalWrite(pin?, değer?) komutu kullanımı.2) delay(değer?) komutu kullanımı.3) HIGH/LOW (pin?)komutu kullanımı.

KNIGHTRIDER KODLARIint pin2 = 2;int pin3 = 3;int pin4 = 4;int pin5 = 5;int pin6 = 6;int pin7 = 7;int pin8 = 8;int pin9 = 9;int pin10 = 10;int pin11 = 11;int timer = 66;

void setup(){ pinMode(pin2, OUTPUT); pinMode(pin3, OUTPUT); pinMode(pin4, OUTPUT); pinMode(pin5, OUTPUT); pinMode(pin6, OUTPUT); pinMode(pin7, OUTPUT); pinMode(pin8, OUTPUT); pinMode(pin9, OUTPUT); pinMode(pin10, OUTPUT); pinMode(pin11, OUTPUT);}

void loop() { digitalWrite(pin2, HIGH); delay(timer); digitalWrite(pin2, LOW); delay(timer);

digitalWrite(pin3, HIGH); delay(timer); digitalWrite(pin3, LOW); delay(timer);

digitalWrite(pin4, HIGH); delay(timer); digitalWrite(pin4, LOW); delay(timer);

digitalWrite(pin5, HIGH); delay(timer); digitalWrite(pin5, LOW); delay(timer);

digitalWrite(pin6, HIGH); delay(timer); digitalWrite(pin6, LOW); delay(timer);

digitalWrite(pin7, HIGH); delay(timer); digitalWrite(pin7, LOW); delay(timer);

digitalWrite(pin8, HIGH); delay(timer); digitalWrite(pin8, LOW); delay(timer);

digitalWrite(pin9, HIGH); delay(timer); digitalWrite(pin9, LOW); delay(timer);

digitalWrite(pin10, HIGH); delay(timer); digitalWrite(pin10, LOW); delay(timer);

digitalWrite(pin11, HIGH); delay(timer); digitalWrite(pin11, LOW); delay(timer);

digitalWrite(pin10, HIGH); delay(timer); digitalWrite(pin10, LOW); delay(timer); digitalWrite(pin9, HIGH); delay(timer); digitalWrite(pin9, LOW); delay(timer);

digitalWrite(pin8, HIGH); delay(timer); digitalWrite(pin8, LOW); delay(timer);

digitalWrite(pin7, HIGH); delay(timer); digitalWrite(pin7, LOW); delay(timer);

digitalWrite(pin6, HIGH); delay(timer); digitalWrite(pin6, LOW); delay(timer);

digitalWrite(pin5, HIGH); delay(timer); digitalWrite(pin5, LOW); delay(timer);

digitalWrite(pin4, HIGH); delay(timer); digitalWrite(pin4, LOW); delay(timer);

digitalWrite(pin3, HIGH); delay(timer); digitalWrite(pin3, LOW); delay(timer);}

Page 20: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 3.HAFTA ÇALIŞMA FÖYÜPOTANSİYOMETRE İLE IŞIK ŞİDDETİ AYARLAMASI

A) Donanım:1) Potansiyometre kullanımı.2) Led kullanımı.3) Protoboard kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int değişkenler)2) İletişim bloğu kullanımı. pinMode(led,İnput/output) kullanımı3) Kod bloğu kullanımı.

C) Arduino Kodları:1) analogRead(pin?) komutu kullanımı.2) analogWrite(pin?, değer?) komutu kullanımı.3) map (X,a,z,α,ω) komutu kullanımı.

POTANSİYOMETRE İLE IŞIK ŞİDDETİ AYARLAMA KODLARI

int led=3;int pot=0;

void setup() { pinMode(led,OUTPUT); pinMode(pot,INPUT);} void loop() {int analog = 0;analog = analogRead (pot);int olcekli = map (analog, 0,1023,0,255);analogWrite(led,olcekli);}

Page 21: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 4.HAFTA ÇALIŞMA FÖYÜBUTON İLE LED AÇIP KAPAMA

A) Donanım:1) Buton kullanımı.2) Led kullanımı.3) Protoboard kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int değişkenler ve [ ] ile dizi tanımlama)2) İletişim bloğu kullanımı. pinMode(led,İnput/output) kullanımı3) Kod bloğu kullanımı.

C) Arduino Kodları:1) for (int i = 0 ; i < led_sayisi ; i++) komutu kullanımı.2) digitalWrite(ledler[i], HIGH)3) if - else komutu kullanımı.

BUTON İLE LED AÇIP KAPAMA KODLARIint ledler[] = {3, 4, 5};int led_sayisi = 3;int buton_pin = 2;int buton_deger = 0;int sayac = 0;

void setup(){for (int i = 0 ; i < led_sayisi ; i++){pinMode(ledler[i], OUTPUT);}pinMode(buton_pin, INPUT);}

void loop(){buton_deger = digitalRead(buton_pin);if (buton_deger == HIGH){for (int i = 0 ; i < led_sayisi ; i++){if (sayac % led_sayisi == i) digitalWrite(ledler[i], HIGH);else digitalWrite(ledler[i], LOW);}sayac++;delay(366);}}

Page 22: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 5.HAFTA ÇALIŞMA FÖYÜLDR SENSOR-BUZZER KAZANIMLARI

A) Donanım:1) LDR kullanımı.2) Modülsüz sensörler için direnç kapısı kullanımı.3) Buzzer kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int-float değişkenler)2) İletişim bloğu kullanımı. (İnput/output kullanımı)3) Kod bloğu kullanımı.

C) Arduino Kodları:1) digitalWrite-delay-HIGH/LOW komutları kullanımı.2) map (X,a,z,α,ω) komutu kullanımı.3) if - else komutu kullanımı.

LDR SENSOR-BUZZER KODLARI

float isik = 0;int karanlik = 50;

void setup() {pinMode (2, OUTPUT);pinMode (A0, INPUT);}

void loop() {isik = analogRead (A0);isik = 100-((isik/1023)*100);if (isik < karanlik){digitalWrite (2, HIGH);delay (100);digitalWrite (2, LOW);delay (200);digitalWrite (2, HIGH);delay (300);digitalWrite (2, LOW);delay (400);digitalWrite (2, HIGH);delay (500);digitalWrite (2, LOW);delay (600);}elsedigitalWrite (2, LOW);}

Page 23: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 6.HAFTA ÇALIŞMA FÖYÜLDR VE LED İLE IŞIK ŞİDDETİ GÖSTERGESİ

A) Donanım:1) LDR kullanımı.2) Modülsüz sensörler için direnç kapısı kullanımı.3) Led kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int-float değişkenler)2) İletişim bloğu kullanımı. [pinMode(pin?,OUTPUT?INPUT) kullanımı]3) Kod bloğu kullanımı.

C) Arduino Kodları:1) digitalWrite(pin?, değer?)-delay(değer?)-HIGH/LOW komutları kullanımı.2) map (X,a,z,α,ω) komutu kullanımı.3) if komutu kullanımı.

LDR VE LED İLE IŞIK ŞİDDETİ GÖSTERGESİ KODLARIfloat ISIK;float olcum = A0;int pin2 = 2;int pin4 = 4;int pin6 = 6;int pin8 = 8;int pin10 = 10;

void setup() { pinMode(A0, INPUT); pinMode(pin2, OUTPUT); pinMode(pin4, OUTPUT); pinMode(pin6, OUTPUT); pinMode(pin8, OUTPUT); pinMode(pin10, OUTPUT);}

void loop() {ISIK = analogRead(olcum);ISIK = map(ISIK, 0, 1023, 100,0);if (ISIK <= 20) digitalWrite (2, HIGH);digitalWrite (2, LOW);if (ISIK > 20 && ISIK <= 40 ) digitalWrite (2, HIGH), digitalWrite (4, HIGH);digitalWrite (2, LOW),digitalWrite (4, LOW);if (ISIK > 40 && ISIK <= 60) digitalWrite (2, HIGH), digitalWrite (4, HIGH), digitalWrite (6, HIGH);digitalWrite (2, LOW), digitalWrite (4, LOW), digitalWrite (6, LOW);if (ISIK > 60 && ISIK <= 80) digitalWrite (2, HIGH), digitalWrite (4, HIGH), digitalWrite (6, HIGH), digitalWrite (8, HIGH);digitalWrite (2, LOW), digitalWrite (4, LOW), digitalWrite (6, LOW), digitalWrite (8, LOW);if (ISIK > 80 && ISIK <= 100) digitalWrite (2, HIGH), digitalWrite (4, HIGH), digitalWrite (6, HIGH), digitalWrite (8, HIGH), digitalWrite (10, HIGH);digitalWrite (2, LOW), digitalWrite (4, LOW), digitalWrite (6, LOW), digitalWrite (8, LOW),digitalWrite (10, LOW);}

Page 24: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 7.HAFTA ÇALIŞMA FÖYÜSES SENSÖRÜ İLE LED YAKMA

A) Donanım:1) Ses sensörü kullanımı2) LDR kullanımı.3) Modülsüz sensörler için direnç kapısı kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int dizi [a,b,c,....] değişkenler)2) İletişim bloğu kullanımı. for(...;...;i++) kullanımı.3) Kod bloğu kullanımı.

B) Arduino Kodları:1) for(...;...;i++) ve i-sayaç kullanımı.2) digitalWrite(pin?, değer?), digitalRead(pin?) komutları kullanımı.3) if-else, delay, komutu kullanımı.

SES SENSÖRÜ İLE LED NUMARATÖR

int ledler[] = {3,6,8,10,12}; //LEDLER DİZİ OLARAK PİNLERLE İLİŞKİLENDİRİLDİint led_numarasi = 5; //TOPLAM LED SAYISI BELİRTİLDİint sensor = 2; //SENSÖRÜN BAĞLI OLDUĞU PİN BELİRTİLDİint alkis = 0; //ALKIŞ SAYISINI İFADE EDEN DEĞİŞKEN 0 BAŞLNAGIÇ DEĞERİNE ATANDIint sayac = 0; //SAYIM NUMARASINI İFADE EDEN DEĞİŞKEN 0 BAŞLNAGIÇ DEĞERİNE ATANDI

void setup(){for (int i = 0 ; i < led_numarasi ; i++) //i DEĞİŞKENİ TANIMLANIP LED NUMARASINDAN KÜÇÜKSE i BİR ARTIRALACAK{pinMode(ledler[i], OUTPUT); //i ÇIKIŞ}pinMode(sensor, INPUT); //SENSOR GİRİŞ}

void loop(){alkis = digitalRead(sensor); //ALKIŞ SENSORDEN YAPILAN OKUMAYA EŞİTLENDİif (alkis == HIGH) //EĞER SENSÖRDEN VERİ GELİYORSA{for (int i = 0 ; i < led_numarasi ; i++) //BİRKEZ DAHA i DEĞİŞKENİ TANIMLANIP LED NUMARASINDAN KÜÇÜKSE i BİR ARTIRALACAK{if (sayac%led_numarasi == i) digitalWrite(ledler[i], HIGH); /*SAYAÇ NUMARASI İLE LED NUMARASI BÖLÜMÜNDEN KALAN i DEĞİŞKENİNE EŞİTSE i NUMARALI LEDİ YAK*/else digitalWrite(ledler[i], LOW);//DEĞİLSE LEDLERİ SÖNDÜR.}sayac++; //SAYACI BİR ARTIRdelay(13); //13 MİLİSANİYE BEKLE}}

Page 25: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 8.HAFTA ÇALIŞMA FÖYÜSES SENSÖRÜ VE "milis" İLE LED AÇIP KAPAMA

A) Donanım:1) Ses sensörü kullanımı2) Led kullanımı.3) Protoboard kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (bloolean ve long değişkenler)2) İletişim bloğu kullanımı. (pinMode)3) Kod bloğu kullanımı.

B) Arduino Kodları:1) millis() kullanımı.2) digitalWrite(pin?, değer?), digitalRead(...) kullanımı.3) if-else, delay, kullanımı.

SES SENSÖRÜ VE "milis" İLE LED AÇIP KAPAMA KODLARIint ses_sensoru = 2;int led = 3;int alkis = 0;long algilama_araligi_baslangic = 0;long algilama_araligi = 0;boolean isik_durumu = false; void setup() {pinMode(ses_sensoru, INPUT);pinMode(led, OUTPUT);} void loop() { int sensor_durumu = digitalRead(ses_sensoru); if (sensor_durumu == 0){if (alkis == 0){algilama_araligi_baslangic = algilama_araligi = millis();alkis++;}else if (alkis > 0 && millis()-algilama_araligi >= 50){algilama_araligi = millis();alkis++;}} if (millis()-algilama_araligi_baslangic >= 400){if (alkis == 2){if (!isik_durumu){isik_durumu = true;digitalWrite(led, HIGH);}else if (isik_durumu){isik_durumu = false;digitalWrite(led, LOW);}}alkis = 0;}}

Page 26: 1)KODLAMA İÇİN “ARDUINO IDE” PROGRAM KURULUMU 2) ARDUİNO … · ARDUİNO IDE KISAYOL BUTONLARI Kontrol et: Yazılan kodlardaki hataları tespit eder. Yükle: Yazılan kodları

STEM-MAKER 9.HAFTA ÇALIŞMA FÖYÜTERMİSTÖR VE LED İLE SICAKLIK GÖSTERGESİ

A) Donanım:1) NTC Termistör kullanımı.2) Modülsüz sensörler için direnç kapısı kullanımı.3) Led kullanımı.

B) Arduino Sketch Arayüzü:1) Tanıştırma bloğu kullanımı. (int-float değişkenler)2) İletişim bloğu kullanımı. [pinMode(pin?,OUTPUT?INPUT), Serial.begin(9600) kullanımı] 3) Kod bloğu kullanımı. (Serial.println(...) kullanimi)

C) Arduino Kodları:1) digitalWrite(pin?, değer?)-delay(değer?)-HIGH/LOW komutları kullanımı.2) map (X,a,z,α,ω) komutu kullanımı.3) if komutu kullanımı.

TERMİSTÖR VE LED İLE SICAKLIK GÖSTERGESİ KODLARI

Float termistor = A0;int LED1 = 2;int LED2 = 4;int LED3 = 6;int LED4 = 8;int LED5 = 10;void setup() {Serial.begin(9600);pinMode(termistor, INPUT);pinMode(LED1, OUTPUT);pinMode(LED2, OUTPUT);pinMode(LED3, OUTPUT);pinMode(LED4, OUTPUT);pinMode(LED5, OUTPUT);}void loop() {float T = analogRead(termistor); T = map(T, 0, 1023, 100, 0);if(T<20)digitalWrite(LED1, HIGH);digitalWrite(LED1, LOW);if(T>20&&T<40)digitalWrite(LED1, HIGH),digitalWrite(LED2, HIGH);digitalWrite(LED1, LOW),digitalWrite(LED2, LOW);if(T>40&&T<60) digitalWrite(LED1, HIGH),digitalWrite(LED2, HIGH),digitalWrite(LED3, HIGH);digitalWrite(LED1, LOW),digitalWrite(LED2, LOW),digitalWrite(LED3, LOW);if(T>60&&T<80) digitalWrite(LED1, HIGH),digitalWrite(LED2, HIGH),digitalWrite(LED3, HIGH),digitalWrite(LED4, HIGH);digitalWrite(LED1, LOW),digitalWrite(LED2, LOW),digitalWrite(LED3, LOW),digitalWrite(LED4, LOW);if(T>80&&T<100) digitalWrite(LED1, HIGH),digitalWrite(LED2, HIGH),digitalWrite(LED3, HIGH),digitalWrite(LED4, HIGH),digitalWrite(LED5, HIGH);digitalWrite(LED1, LOW),digitalWrite(LED2, LOW),digitalWrite(LED3, LOW),digitalWrite(LED4, LOW),digitalWrite(LED5, LOW);Serial.println(T);}