Uygulama Detay
Eyl 08  -  213 Görüntülenme  -  MUSTAFA BATTALOĞLU

Arduino İle Analog-Dijital Uygulama 1

Arduino
Analog dijital kavramı elektronik devrelerde sık karşılaşılan konulardan bir tanesidir. Çevremizdeki elektronik cihazlar ya analog ya dijital ya da analog-dijital prensiple çalışan cihazlardır. Bu uygulamamızda analog dijital kavramlarını inceleyeceğiz.

Analog değerler belirli aralıklarında sürekli değişken değer alırlar. Bu değerler sonsuz sayıda olabilir. Örnek olarak 1-5V arasındaki gerilim değeri arasında sonsuz değer olabilir. Bu gibi büyüklüklere analog büyüklükler denir.

Dijital değerler ise sadece 1-0 değeri alabilir. Yani ya 1 ya da 0 olabilir. Bir buton örneği düşünelim. Butona basıldığında 5 V gerilim veriliyor buton bırakıldığında 0 V gerilim değeri veriliyor. Buradaki durum dijital duruma örnek olarak verilebilir. Durum ya 1 ya da 0 dır. Bunun dışında herhangi bir değer alamaz.

Uygulamamızda 1 adet arduino uno, 1 adet potansiyometre ve 1 adet led diyot bulunmaktadır. devrede kullandığımız potansiyometre 10 k değere sahiptir. Potansiyometrenin değerini 0-10k arasında değiştirdiğimizde bağlı bulunduğu A0 pinine 0-5V arasında bir analog gerilim uygulamış olacağız. Uyguladığımız bu analog gerilimi okuyarak dijitale çevireceğiz ve tekrar analog gerilim olarak 3 nolu pine bağlı olan led diyota uygulayacağız.

 

Uygulamanın Kaynak Kodları

 

#define potansiyometre A0
#define led 3

int alinan = 0;

Yukarıdaki kod satırlarında potansiyometrenin bağlı olduğu pini, led diyotun bağlı olduğu pini tanımlıyoruz. Artık A0 yerine potansiyometre, 3 yerine de led ifadelerini kullanacağız. En alt satırda ise analog olarak okuyacağımız değer dijitale çevirerek tutacağımız değişkeni tanımlıyoruz.

void setup()
{
  pinMode(potansiyometre, INPUT);
  pinMode(led, OUTPUT);
}

Buradaki setup() fonksiyonu programın başlangıç ayarlarının yapıldığı fonksiyondur. Programı çalıştırdığımızda bir defa çalışır. pinMode(); fonksiyonu ile potansiyometre pini giriş olarak ayarlanıyor. led pini ise çıkış olarak ayarlanıyor.

void loop()
{
  alinan = analogRead(potansiyometre);
  alinan = map(alinan, 0, 1023, 0, 255);
  analogWrite(led, alinan);
}

loop() fonksiyonu programda işlemlerin yapıldığı sürekli çalışan kısımdır. analogRead(); fonksiyonu ile potansiyometre pininden alınan analog değer okunarak dijitale çevriliyor ve alinan değişkenine aktarılıyor.

Analog değer 0-5V arasında dijital değer ise 0-1023 arasındadır. Bu değeri 0-255 arasına çevirerek uygulamalarımızda kullanabilmekteyiz. 0-1023 arası değer ikilik sistemde 10 bit lik değere karşılık gelmektedir. Arduino da 8 bit ile çalışacağımızdan dolayı 0-255 arasına çevirmemiz gerekmektedir. map(); fonksiyonu bunu yapabilmemizi sağlar. Burada birinci parametre çevrilecek değer, ikinci parametre çevrilecek değerin minimumu, üçüncü parametre çevrilecek değerin maksimumu, dördüncü parametre yeni değerin minimumu, son parametre ise yeni değerin maksimum değeridir. Son kısımda ise alinan değeri led  pinine dijtal olarak yazılıyor.

Uygulamanın kaynak kodları ve devre şeması aşağıda verilmiştir. Böylelikle uygulamamızı tamamlamış olduk bir sonraki uygulamada görüşmek üzere iyi çalışmalar.

#define potansiyometre A0
#define led 3

int alinan = 0;

void setup()
{
  pinMode(potansiyometre, INPUT);
  pinMode(led, OUTPUT);
}

void loop()
{
  alinan = analogRead(potansiyometre);
  alinan = map(alinan, 0, 1023, 0, 255);
  analogWrite(led, alinan);
}

 

Uygulamanın Devre Şeması

 

 

 

 

 

Elektrik-Elektronik Teknolojisi, C# Nesne Tabanlı Programlama, ASP.net Web Uygulamaları

mustafabattaloglu@gmail.com

Uygulamaya mesaj gönder

Ad-Soyad:
Eposta:
Mesaj:
 
Benzer Uygulamalar
Arduino

Arduino millis() Fonksiyonu Kullanımı

Eyl 11  -  265 Görüntülenme
Temel Elektronik

Lojik Kapılar

Eyl 10  -  257 Görüntülenme
© 2018 | elektrohareket.com sitesindeki tüm yazılar yazarların sorumluluğundadır. Sitede yayınlanan içerik ve görseller kaynak gösterilmeden kullanılamaz.