Arduino İle Çizgi İzleyen Robot

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mkyyldrm
    mkyyldrm's avatar
    Kayıt Tarihi: 20/Haziran/2015
    Erkek

    Selamlar Mürid(e)ler ;

     

    Arduino konusunda yavaş yavaş kendimi geliştirmye çalışmaktayım. Geçenlerde elime qtr-8 pololu'nun çizgi izleme sensörü geçti. Bununla bir çizgi izleyen robot yapmaya çalışıyorum ama sensörü analog yada digital tam olarak çalıştıramadım. Nasıl yapmalıyım sizce yada daha önce yapan varmı aceba, motor sürücü olarak aşağı linkdeki sürücüyü kullanmaktayım. Bunu nasıl yapabilirim sizce pek becefremedim.

     

    http://hobikod.com/wp-content/uploads/L293D-motor-shield-2.jpg  Motor Sürücü Kartı

     

    http://www.robotistan.com/qtr-8a-8li-kizilotesi-sensor-analog-4397-18-B.jpg Sensör Kartı 

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    istnbullu
    istnbullu's avatar
    Kayıt Tarihi: 21/Ocak/2016
    Erkek

    Ben henüz arduinoyla yapmadım ama baskı devreyle uğraşmaktan daha iyidir :)

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Hangi kısımda takılıyorsun? Motor kontrolünde mi yoksa sensörden veri okumakta mı?


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mkyyldrm
    mkyyldrm's avatar
    Kayıt Tarihi: 20/Haziran/2015
    Erkek
    YeniHarman bunu yazdı

    Hangi kısımda takılıyorsun? Motor kontrolünde mi yoksa sensörden veri okumakta mı?

    Sensörden verileri çekmekte zorlanıyorum, hatta yapamıyorum diyebilirim. Analog veya digital olup olmadığını tam bilmiyorum sensör kartının, ama bana digital değerler lazım. Nasıl yapmalıyım

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mkyyldrm
    mkyyldrm's avatar
    Kayıt Tarihi: 20/Haziran/2015
    Erkek
    istnbullu bunu yazdı

    Ben henüz arduinoyla yapmadım ama baskı devreyle uğraşmaktan daha iyidir :)

    Yanii biraz daha kolay gibi ama baskı devrenin yerini hiç bişey tutmaz :))

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    istnbullu
    istnbullu's avatar
    Kayıt Tarihi: 21/Ocak/2016
    Erkek

    Arduino senin için daha iyi olur diye düşünüyorum en azından zaman kazanma konusunda ama çok farkı oldugunu düşünmüyorum.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bosluk
    Bosluk's avatar
    Kayıt Tarihi: 11/Kasım/2007
    Erkek

    bunuda bitek yapmayan bir bakkal rıfkı abi ile komşumuz hatice abla yapmamıştır heralde


    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    mkyyldrm bunu yazdı
    YeniHarman bunu yazdı

    Hangi kısımda takılıyorsun? Motor kontrolünde mi yoksa sensörden veri okumakta mı?

    Sensörden verileri çekmekte zorlanıyorum, hatta yapamıyorum diyebilirim. Analog veya digital olup olmadığını tam bilmiyorum sensör kartının, ama bana digital değerler lazım. Nasıl yapmalıyım

    O sensör analog gibi. Arduinonun 5V pinini sensör üstündeki VCC'ye, GND'yi sensördeki GND'ye bağla. 1-8 arasındaki sensörlerden seçtiğin 6 tanesini arduinonun A0-A5 pinlerine bağla. Sonra analogRead ile okunacak.


    Olaylara karışmayın!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mkyyldrm
    mkyyldrm's avatar
    Kayıt Tarihi: 20/Haziran/2015
    Erkek

    Selamlar hocalar;

     

    Geçenlerde bahsettiğim sensör olayını çözdüm, istediğim değerleri alıyorum fakat şuan tek sorunum belli değer aralıklarına göre motorları hareket ettirmek için kodları yazdım fakat hiç bi şekilde motorlar hareket etmiyor sizce neden olabilir.

     

    #include <QTRSensors.h>
    
    #define NUM_SENSORS   3     // number of sensors used
    #define TIMEOUT       2500  // waits for 2500 us for sensor outputs to go low
    #define EMITTER_PIN   QTR_NO_EMITTER_PIN     // emitter is controlled by digital pin 2
    
    // sensors 0 through 7 are connected to digital pins 3 through 10, respectively
    QTRSensorsRC qtrrc((unsigned char[]) {3, 4, 5},
      NUM_SENSORS, TIMEOUT, EMITTER_PIN); 
    unsigned int sensorValues[NUM_SENSORS];
    
    
    int ena=10;
    int in1=6;
    int in2=7;
    int enb=11;
    int in3=8;
    int in4=9;
    
    
    
    void setup()
    {
    
    pinMode(ena,OUTPUT);
    pinMode(in1,OUTPUT);
    pinMode(in2,OUTPUT);
    pinMode(enb,OUTPUT);
    pinMode(in3,OUTPUT);
    pinMode(in4,OUTPUT);
      
      delay(500);
      int i;
      pinMode(13, OUTPUT);
      digitalWrite(13, HIGH);    // turn on LED to indicate we are in calibration mode
      for (i = 0; i < 400; i++)  // make the calibration take about 10 seconds
      {
        qtrrc.calibrate();       // reads all sensors 10 times at 2500 us per read (i.e. ~25 ms per call)
      }
      digitalWrite(13, LOW);     // turn off LED to indicate we are through with calibration
    
      // print the calibration minimum values measured when emitters were on
      Serial.begin(9600);
      for (i = 0; i < NUM_SENSORS; i++)
      {
        Serial.print(qtrrc.calibratedMinimumOn[i]);
        Serial.print(' ');
      }
      Serial.println();
    
      // print the calibration maximum values measured when emitters were on
      for (i = 0; i < NUM_SENSORS; i++)
      {
        Serial.print(qtrrc.calibratedMaximumOn[i]);
        Serial.print(' ');
      }
      Serial.println();
      Serial.println();
      delay(1000);
    }
    
    
    void loop()
    {
    
      unsigned int position = qtrrc.readLine(sensorValues);
    
      //qtrrc.read(sensorValues);
      
      unsigned char i;
      for (i = 0; i < NUM_SENSORS; i++)
      {
        
        Serial.print(sensorValues[i] * 10 / 1001);
        Serial.print(' ');
      } 
    
      
      Serial.print("    ");
      Serial.println(position);
    
        if (sensorValues[3] < 5 && sensorValues[4] < 5)
    
      {
        analogWrite(ena, 255);
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        
        }
        else
        {
          analogWrite(enb, 255);
        digitalWrite(in3, HIGH);
        digitalWrite(in4, LOW);
        analogWrite(ena, 255);
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
          }
    
      
    }

     

Toplam Hit: 2075 Toplam Mesaj: 9
arduino robot arduino çizgi izleyen devresi