Arduino Optik Pozisyon Dönüştürücü

0
3686
Arduino Optik Pozisyon Dönüştürücü
Arduino Optik Pozisyon Dönüştürücü

Arduino Optik Pozisyon Dönüştürücü

Şaft veya dönen cisim kodlayıcı olarak da bilinen optik pozisyon kodlayıcılar, elektromekanik cihazlarda algılanan açısal pozisyonu analog veya dijital verilere dönüştürmek için kullanılır.

Bu dönüştürücülerin iki ana tipi vardır: Mutlak ve göreceli.

Mutlak dönüştürücüler, milin mevcut konumunu açısal verilere dönüştürürler.

Göreceli dönüştürücüler ise açısal veri yanında hız ve konum bilgilerini de içerirler.

Optik pozisyon dönüştürücüler, endüstri alanlarında, robot uygulamalarında, fotoğraf lenslerinde, hard disklerde ve optik farelerde dahil olmak üzere birçok yerde kullanılırlar.

Kullanılan Malzemeler

  • Bir adet Arduino Uno kartı,
  • Bir adet Photo Interrupter sensör,
  • Bir adet 220 ohm ve 10 kiloohm direnç.

Tasarım

Dönen cisimlerin açısal konumlarını hesaplamak için bir sensöre ihtiyaç duyulur. Photo Interrupter isimli bu sensör IR led ile kızılötesi verici oluşturarak, algılanacak nesnenin renkleri arasındaki farklılıktan yararlanarak ışın gönderme ve alma prensibine dayanır.

Sensörün 4 bacağı vardır. Bacakların bir İkilisine kızılötesi led diğer ikisine bir transistor bağlıdır, ikili çiftler arasındaki boşluktan ise ışın nesneye gider ve gelir. Gidiş geliş arasındaki renk farklılığını algılayarak mikrodenetleyiciye bilgi verir. Mikrodenetleyicide duruma göre ya motor çalıştırır ya ölçüm ya da kişinin istediği bir başka çıkış işlemini yapar.

Arduino Optik Pozisyon Dönüştürücü
Arduino Optik Pozisyon Dönüştürücü

Sensörün IR kızılötesi led kısmında 5 volt pozitif beslemesi ile arasında 220 ohm direnç vardır. Aynı ikilinin diğer ucu topraklamadır. Transistor bölümünde ise bir bacak ikiye ayrılır, bir tarafı Arduino dijital 8 pinine, diğer tarafı 10 kiloohm direnç ile 5 volt pozitif beslemeye bağlanmıştır. Diğer bacağı ise topraklamadır.

Sensör ışınında bir kırılma yani nesnenin renk değişikliği algılanırsa, dijital 13 pininde bulunan led yanar. Dijital 12 çıkışı ise dalgaları izlemek içindir. Eğer bu çıkış bir osiloskop ile birleştirilirse cihazda dalga şekilleri görülebilir.

Kodlar

const int donusturucu_giris = 8; // sensörün giriş pini

const int led = 13; // led

const int dalga_cikisi = 12; // harici kaynak için dalga çıkış pini

int isin_durumu=0; // dönüstürme/ışın okuma durumu

void setup()

{

   pinMode(donusturucu_giris, INPUT);

   pinMode(led, OUTPUT); 

   pinMode(dalga_cikisi, OUTPUT); 

}

void loop() {

   isin_durumu=digitalRead(donusturucu_giris);

   if (isin_durumu == HIGH) { //dönüştürücü çıkışı HIGH ise

      digitalWrite(led, HIGH); //led yanar

      digitalWrite(dalga_cikisi,HIGH); // dalga var olarak çıkış verilir

   }

   else {

      digitalWrite(led, LOW); //değilse led söner

      digitalWrite(dalga_cikisi,LOW); // dalga yok olarak çıkış verilir

   }

}

 

CEVAP VER

Please enter your comment!
Please enter your name here