Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda uygun fiyat, hızlı teslimat ve kaliteli hizmetle Robotistan.com’da hizmet veriyoruz. Siz de alışverişlerinizi robotistan.com‘dan yaparak bize yardımcı olabilirsiniz 🙂

Arduino Analog Read ve Seri Haberleşme (Potansiyometre Değer Okuma)

Merhaba arkadaşlar. Bugün sizlere analog read ve seri haberleşme hakkında bilgi vereceğiz ve birlikte Arduino ile analog değer okuma uygulaması yapacağız.

Daha önceki yazımızda Arduino Buton Kullanımından bahsetmiştik ! >>> Push Buton ile LED Yakma Uygulaması yapalım !

Arduino Analog Read – Hangi Pinleri Analog Değer Okumak İçin Kullanabiliriz?

Arduino serimizde şimdiye kadar Arduino’muzun hep dijital giriş/çıkış pinlerini kullandık. Fakat siz de fark etmişsinizdir ki Arduino kartımızda bir de “Analog Input” yani analog giriş kısmı mevcut. Bu pinleri kullanarak dijitalden analoğa dönüşüm yaparak voltaj okumamız mümkün.

Analogdan Dijitale Çeviriciler (Analog-to-Digital Converter, ADC)

Arduino UNO kartımızdaki işlemcide, 10-bit çözünürlüğe sahip analogdan dijitale dönüştürücü (ADC – analog to digital converter) mecvuttur. Peki, bu 10-bit ne anlama geliyor? Bildiğimiz üzere Arduino’muzun mikrokontrolcüsü 5V gerilimle çalışmakta. Bu mikrokontrolcüde sahip olduğunu söylediğimiz 10-bit ADC, 0V ile 5V arası gerilimleri 210 = 1024 adım hassasiyet ile okuyabilir. Yani analog input pinlerinden birine vereceğimiz 0V gerilim bize 0 değerini; aynı şekilde 5V gerilim ise 1023 değerine denk düşüyor.  Eğer 5V’tan daha düşük bir gerilimi referansımızın üst noktası olarak almamız gerekirse, Arduino üzerinde bulunan AREF pinini kullanmamız ve kodda küçük bir değişiklik yapmamız gerekir. Bu pine herhangi bir gerilim uygulamadığımız takdirde ADC’miz 0-5V arasında çalışacaktır.

Yukarıda da bahsettiğimiz gibi Arduino’da ANALOG INPUT kısmındaki pinler analog giriş olarak kullanılır. Analog giriş pinlerini A0,A1,A2,A3,A4,A5 olarak sıralayabiliriz.

Arduinoda Seri Haberleşme

Daha önceki yazılarımızda da bahsettiğimiz gibi Arduino’muzu bilgisayarımıza bağladığımızda bir COM portu olarak tanınmıştı. Bu COM portu vasıtası ile seri haberleşme (UART) işlemini gerçekleştirebiliyoruz. Uygulamamızı yapmadan önce potansiyometre hakkında temel bir bilgi edineceğiz.

Potansiyometre Nedir? Çalışma Mantığı

Potansiyometre, aslında çevremizde her gün kullandığımız cihazların neredeyse hepsinde mevcut olan bir devre elemanıdır. Örneğin, müzik setimizin ses seviyesini değiştirmek için çevirdiğimiz düğme bir potansiyometredir. En basit açıklama ile potansiyometre, değerini elimizle çevirerek ayarladığımız bir dirençtir. Mikrokontrolcü uygulamalarında ise genellikle gerilim bölücü olarak kullanılır.

Potansiyometreyi bir yöne çevirdiğimizde yan yana olan iki bacağının direnci değişir. Bunu bir multimetreyle ölçerek görebiliriz. Biz bu uygulamamızda ise 0 ile 5V arasında voltaj değişimini sağlamak için potansiyometre kullanacağız.

Potansiyometre hakkında daha detaylı bilgi edinmek isterseniz Potansiyometre Nedir? yazımıza göz atabilirsiniz.

Arduino İle Potansiyometre Kullanımı ve Bağlantısı

Gerekli malzemeler: ( Not: Arduino Seri Haberleşme ve 10. Derse Kadar Olan Dersleri “Arduino Başlangıç Seti” İle Yapabilirsiniz. Malzemeler Bu Sette! >)

Uygulamamızın ilk adımında sadece analog giriş pininden gelen gerilimin sayısal karşılığını seri porttan okuma işlemini yapacağız. Devremizi bu şekilde kuruyoruz:

Bu şekilde bağlantı yapıldığında, potansiyometremizin orta bacağında 0-5V arası değişen bir gerilim alabiliriz.

Şimdi yazacağımız kodla bu gerilimin sayısal karşılığını seri porttan görebileceğiz.

Haydi! Potansiyometre Okuma İçin Gerekli Kodu Yazalım.

#define potpin A0 //Potansiyometreyi A0 pinine tanımlıyoruz
int deger=0; //"Değer" adlı 0 başlangıçlı bir değişken tanımlıyoruz
void setup() 
{
  Serial.begin(9600); //9600 Baund bir seri haberleşme başlatıyoruz
  Serial.println("Pot Deger Okuma"); //Seri monitörde bir kez gönderilen bir mesaj tanımlıyoruz
}
void loop() 
{
  deger  = analogRead(potpin); //"Değer" değişkeni potansiyometrenin değerini okuyup buna göre değişir
  Serial.println(deger); //Okunan değer seri monitörde mesaj olarak gönderilir
  delay(100); //Bu işlem 100 milisaniye aralıklarla yapılır
}

Bu yazdığımız kodu Arduino’muza yükledikten sonra seri port ekranını açıyoruz ve potansiyometremizi çevirmeye başlıyoruz. Değerlerdeki değişimi görebilirsiniz:

Yaptığımız uygulamaya ek olarak bu değerler ile voltaj seviyelerini nasıl eşleştirebileceğimizi görelim:

#define potpin A0
int deger=0;
void setup() 
{
  Serial.begin(9600);
  Serial.println("Pot Deger Okuma");
}
void loop() 
{
  deger  = analogRead(potpin);
  float gerilim = (5.00/1024.00)*deger; //5V gerilim, 1024 bite bölünür ve potansiyometreden gelen değer ile çarpılır; değerin eşiti olan gerilim hesaplanır
  Serial.println(gerilim); //Hesaplanan gerilim seri monitörde mesaj olarak gönderilir
  delay(100);
}
Paylaş

Yorumları Görüntüle

  • Hocam şebeke gerilimini arduino ile ölçmemiz mümkün mü yani analog girişe ac gerilim uygulayabiliyor muyuz

    • Arduino'nun analog girişleri 0-5V DC gerilimi ölçebildiği için doğrudan şebeke gerilimini bu girişlere bağlamanız çok tehlikelidir. AC gerilim ölçümü için hazır sensörlerden faydalanabilir veya bir trafo ve op-amp ile kendi devrenizi kurarak ölçüm yapabilirsiniz. Tavsiyem, AC gerilim ile daha önceden tecrübeniz yoksa tercihinizi hazır sensörlerden yana kullanmanızdır.

  • Merhaba hocam sw-420 titreşim sensörü ile alınan analog değerleri 2*16 lcd ekrana yazdırmak istiyorum bana yardımcı olacağını düşündüğünüz bir kod var mı?

  • 8 bit binary olarak nasıl ledleri yakabilirim mesela 4.2 volt karşılığı (1111 1101) bunu ledlerde nasıl uygularım

    • leds isimli değişkeni doğrudan 8-bit binary veya hex olarak değiştirip bu değeri registeraYaz() fonksiyonu ile shift registere gönderebilirsiniz.

  • Hayırlı günler hocam pot olmadan gelen sinyali nasıl okuyabiliriz
    ayarlı 555 li bir devre var ondan okumak istiyorum yardımcı olursanız sevinirim

  • hocam bende simülatör için pedal sistemi yapacağım ama aklıma takılan tek şey var arduino unoya uygun potans hangi seri onu bulamadım yardımcı olursanız sevinirim

    • Arduino'nuz ile istediğiniz potansiyometreyi kullanabilirsiniz. Çoğunlukla projelerde bu tip potansiyometreler kullanılır.

  • Hocam okuduğumuz değerler gerilimden ziyade akıma göre değişmiyor mu? Sonuçta 5v pininden sabit gerilim geliyor ve biz direnci değiştiriyoruz sürekli

    • Analog girişler gerilimdeki değişimi ölçmektedir. 5V gerilimin potansiyometrenin orta bacağında sabit olmadığını bir voltmetre ile ölçerek görebilirsiniz. Akımda da mutlaka değişiklik olmakta, fakat bizim dikkate aldığımız değer gerilim değeridir.

  • hocam arduinoda lm35 sıcaklık sensörü ve potansiyometreyi aynı anda kullanamıyorum. devreye potu ekleyince lm35 değerleri sapıyor. ne önerirsiniz. denediğim potlar B10K B22K B50K

  • Arduino ya gelen 2 kare dalgayi bit düzeyinde karşılaştırma yapabilmem için digitalRead ile okuma yapıp karşılaştırma yapabilir miyim

  • merhaba.Bir projemde aynı anda 2 jumpera dokunduğumda hem ses çıkmasını hem de ledin yanmasını istiyorum yardımcı olabilir misiniz?

En Son İçerik

  • Genel
  • Raspberry Pi

Raspberry Pi 4 Model B Tanıtıldı – Özellikleri Neler Farklı?

https://youtu.be/LSHLeKOxv0Y Raspberry Pi severlere müjde: Raspberry Pi 4 Model B tanıtıldı ! Mini bilgisayar olarak kullanılan ve farklı versiyonları ile…

4 gün Önce
  • Arduino
  • Arduino Programlama ve Dersler

Arduino ile RFID Kart Okuyucu (RC522) Modül Kullanarak Kapı Kilidi Yapımı

< 19. Derse Dön Herkese merhabalar. Eve kim ne zaman girmiş çıkmış, bilmek istemez misiniz? Öyleyse bu proje size göre…

6 gün Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# ile Mesafe Ölçer – 4. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde HC-SR04 sensörü ile ölçtüğümüz mesafeyi seri haberleşme yardımıyla anlık olarak…

2 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle MQ Gaz Sensörlerinin Kullanımı – Yanıcı Gaz Alarmı

20. Derse Geç > < 18. Derse Dön Arkadaşlar herkese selamlar ! Daha önce hiç gaz sensörü kullandınız mı? Bu…

3 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle Yağmur Sensörü Kullanarak Yağmur Alarmı Yapalım

19. Derse Geç > < 17. Derse Dön Herkese selamlar ! Bu yazımızda ise yağmur sensörü kullanarak Arduino ile Yağmur…

1 ay Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# Haberleşmesi ile RGB Led Kontrolü – 3. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, Arduino ve C# haberleşmesi serisinin 3. yazısında RGB led kontrolü yapabileceğimiz bir…

1 ay Önce