RABIA YEL BILGISAYAR MÜHENDISI R O B O T I K U Y G U L A M A L A R A T Ö L Y E S I Hafta2 - Ders3 08.01.2018 #kocasinanakademierciyesevler
İlk uygulamamız Blink üzerine konuşma...
GEREKLI MALZEMELER: * 6 ADET LED * 1 ADET 220OHM DIRENÇ * BREADBOARD * JUMPER KABLOLAR
Serbest Uygulama Kara simsek devresi...
Arduino'ya ayrı ayrı dijital pinlerden bağlı olan LED'lerin sırayla yanıp ters sırayla sönmesini sağlayan kod. 01. 02. 13,12,11,10,9 ve 8. bacaklara LED'lerin (+) bacakları breadboard üzerinden jumper kablolarla bağlanır (-) bacakları breadboard üzerindeki güç hattına takılır ve 220ohmluk direnç ile Arduino üzerindeki GND bacağına jumper kablo ile bağlanır.
void setup() { //13-8 arasındaki bütün bacaklar çıkış olarak tanımlanır pinmode(13, OUTPUT); pinmode(12, OUTPUT); pinmode(11, OUTPUT); pinmode(10, OUTPUT); pinmode(9, OUTPUT); pinmode(8, OUTPUT); } void loop() { //13. bacağa bağlı olan LED'den başlayarak //100ms gecikme süresiyle SIRAYLA yanara digitalwrite(13, HIGH); digitalwrite(12, HIGH); digitalwrite(11, HIGH); digitalwrite(10, HIGH); digitalwrite(9, HIGH); digitalwrite(8, HIGH); //8. bacağa bağlı olan LED'den başlayarak //100ms gecikme süresiyle TERS SIRAYLA söner digitalwrite(8, LOW); digitalwrite(9, LOW); digitalwrite(10, LOW); digitalwrite(11, LOW); digitalwrite(12, LOW); digitalwrite(13, LOW); }
DERSTE KULLANILACAK ARAÇLAR VE MALZEMELER BILGISAYAR GENUINO 101 BREADBOARD AB USB KABLOSU 1 ADET 220Ω DIRENÇ 1 ADET 1KΩ DIRENÇ 1 ADET LED 1 ADET POTANSIYOMETRE JUMPER KABLOLAR Dijital mantık ile buton uygulaması
DIJITAL MANTIK NEDIR? ANALOG MANTIK NEDIR?
Lamba açıp kapama ve lambanın parlaklığını ayarlama ile dijital analog mantık arasındaki bağlantısı nedir?
DIJITAL MANTIK 1 0 Elektronik devrelerde 1 ve 0 ın tam karşılığı voltajlarla ifade edilir. Arduino'nun giriş çıkış volt sınırı 5 volttur. En düşük volt sınırı 0'dır.
Bacak numarası Mod (HIGH / LOW) Burada kullanılan Mod argümanı aslında dijital mantıktır. HIGH = 5 volt LOW = 0 volt Bunları programlamaya göre yorumlayacak olursak da Doğru = 5 volt Yanlış = 0 volt
D I J I T A L M A N T I K B U T O N Ö R N E Ğ I File > Examples > 02.Digital > Button örneği üzerinden dijital giriş ve çıkış mantığının pratiğini yapıp değişkenleri ve yeni fonksiyonları öğreneceğiz. Kısa bir süre göz gezdirildikten sonra ilk defa kullanılan const, int, digitalread(), if() ve else() ifadeleri göze çarpıyor. Bunlarda önce değişken nedir sorusunun cevabı verilmesi gerekiyor.
Degisken Nedir? Değişkenler matematikteki x, y, z gibi bilinmeyen sayıları ifade etmek için kullanılan harflere benzetilebilir. Matematik te bu gibi harflerle tam sayı, doğal sayı, kesirli sayı ve karmaşık sayılar gibi sayı türlerini ifade edebiliriz. x=16, y= 17/32 Şeklinde harflerle istediğimiz rakamların yerine semboller, harfler koyup başka bir yerde kullanabiliriz. Programlamadaki değişkenler de tam olarka böyle kullanılıyor. Ama sadece rakam kullanılması şart değil. Cümle, renk, hatta matris gibi büyük sayı grupları da ifade edilebilir.
Belli başlı değişken tipleri: char karakter ( H, 4,? ) int tam sayı (1, 34, 172) float kesirli sayı (0.31, 1.38) boolean dijital mantık (True/False, 1/0) string karakter matrisi ( Arduino, Genuino, Maker Çocuk )
digitalread() Bu örnekte göreceğimiz yeni fonksiyon da digitalread(bacak) dir. Arduino nun dijital giriş almasını sağlayan bir fonksiyondur. Tek argüman alır ve o da bacak numarasıdır. Kulanılabilmesi için setup() fonksiyonu içerisinde pinmode(bacak, INPUT) fonksiyonuyla giriş olarak tanımlanan bacaklar ile kullanılabilir.
if() / else() if() / else döngü kontrolü yapılabilmesini sağlayan fonksiyonlardır. Örneğin, analog bir giriş kontrolü yapıldığı düşünülürse girişin değeri 500 den küçükken bir aksiyon büyükken farklı bir aksiyon gerçekletiririlebilir. İkiden fazla durum kontrolünde de else if() fonksiyonuyla beraber kullanılabilir. Parantezler arasındaki karşılaştırma operasyonlarını kontrol eder. Kontrol doğru ise süslü parantez arasındaki yazılan kodları gerçekleştirir. Eğer doğru değilse sıradaki if() / else if() / else fonksiyonunu kontrol eder.
Adım Adım Kodun İncelenmesi ve Devrenin Kurulması 1. const int buttonpin = 2; sabit bir buttonpin tamsayısı tanımlanıyor 2. const int ledpin = 13; sabit bir ledpin tamsayısı tanımlanıyor 3. int buttonstate = 0; başlangıç değeri sıfır olan buttonstate isminde bir değişken tanımlanıyor 4. pinmode(ledpin, OUTPUT); ledpin sabit tamsayısıyla 13 numaralı bacağı çıkış yapılıyor 5. pinmode(buttonpin, INPUT); buttonpin sabit tamsayısıyla 2 numaralı bacak giriş yapılıyor 6. buttonstate = digitalread(buttonpin); digitalread() fonksiyonuyla buttonpin sabit tamsayısı beraber kullanılıyor ve 4 bacaktan dijital okuma yapılıyor. Burada okunan değer buttonstate değişkenine atanıyor. 7. if (buttonstate == HIGH); if() fonksiyonuyla buttonstate değişkeninin HIGH (1/True) olup olmadığı kontrol ediliyor. 8. EĞER DOĞRUYSA digitalwrite(ledpin, HIGH); 13 numaralı bacağa 5 volt gönderiliyor ve 10. adıma atlıyor. 9. EĞER YANLIŞSA digitalwrite(ledpin, HIGH); 13 numaralı bacağa 0 volt gönderiliyor ve 10. adıma atlıyor. 10. Döngü son satırına geliyor ve 6. adıma geri dönüp döngü başta tekrar başlıyor. Şekil
Diğer derste görüşmek üzere..