Buradasın
Arduino Programlama Dili: Analog Fonksiyonlar ve Seri İletişim Eğitimi
youtube.com/watch?v=Wr_wOvs0EUgYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- "Evinizdeki Elektronik Atölyesi" kanalında yayınlanan bu eğitim videosu, Arduino programlama dilinin analog fonksiyonlarını ve seri iletişim modülünü anlatmaktadır.
- Video, Arduino'da fonksiyonlar, döngüler ve koşullu ifadelerin kullanımı ile başlayıp, seri iletişim modülüne geçiş yapıyor. Ardından analog read fonksiyonu, potansiyometre ve LDR gibi analog sensörlerin Arduino ile kullanımı, analog reference komutu ve farklı referans modları detaylı olarak anlatılıyor. Son bölümde ise analogWrite komutu, map komutu ve LED ışık miktarını ayarlama örnekleri gösteriliyor.
- Eğitim, Arduino Mega board'unda seri iletişim modüllerinin kullanımı, analog çıkış pininin PWM sinyali ile çalışması ve LDR ile LED'in ışık miktarına göre otomatik ayarlanması gibi pratik uygulamaları içermektedir. Video, bir sonraki bölümde günlük hayatta kullanılabilecek projelerin hazırlanacağını duyurarak sona ermektedir.
- Arduino Programlama Dili ve Küme Parantezleri
- Bu bölümde Arduino programlama dilinin analog fonksiyonları üzerinde yoğunlaşılacak.
- Küme parantezi (curly braces/süslü parantez) C programlama dilinin önemli bir özelliğidir ve yazılım dilinde belli kodları belli kümeler içinde ayırmaya yarar.
- Arduino'da fonksiyonlar, döngüler ve koşullu ifadelerde küme parantezleri kullanılır ve açılan ile kapatılan parantezlerin her zaman eşit olması gerekir.
- 03:13Seri İletişim Modülü
- Arduino'nun USB çipi sayesinde bilgisayarla doğrudan iletişim kurabilir ve Arduino içerisindeki verileri okuyabiliriz.
- Arduino'nun seri iletişim modülünün ismi "Serial" komutudur ve Arduino Uno, Nano, Pro Mini ve Mega boardları için geçerlidir.
- Arduino Mega'da üç farklı seri iletişim modülü bulunur ve aynı anda üç farklı cihazla iletişim kurulabilir.
- 04:26Seri İletişim Komutları
- Serial.begin komutu ile Arduino'nun seri iletişimini başlatabiliriz ve iletişimin hızını 300'den 115200'e kadar olan değerlerle ayarlayabiliriz.
- Serial.println komutu, Arduino'nun bilgisayara bir satır bilgi gönderdikten sonra iki satıra geçmesini sağlar.
- 05:28Analog Okuma Fonksiyonu
- Arduino giriş ve çıkış tarafında dijital (0 veya 1) ve analog (0,000000) olmak üzere iki tür giriş çıkış kullanır.
- Analog read komutu ile Arduino'nun analog bacaklarına uygulanan 0,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
- 10:17Potansiyometre ile Analog Ölçüm
- Potansiyometrelerde üç çıkış bacağı bulunur; en dıştaki iki bacak arasında 10 kg ohm'luk bir direnç vardır ve ortadaki bacak bu dirence farklı noktalardan temas eder.
- Potansiyometre çevrildiğinde, direncin o kısmına doğru değer azalır, diğer tarafa doğru değer yükselir.
- Potansiyometrenin dış bacaklarından birine +5V, diğerine GND bağlandığında, ortadaki çıkıştan 0-5V arasında bölünmüş bir gerilim alınır.
- 11:43LDR ile Gerilim Bölücü
- LDR (ışığa duyarlı direnç), üzerine gelen ışığa göre direnç değeri değişen bir dirençtir.
- LDR'yi gerilim bölücü olarak kullanmak için artıya 8 kg ohm'luk bir direnç bağlanır ve direnç ile LDR'nin birleştiği ortak uç, değişken voltaj alacağımız çıkış olur.
- LDR'ye ulaşan ışık miktarı değiştirildiğinde, okunan değerde değişiklikler görülür; ışık arttıkça LDR'nin direnci düşer ve okunan değer de düşer.
- 12:44Analog Reference Komutu
- Analog reference komutu, Arduino'nun analog okuma yaparken referans voltajını 0-5V aralığından farklı bir değere ayarlamayı sağlar.
- Arduino'nun sitesinden kullanılabilen modlar: default (0-5V), internal (1.1V-5V), external (1.1V-2.56V) ve external (5V).
- External modunda, Arduino üzerindeki RF pinine dışarıdan bir voltaj referansı bağlanır ve yazılımda bu seçeneğin işaretlenmesi gerekir, aksi takdirde çipe zarar verebilir.
- 15:53PWM Sinyali
- Arduino Uno, Nano ve Pro Mini modellerinde analog çıkış yoktur, bu sadece Arduino Mega modelinde mevcuttur.
- PWM (Pulse Width Modulation), bir pindeki elektriğin belli bir frekansla açık kapalı kalma sürelerinin değiştirilmesidir.
- İnsan gözü belli bir hızın üzerindeki yanıp sönmeleri ayırt edemez, bu nedenle PWM ile LED'in ışık miktarı artırılabilir veya azaltılabilir.
- 17:27PWM Özellikleri
- Arduino 255 farklı kademede PWM uygulayabilir.
- Arduino'nun birçok PWM çıkışı 490 Hz frekansında çalışır.
- 5. ve 6. pinler 980 Hz'de çalışır, bu değerler insan gözünün algılayabileceğinin çok üstünde değerler.
- 17:50AnalogWrite Komutu ve PWM Çıkışı
- AnalogWrite komutu kullanırken parantez içinde dalga işareti bulunan PWM çıkışı verebilen bir pin numarası belirtilmelidir.
- AnalogWrite komutunda virgülden sonra 0'dan 255 arasında çıkış almak istediğimiz PWM değeri yazılır.
- Arduino'nun analog pininden okunan değere göre LED'in ışık miktarını ayarlamak için pinMode ile çıkış pini belirlenir ve loop fonksiyonunda analogWrite komutu kullanılır.
- 19:00Delay Komutu ve Map Komutu
- Potansiyometreyi çevirdiğimizde LED'in ışığında değişiklik olmasına rağmen, delay komutu nedeniyle değişimler uzun aralıklarla gerçekleşir.
- Arduino'nun analog okumayı 10 bit üzerinden yapması ve analog çıkışını 8 bit üzerinden vermesi nedeniyle LED'in ışık miktarı potansiyometrenin tam turunda sıfırdan son değere kadar birkaç defa yükselir.
- Map komutu yardımıyla bir değişkenin içeriği en üst ve en alt değerler arasında yeniden düzenlenebilir, böylece LED'in ışık miktarı potansiyometrenin tam turunda sıfırdan 255 değerine ulaşır.
- 21:38Sabit PWM Değeri ve LDR Kullanımı
- AnalogWrite komutuyla her zaman değişken kullanmak zorunda değilsiniz, istediğiniz değeri yazarak LED'i sabit o değerde çalıştırabilirsiniz.
- Potansiyometrenin yerine ışığa duyarlı direnç (LDR) takarak LED'in yanma şiddetinin ortamdaki ışık miktarına göre otomatik olarak ayarlanmasını sağlayabilirsiniz.
- Map komutundaki çıkış değerini 0'dan 150 birim arasında ayarlayarak LED'in sönük kalma miktarını artırabilirsiniz, ancak tam bir çözüm için koşul ifadeleri kullanmak gerekir.
- 23:56Arduino Yazılımının Temelleri
- Bu bölümde bahsedilen komutlarla Arduino'da yazılım hazırlamanın temelini kavramış durumdayız.
- Önümüzdeki bölümde sık kullanacağımız komutlara değinilecek ve günlük hayatımızda işimize yarayabilecek projeler hazırlanacak.
- Yazılım yazmanın incelikleri bu projeleri hazırlarken yaparak görülecektir.