Arduino
OKUDUĞUNUZ KONU
QTR-8A Kızılötesi Sensör Kullanımı
3

QTR-8A Kızılötesi Sensör Kullanımı

Yazar : Murat Duran18 Ağustos 2015

QTR-8A genellikle çizgi izleyen robotlarda kullanılan bir sensör çeşididir.Üzerinde 1 cm aralıklarla yerleştirilmiş kızılötesi kontrast sensörleri bulunmaktadır.Bu sensörler siyah ve beyaz rengi ayrıt edebilirler.Uzun süre stabil ve sorunsuz çalışabilmektedirler.Bu yüzdende robot projelerinde çok fazla tercih edilir.Kart üzerindeki her sensör ayrı bir analog voltaj çıkışı sağlar.Zeminin ışığı yansıtması veya cisimle olan mesafesine göre voltaj çıkışı analog olarak değişir. Yansıma arttıkça çıkış voltajı da yükselir.

Ayrıca sensör yakınlık ve cisim algılama sensörü olarak da kullanılabilmektedir.Çalışma voltajı 3.3 volt ile 5 votl arasındadır.Çektiği maksimum akım 100mAh tir.İdeal algılama mesafesi 3mm dir.Bu uzaklıktan fazla olduğunda kararlı çalışmaz.Sorunlar çıkartabilir.Maksimum algılama mesafesi ise 6mm dir.

Sensörün isterseniz tüm çıkışlarını kullanamayabilirsiniz.Dilediğiniz şekilde kombinasyon yapma imkanına sahipsiniz.6+2 şeklinde tasarlanmış sensör kartını ihtiyaç duyarsanız iki parçaya bölebiliyor, 6lı ve 2li olmak üzere iki ayrı sensör kartı haline getirebiliyorsunuz.

#include <QTRSensors.h>

#define NUM_SENSORS 8
#define NUM_SAMPLES_PER_SENSOR 4
#define EMITTER_PIN 2

QTRSensorsAnalog qtra((unsigned char[]) {0, 1, 2, 3, 4, 5, 6, 7},
NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];

void setup()
{
Serial.begin(9600);
delay(500);
int i;
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
for (i = 0; i < 400; i++)
{
qtra.calibrate();
}
digitalWrite(13, LOW);
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtra.calibratedMinimumOn[i]);
Serial.print(' ');
}
Serial.println();
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtra.calibratedMaximumOn[i]);
Serial.print(' ');
}
Serial.println();
Serial.println();
delay(1000);
}

void loop()
{
unsigned int position = qtra.readLine(sensorValues);

unsigned char i;
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(sensorValues[i] * 10 / 1001);
Serial.print(' ');
}
Serial.print(" ");
Serial.println(position);

delay(250);
}
SİZCE NASIL OLMUŞ?
Beğendim
65%
İlginç
4%
Eh İşte
8%
Anlamadım
4%
Kötü
12%
Berbat
8%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
3 YORUMLAR
  • 5 Eylül 2015 at 14:25

    merhaba. QTR-8A KIZILÖTESİ SENSÖR KULLANIMI. bu kodun. hatasi neyki. QTR-8A. bunlar bende var. 2 adet. denemek.
    icin. kod. hata veriyor. bu konudan. sizden cevap bekliyorum. tesekkurler. islerinden. basarilar. dilerim. bu konudan. sizi.
    hep. mesgul. ediyorum. kusura bakma. hersey. gonlunce. olsun. iyi. calismalar.

  • Murat Duran
    6 Eylül 2015 at 17:12

    Yine bu programdada kütüphane mevcut , https://github.com/pololu/qtr-sensors-arduino buradaki kütüphaneyi indirip arduino kütüphanesini ekleyiniz.

  • İbrahim Enes Çiftçi
    İbrahim Enes Çiftçi
    1 Mayıs 2016 at 16:11

    abi bu yukarıdaki şemada motor sürücüden 1 tane arduinoya vcc bacağı geliyor birde sensörden vcc bacağı aynı girişe geliyor nasıl olacak bu

YORUM YAP