Pololu firmasının ürettiği Zumo Reflectance Sensorün kullanımı hakkında bazı bilgiler vereceğiz. Bu sensör QTR-8RC sensörü ile aynıdır diyebiliriz. Pololu’nun ürettiği Zumo robot için tasarlanmıştır. Üzerinde 6 adet kızılötesi alıcı – verici ile renk algılama (siyah/beyaz) işlemi yerine getiriliyor. Bu yüzden sıklıkla çizgi izleyen robotlarda kullanılıyor.

Öncelikle bu sensör ile iş yapacaksanız şu kaynakları bilseniz iyi olur:

1- https://www.pololu.com/docs/0J57/2.c  Burada sensör hakkında ayrıntılı bilgi veriliyor.

2- https://forum.pololu.com/  Buradan da takıldığınız yerde daha önce mutlaka takılan vardır. Aratabilirsiniz.

Ben bu sensörü çizgi izleyen robotumda kullanacağım. Bu yüzden öncelikle sensörden değer almaya çalıştım.

Bağlantı şeması olarak şunu kullandım:

Eğer arduino uno kullanıyorsanız 2 nolu pin bağlantısını yapacaksınız. Leonardo kullanıyorsanız da A4 pinini bağlayın. Leo kullananlar kodda A4 değişikliğini yapacaklar. Yukarıda A0,A2, A3, 2,5,11,4 , Vin , GND , 5V girişlerini Zumo sensörüne bağlayın.

Arduino programını açarak, aşağıdaki kodu yapıştırın.

#include <QTRSensors.h>

// This example is designed for use with eight QTR-1RC sensors or the eight sensors of a
// QTR-8RC module.  These reflectance sensors should be connected to digital inputs 3 to 10.
// The QTR-8RC's emitter control pin (LEDON) can optionally be connected to digital pin 2 

buy levitra uk online

, // or you can leave it disconnected and change the EMITTER_PIN #define below from 2 to // QTR_NO_EMITTER_PIN. // The main loop of the example reads the raw sensor values (uncalibrated). // You can test this by taping a piece of 3/4" black electrical tape to a piece of white // paper and sliding the sensor across it. It prints the sensor values to the serial // monitor as numbers from 0 (maximum reflectance) to 2500 (minimum reflectance). #define NUM_SENSORS 6 // number of sensors used #define TIMEOUT 2500 // waits for 2500 microseconds for sensor outputs to go low #define EMITTER_PIN 2 // emitter is controlled by digital pin 2 // sensors 0 through 7 are connected to digital pins 3 through 10, respectively QTRSensorsRC qtrrc((unsigned char[]) {5,A2,A0,11,A3, 4 }, NUM_SENSORS, TIMEOUT, EMITTER_PIN); unsigned int sensorValues[NUM_SENSORS]; void setup() { delay(500); Serial.begin(9600); // set the data rate in bits per second for serial data transmission delay(1000); } void loop() { // read raw sensor values qtrrc.read(sensorValues); // print the sensor values as numbers from 0 to 2500, where 0 means maximum reflectance and // 2500 means minimum reflectance for (unsigned char i = 0; i < NUM_SENSORS; i++) { Serial.print(sensorValues[i]); Serial.print('\t'); // tab to format the raw data into columns in the Serial monitor } Serial.println(); delay(250); }

Kodun düzgün çalışması için QTRSensors kütüphanesinin arduinoya kurulmuş olması lazım. Kütüphane linki: https://github.com/pololu/qtr-sensors-arduino

Arduino kodunu yükledikten sonra, beyaz zemin üzerine siyah bir bant yapıştırın. Siyah bant 6 sensörden hangisine gelirse, serial monitörde o sensörün bulunduğu yerde 2500 yazar. Serial monitörü açmak için arduino programı açıkken ctrl+shift+M tuşlarına basabilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz