collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: [Arduino] Robot Line Follower  (Lida 7098 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
[Arduino] Robot Line Follower
« em: 06 de Fevereiro de 2012, 18:39 »
Boas,
Depois de umas brincadeiras com o arduino estou a pensar começar o meu primeiro robot, que será um robot seguidor de linha e como a criação de um robot já é um passo mais difícil gostaria que me ajudassem um pouco neste projecto.

O material a utilizar vai ser o seguinte:

- Tamiya 70097 Twin-Motor Gearbox Kit (tenho)
- Ponte H l293d (tenho)
- Bateria (tenho)
- Tamiya 70098 Universal Plate Set
- Tamiya 70100 Track and Wheel Set
- Pololu QTR-8RC Reflectance Sensor Array

Já tenho os motores ligados à ponte e a funcionar.

O que precisava nesta fase e com alguma urgência pois o meu tempo livre está-se a acabar era que me indicassem uma loja que tenha em stock todo o material que tenho em falta e que me orientassem alguma leitura sobre o funcionamento do QTR-8RC com o arduino para me preparar enquanto não o tenho em minha posse.

Agradeço desde já toda a ajuda que puderem dar.

Cumps,
rkixa
« Última modificação: 06 de Fevereiro de 2012, 23:18 por rkixa »
-----> CENAS GEEK <-----

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [Arduino] Robot Line Follower
« Responder #1 em: 06 de Fevereiro de 2012, 23:21 »
Sobre o QTR-8RC nada melhor como a página  da Pololu sobre o mesmo, que até tem uma biblioteca para Arduino.
Avr fanboy

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
Re: [Arduino] Robot Line Follower
« Responder #2 em: 07 de Fevereiro de 2012, 04:43 »
Sobre o QTR-8RC nada melhor como a página  da Pololu sobre o mesmo, que até tem uma biblioteca para Arduino.

Já estive a ler sobre o sensor e é fácil de implementar recorrendo à biblioteca que falaste.

Agora queria só que me dessem uma linha de pensamento (não quero código) de como programar o robot para seguir uma linha sabendo que já tenho as funções de andar para trás e para a frente e para virar.

Já agora se souberes uma loja online que tenha todo o material que tenho em falta em stock agradecia bastante.

Peço desculpa tanta pergunta mas sou mesmo iniciante em electrónica/robótica, no que toca a programação estou à vontade falho é nesse ponto.
-----> CENAS GEEK <-----

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [Arduino] Robot Line Follower
« Responder #3 em: 07 de Fevereiro de 2012, 11:49 »
Talvez  a inMotion tenha isso, as lagartas talvez tenham, e o QTR-8RC.

A programação, o melhor é começares com uma folha de papel e pensar o que tu terias de fazer se tivesses de seguir uma linha.
Algo do género:
Ler QTR:
Se linha estiver num dos dois sensores do meio ou até mesmo nos dois, depende da largura da linha, continuar em frente.
Se linha aparecer á esquerda, virar á direita
Se linha aparecer á direita, virar á esquerda
Se não tiver linha parar.

O QTR-8RC retorna os valores de uma maneira meio estranha, do que me recordo, mas podes usar esses valores para determinar quanto tens de virar á esquerda ou á direita, pois não fazes logo uma curva a 90º, provavelmente o que te vai oferecer o movimento mais fluido será um loop de controlo PID, que terá como set point o centro da linha, como input o valor do QTR, limitado entre 0 e 255 para aplicar pwm aos motores e mais um bocadinho de código para meter os valores na mesma escala para bater tudo certo, mas isso podes deixar para a versão 2.

Uma outra boa fonte de inspiração é como sempre a internet, pesquisa um pouco pelo google por line follower Arduino, ou visita o Lets Make Robots.
Avr fanboy

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
Re: [Arduino] Robot Line Follower
« Responder #4 em: 07 de Fevereiro de 2012, 17:46 »
Muito obrigado pela ajuda ;)

Mandei mail à inmotion eles vão fazer uma encomenda de material à Polulu e já terão o stock para a semana e logo que tiver o material começarei com os testes, se surgir algum problema que não consiga utrapassar, pois não gosto de estar a perguntar sem tentar, voltarei aqui aos gurus.
-----> CENAS GEEK <-----

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: [Arduino] Robot Line Follower
« Responder #5 em: 07 de Fevereiro de 2012, 22:20 »

Engracado, a tua lista de material é basicamente o que utilizei no meu projecto  :)

Se quiseres da uma vista de olhos neste topico: http://lusorobotica.com/index.php?topic=2566.0 no fim tens o codigo para seguir linhas com o QTR-8RC e PID Control.

Abraço.

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
Re: [Arduino] Robot Line Follower
« Responder #6 em: 07 de Fevereiro de 2012, 23:27 »

Engracado, a tua lista de material é basicamente o que utilizei no meu projecto  :)

Se quiseres da uma vista de olhos neste topico: http://lusorobotica.com/index.php?topic=2566.0 no fim tens o codigo para seguir linhas com o QTR-8RC e PID Control.

Abraço.

Obrigado irei dar uma vista de olhos mas passo o código à frente porque não quero spoilers xD
-----> CENAS GEEK <-----

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
Re: [Arduino] Robot Line Follower
« Responder #7 em: 21 de Fevereiro de 2012, 20:24 »
Boas,
Já recebi o meterial em falta!!

Estou agora a testar o QTR-8RC mas estou com alguns problemas, já o liguei, confirmei que está a funcionar com a camera do telemóvel porém não estou a conseguir ler quaisquer valores.

Estou a usar o exemplo da biblioteca da polulu.

Código: [Seleccione]
#include <PololuQTRSensors.h>

#define NUM_SENSORS   2     
#define TIMEOUT       2500 
#define EMITTER_PIN   12   

PololuQTRSensorsRC qtrrc((unsigned char[]) {2, 3}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

unsigned int sensorValues[NUM_SENSORS];

void setup()
{
  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);
 
  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);
}

Serial Monitor:

Código: [Seleccione]
2500 2500
2500 2500

0 0     0
0 0     0
0 0     0
0 0     0
...

Alguém meconsegue ajudar e dizer o porquê disto?
-----> CENAS GEEK <-----

Offline rkixa

  • Mini Robot
  • *
  • Mensagens: 13
    • Cenas Geek
Re: [Arduino] Robot Line Follower
« Responder #8 em: 01 de Março de 2012, 22:18 »
Continuo com o mesmo problema e não vejo maneira de resolver conseguem ajudar-me por favor??
-----> CENAS GEEK <-----