LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: nevesp em 20 de Janeiro de 2010, 09:04

Título: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 09:04
Boa tarde.

Sou estudante do 12º ano de Informática.
No âmbito do meu curso, tenho de realizar um projecto final e optei por construir um Line Following.
O problema é que não tenho conhecimentos sobre robótica. Só sei a programação.
Fiz uma procura aqui no fórum e encontrei o Arduino. Será mais fácil construir com ou sem Arduino?
Será que alguém me pode arranjar uns tutoriais e uma lista de material necessário?

Cumprimentos.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 20 de Janeiro de 2010, 09:22
Com um Arduino não vais ter nenhum problema em concluir o teu projecto ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 09:43
Boas.

A linguagem de programação do arduino é C/C++ ?

Cumprimentos.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 20 de Janeiro de 2010, 10:07
A linguagem de programação do Arduino é Arduino, mas sim é baseado em C/C++ ;) Podes ver exemplo de programas aqui pelo fórum e reparas que não tens problema em perceber o código.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 10:46
Boas.

Podes-me indicar qual o material que me aconselhas.

Micro-controlador: Arduino Duemilanove c/ Atmega328
Infravermelhos: http://loja.lusorobotica.com/24-infravermelhos (http://loja.lusorobotica.com/24-infravermelhos)
Motores: http://loja.lusorobotica.com/30-motores (http://loja.lusorobotica.com/30-motores)
Rodas: http://loja.lusorobotica.com/28-rodas (http://loja.lusorobotica.com/28-rodas)

Se me faltar mais alguma coisa diz ;)

Cumprimentos
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 20 de Janeiro de 2010, 10:53
Visto a diferença de preços não ser muito grande compensa logo comprar estes:
Infravermelhos: http://loja.lusorobotica.com/99-reflectance-sensor.html (http://loja.lusorobotica.com/99-reflectance-sensor.html)

Quanto aos motores e rodas que tipo de locomoção queres que o teu robô tenha? Isto é, queres movimentos muito controlados, não. Alguma velocidade mais lento.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 11:05
A nível de locomoção não é necessária ser muito rápida. É uma coisa simples.
Para conectar tudo isto aconselham algum tipo de fios? E a nível de alimentação, quais são os packs mais recomendados?

Cumprimentos ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: microbyte em 20 de Janeiro de 2010, 11:07
A nível de locomoção não é necessária ser muito rápida. É uma coisa simples.
Sendo assim, aconselho-te a usares servos modificados para rotação contínua...
Para conectar tudo isto aconselham algum tipo de fios?
Nada de especial... Unifilar, multifilar, tanto faz...
E a nível de alimentação, quais são os packs mais recomendados?
Recomendo-te a usares pilhas recarregáveis... Compras um suporte para 6 e ficas aí com alimentação para umas horas se tiveres só um uControlador, 2 motores e uns sensores...
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 11:20
Obrigado pelas dicas ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 20 de Janeiro de 2010, 11:24
Um suporte destes http://loja.lusorobotica.com/suportes/20-suporte-de-pilhas-4xaa-quadrado.html (http://loja.lusorobotica.com/suportes/20-suporte-de-pilhas-4xaa-quadrado.html) para alimentares os motores por exemplo e uma pilha de 9V para alimentar o arduino.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 20 de Janeiro de 2010, 11:59
Olá nevesp,

Estou a ver que já tens muitos ajudantes, por isso fico-mo por te dar as boas vindas.

Qualquer questão que vá surgido é só postares, já viste que aqui todos apoiam o teu projecto.

Boa sorte com ele.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 20 de Janeiro de 2010, 12:14
Boas.
Obrigado a todos pelas dicas!  :D
Já encomendei algum material.
Cumprimentos  ;D
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nunosilvarocha em 20 de Janeiro de 2010, 12:23
Força nisso...
Vai descrevendo o teu projecto e umas fotos e sempre importante também...
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 21 de Janeiro de 2010, 19:13
Boas

Chegou hoje o Arduino.   ::)
Parece ser porreiro. Já consegui por 1 led a piscar.  ;D
Em principio chega amanha o resto do material.
Tenho uma dúvida. Tive a ler pela net tutoriais para ligar os componentes ao arduino utilizavam uma bridge (acho que é esse o termo técnico). Eu para ligar um infravermelhos e dois motores posso ligar tudo isto sem recurso a nenhuma bridge certo?
E por último, existe alguma forma segura de desligar o arduino? Ou basta remover o USB/Bateria?
Obrigado pelas dicas  ;)

Cumprimentos
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 21 de Janeiro de 2010, 19:28
Antes de mais, a forma segura de desligar o arduino é puxar a ficha :P

Podes começar por ler o que é uma ponte h:
http://lusorobotica.com/index.php/topic,262.0.html (http://lusorobotica.com/index.php/topic,262.0.html)

Numa frase, circuito que está entre o pedal do acelerador e o motor que faz com que com pouca energia possamos dizer se queremos que ande ou não, para que sentido e a que velocidade, mas do outro lado só sabe ouvir à bruta porque precisa de muita energia para alimentar o motor... Se calhar não ficou muito obvio, o melhor é leres mesmo o post do Fifas :P

Fica um tutorial:
http://lusorobotica.com/index.php/topic,1565.msg15267.html#msg15267 (http://lusorobotica.com/index.php/topic,1565.msg15267.html#msg15267)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 21 de Janeiro de 2010, 20:21
Boas nevsp :) bem-vindo ao LR...
tens aqui alguns tutoriais criados por vários utilizadores do forum que te poderão dar algumas ideias ;)
http://lusorobotica.com/index.php/board,91.0.html (http://lusorobotica.com/index.php/board,91.0.html)

boa sorte ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 21 de Janeiro de 2010, 20:22
Boas

Vamos la ver se eu percebi.
O meu objectivo é construir um daqueles robots que seguem uma linha preta.
Ou seja, para isso vou necessitar de dois motores e um infravermelho.
Logo vou ter de variar a velocidade e comutar o sentido da rotacao dos motores, ou seja, só consigo fazer isto com o recurso a uma ponte H? ???
Se eu utilizar uma ponte H tenho de utilizar tambem uma breadboard?
Desculpa la as perguntas todas, só comecei a mexer nisto hoje  ;D

Cumps  ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 21 de Janeiro de 2010, 21:36
Boas.

-quanto a variares a velocidade dos motores, podes variar (se quiseres, com um potenciometro por exemplo), mas isso é uma "função" indepente da parte de"seguir a linha preta" do robot, apenas podes colocar o robot para andar mais depressa ou mais devagar com essa funcionalidade, se assim o quiseres..

- quanto à inversão de marcha, não acho que seja necessário visto que este seguirá a linha sempre num sentido, mas da mesma forma que disse anteriormente, poderás colocar o robot para inverter a marcha se assim o desejares, mas também "essa funcionalidade" não interfirá na parte " de seguir a linha preta" do robot-

-quanto aos sensores infravermelhos, percisas pelo menos de dois.. ( eu aconcelhava estes: http://loja.lusorobotica.com/64-optical-detector-phototransistor.html (http://loja.lusorobotica.com/64-optical-detector-phototransistor.html)  , mas como vi em respostas anteriores outros utilizadores aconcelharam outros...)

estes sensores variam o seu valor ao estarem "no preto ou no branco" e é com a variação desse valor que vais programar no arduino para o robot andar para um lado quando o sensor X esta na parte branca, e para o outro lado quando o sensor Y esta na parte branca..entendes??

Ahhh! e quanto ao uso da ponte H (vê o dataheet da L293D), é obrigatório, podes não a usar, se perferires usar transistores e diodos "normais", o L293D é um integrado com os transistores e diodos já incluidos, o uso da ponte H (ou transistores e diodos) é obrigatório para alimentar os motores DC, pois se não o fizeres o motor não vai andar, pois a corrente máxima que o arduino fornece (acho que é 40mA mas não tenho a certeza) não é suficiente para fazer rodar os motores, daí o uso de transistores ser necessário ,

Ps: esta é a forma mais fácil que eu sei de fazer um seguidor de linhas  utilizando um microcontrolador (podes também fazer um por lógica, tens um exemplo dum nos topicos que enviei na resposta anterior (topico do Pauleta)).



Espero que te tenha esclarecido em alguns parametros..
Boa sorte e vai mostrando o projecto ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 21 de Janeiro de 2010, 21:56
Obrigado pelas dicas ;)
Amanha chega o material, depois vou dando noticias.

Cumprimentos ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 23 de Janeiro de 2010, 00:17
Boas a todos

Chegou hoje o material.  ;D
Neste momento tenho:
1x Arduino
2x Motores
1x Sensor Infra-vermelhos
1x Pack 9v (alimentar arduino)
1x Pack 6v (alimentar motores)
2x Rodas
1x Roda metal


Sobre os motores, a melhor forma de alterar o sentido da rotação é utilizando uma ponte h, ou seja, a que recomendam é a L293D? Uma vez adquirindo uma ponte H tenho de arranjar uma Breadboard, certo?
Qual é a ponte H e a Breadboard que me recomendam?  ???
Posto isto, acho que está tudo. Se me faltar alguma coisa digam sff.
Amanha vou postar umas fotos do chassis com o material.

Cumprimentos  ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 23 de Janeiro de 2010, 00:33
Aconselho a L293D e uma breadboard das compridas.. 700 furos se n tou em erro... pode parecer mt mas kk dia já usas 2 ou 3 :D

Para já prendes o arduino em cima dela e mais tarde se precisares de + espaço já tens...

Uma destas:
http://www.meteopt.com/forum/instrumentos-meteorologicos/mini-estacao-meteorologica-4073.html (http://www.meteopt.com/forum/instrumentos-meteorologicos/mini-estacao-meteorologica-4073.html)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 24 de Janeiro de 2010, 13:25
Boas

Em relação à BreadBoard já consegui arranjar uma das grandes.  ;D
E em relação à ponte H arranjei um LM293N . (era o único modelo disponível)
Sobre a Datasheet encontrei isto:
http://www.datasheetcatalog.org/datasheet/stmicroelectronics/2164.pdf (http://www.datasheetcatalog.org/datasheet/stmicroelectronics/2164.pdf)
Resumindo, tenho de ligar os dois motores na breadboard que vão ser alimentados por um pack de 6V mas não sei como deva ligar isto tudo...  :-\
Encontrei este tutorial:
http://arduinofun.com/blog/2009/10/25/duel-motor-driver/ (http://arduinofun.com/blog/2009/10/25/duel-motor-driver/) mas utiliza uma ponte H diferente..

Cumprimentos
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 24 de Janeiro de 2010, 14:14
Boas nevesp.
eu estive a ver o datasheet que postaste, e a sensação que tive é que o dataheet ou esta errado ou isso é um ampop (segundo o dataheet), oh observa a imagem que está no fim da 1ª página, têm dois ampops no interior desse integrado (eu acho),

mas estive a pesquisar também, e vê este dataheet ( http://www.datasheetcatalog.org/datasheet2/f/0xt5w1akzx8dd88ewqdxi35wa9py.pdf (http://www.datasheetcatalog.org/datasheet2/f/0xt5w1akzx8dd88ewqdxi35wa9py.pdf) ), já me parece mais correcto para a ponteH L293N, no inicio podes ver que o dataheet é válido para a ponte H L293N, D e NE...

no entanto acho que essa ponte H que tens nao tem os diodos  já integrados dentro da capsula do integrado para proteger os motores, o L293D já os tem, podes observar aqui: (http://www.datasheetcatalog.org/datasheet/texasinstruments/l293d.pdf (http://www.datasheetcatalog.org/datasheet/texasinstruments/l293d.pdf)), na página dois podes ver a forma como estao dispostos os diodos, no caso do L203D eles estao colocados no integrado (podes ver uma nota a dizer isso nessa mesma pagina).

Ps: diz quantas "patilhas" têm o teu integrado, 8 ou 16?..eu disse o que pensava, mas posso estar errado em algo que disse..caso tenha 8 eu diria que isso é um integrado com 2 ampops , caso 16 acho que é a ponte H..
Espera também a opinião de outros membros, pois poderei estar a induzir-te em erro, mas acho que o que disse faz sentido..

Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 24 de Janeiro de 2010, 14:32
Boas  :)
Este tem 8 patilhas
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: tcustodio em 24 de Janeiro de 2010, 15:17
nevesp, tal como o fred gomes disse, o IC que tens não é um H-bridge nem nada que se assemelhe, é um comparador: http://www.datasheetcatalog.org/datasheet/stmicroelectronics/2164.pdf (http://www.datasheetcatalog.org/datasheet/stmicroelectronics/2164.pdf)

também já me enganei a comprar ICs  ;D

vá, mas com tempo tudo se resolve
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 24 de Janeiro de 2010, 15:28
Tens aqui uma ponte H, é compativel com o L293D

http://loja.lusorobotica.com/componentes/15-h-bridge-motor-driver-1a.html (http://loja.lusorobotica.com/componentes/15-h-bridge-motor-driver-1a.html)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 24 de Janeiro de 2010, 16:07
Ok
Já encomendei 1 desses

Cumps  ;D
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 29 de Janeiro de 2010, 13:10
Boas

Consegui arranjar um L293DNE e já construi a ponte H.
Neste momento já consigo por o robot a andar para a frente, para traz, para a esquera e para a direita.
Em relacão ao sensor tenho um dúvida. O modelo que eu tenho é este, http://loja.lusorobotica.com/99-reflectance-sensor.html (http://loja.lusorobotica.com/99-reflectance-sensor.html) . Como é que eu o ligo ao arduino? Quais são as portas?

Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 29 de Janeiro de 2010, 16:40
Tens aqui um pequeno esquema que fiz no paint.

(https://lusorobotica.com/index.php?action=dlattach;topic=1920.0;attach=444)

Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 29 de Janeiro de 2010, 17:16
Boas

O esquema que eu tenho é este: http://arduinofun.com/blog/2009/10/25/duel-motor-driver/ (http://arduinofun.com/blog/2009/10/25/duel-motor-driver/), ou seja, já tenho a entrada GND e o VIN ocupadas por causa da ponte H.
Será que posso ligar o sensor a essas entradas também?

Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: ricardo-reis em 29 de Janeiro de 2010, 18:04
sim,podes..
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 01:34
Boas

A minha ideia é visualizar os valores do sensor na consola, para tal construi este programa, embora não estou a obter nenhum valor... tenho algum erro no código?

Código: [Seleccione]
int pin = 0;
int xpto;

void setup()
{
Serial.begin(9600);
}

void loop()
{
 
xpto = analogRead(pin);

Serial.print(xpto);

delay(1000);
}


Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 30 de Janeiro de 2010, 02:43
o "int pin = 0" o 0 deve ser o número do pino onte tens essa variavel..
o "int xpto" é uma variavel auxiliar que deve guardar um valor ( o que queres ler na consola), deves colocar "int xpto = 0" para que esse valor seja guardado.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 30 de Janeiro de 2010, 11:43
o "int xpto" é uma variavel auxiliar que deve guardar um valor ( o que queres ler na consola), deves colocar "int xpto = 0" para que esse valor seja guardado.
Não é necessário dizer que esta a variável xpto é igual a 0, pois do defeito acho que o avr-gcc coloca esta variável a 0.

Na consola terias que ver um valor qualquer a ser impresso de 1 em 1segundo mesmo que não tenhas nada ligado à entrada.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 12:45
Mas mesmo assim com este codigo nao consigo obter texto nenhum na consola...

Código: [Seleccione]
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("teste");
delay(1000);
}
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 30 de Janeiro de 2010, 12:49
queres obter um valor de quê?, será que tens isso bem ligado? coloca aqui uma foto do circuito sff..
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 12:57
Eu neste caso tenho o arduino ligado por USB ao pc e fiz o upload deste codigo:
Código: [Seleccione]
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("teste");
delay(1000);
}
Quero que me aparece na consola a palavra teste de 1 em 1 segundo. Nao tenho nada ligado ao arduino, nenhum motor nem nenhum sensor. Só queria obter um output na consola.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 30 de Janeiro de 2010, 12:58
Mas mesmo assim com este codigo nao consigo obter texto nenhum na consola...

Código: [Seleccione]
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("teste");
delay(1000);
}

Tu estás a ver isso na consola do Arduino? Não te esqueças que tens que carregar no topo no simbolo da consola para iniciar a recepção.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 13:02
Era isso... eu pensava que a consola estava em baixo mas não...
Obrigado xD
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 13:23
Só mais uma questão.
Em relação ao sensor, está ligado na porta vin, gnd e analog in 5 ao arduino.
Mas o único valor que obtenho do sensor na consola é sempre 0.
Será que ficou mal soldado?
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 30 de Janeiro de 2010, 13:26
tens "int pin = 5;" ?
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 30 de Janeiro de 2010, 13:27
sim

o codigo é este :
Código: [Seleccione]
int pin = 5;

void setup(){
Serial.begin(9600);
}

void loop(){
Serial.println(analogRead(pin));
delay(1000);
}
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: tcustodio em 31 de Janeiro de 2010, 04:54
Em relação ao sensor, está ligado na porta vin, gnd e analog in 5 ao arduino.

Tens o Vin do sensor ligado onde?
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 15:58
Boas
O vin do sensor está ligado a porta 5V do arduino
To farto de dar voltas com isto e não dá nada..
Cumps :)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 31 de Janeiro de 2010, 15:59
Não tens possibilidade de tirar uma fotos à tua montagem?
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: amando96 em 31 de Janeiro de 2010, 16:01
vin do arduino não são 5v, da maneira que disseste anteriormente parece que disseste que o vin do sensor estava ligado ao vin do arduino...
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 17:52
Não tens possibilidade de tirar uma fotos à tua montagem?
Imagens :
http://img62.imageshack.us/img62/176/53744470.jpg (http://img62.imageshack.us/img62/176/53744470.jpg)
http://img251.imageshack.us/img251/8769/81861360.jpg (http://img251.imageshack.us/img251/8769/81861360.jpg)


vin do arduino não são 5v, da maneira que disseste anteriormente parece que disseste que o vin do sensor estava ligado ao vin do arduino...
O vin do sensor está ligado a porta 5V do arduino
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 31 de Janeiro de 2010, 19:15
Faz um favor no teu código, coloca pin=0 e dis-me o mostra-me o resultado na consola.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 19:46
Faz um favor no teu código, coloca pin=0 e dis-me o mostra-me o resultado na consola.

Com o pin=0 e com o OUT do sensor na porta 5 obtenho estes valores:

338
356
375
385
372
364
376
383
377
363

Com o pin=0 e com o OUT do sensor na porta 0 obtenho estes valores:

0
0
0
0
0
0
0
0
0
0
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 20:11
Boas.

"Com o pin=0 e com o OUT do sensor na porta 0 obtenho estes valores:
0
0
..."

Aqui se calhar tas sempre a obter 0´s pq não alteraste a programação, tu tens "int pin = 5" se tricares o fio para outra entrada analogica e não alterares a programação é claro que ele não te vai "trocar isso automáticamente",

outra coisa, segundo o que me pareceu (peço desculpa se estiver errado) tas a fazer a leitura dos valores analógicos dum sensor de infra vermelhos (do tipo do CNY70), tou certo?? caso estejas experimenta colocar esse sensor no preto, ou no branco (vai variando) e vê se esses valores que te deu também variam... caso variem, tens o teu problema resolvido :)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 20:18
Po exemplo:

Se eu tiver pin=0 e o OUT do sensor estiver na porta correcta do arduino, neste caso a porta 0 eu obtenho o valor 0. A mesma coisa acontece para o pin=5 e o OUT do sensor na porta 5, tambem obtenho valor 0.
Ou seja, sempre que o pin corresponder a porta do arduino onde o OUT do sensor está ligado eu obtenho sempre valor=0 para quaisquer que sejam as portas.
A única coisa que me dá valores deiferentes de 0 é quando eu ponho pin=0 e por exemplo o OUT do sensor noutra porta qualquer.. por exemplo 5.. e aí obtenho o valores entre 300 e tal..
Mesmo quando o valor é 0, se eu colocar o sensor no preto ou no branco o resultado é sempre 0.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 20:22
http://www.syntax.com.tw/proddata/IC/IC-CNY70.JPG (http://www.syntax.com.tw/proddata/IC/IC-CNY70.JPG)

em 1º lugar alimenta o LED IV , e verifica com a câmera do telemóvel se está ligado,
de seguida liga o emissor do fototransistor ao + e "puxa" um fio do colector para a entrada analógica..

Ps: é assim que está ligado?, caso não liga assim e dá novidades ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 20:25
ahh! quando estás a colocar pin= 0 e a não colocar esse pino analogico no pino 0, não estas a lêr nada, pois deves lêr na porta que tens configurada ( a 0).
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 31 de Janeiro de 2010, 20:31
Esta a fazer curto-circuito nos pinos do sensor quase de certeza.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 20:32
Com o telemovel consigo ver uma luz no sensor.
Ou seja, quando o sensor está correctamente ligado à porta configurada é que eu obtenho sempre valor 0. Mesmo no preto como no branco.
O meu esquema é este: http://img251.imageshack.us/img251/8769/81861360.jpg (http://img251.imageshack.us/img251/8769/81861360.jpg)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 20:34
Esta a fazer curto-circuito nos pinos do sensor quase de certeza.

Só se for isso.. Não tenho muita prática a soldar xD
Mas eu acho que não ficou nenhum contacto colado ao outro. Mas eu vou verificar isso.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 20:36
pois, isso para não dar é pq está mal ligado de certeza, verifica o dataheet do sensor e vê se tens isso ligado correctamente,
é facil de vêr...
os terminais do LED são faceis de vêr quais são, alimentas o LED e verificas que está ligado, depois vex no dataheet, o ânodo/cátodo do LED esta do lado do colector ou emissor??, e assim já sabes onde está o emissor (ligas ao +), depois o colector já sabes, vai à porta..
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 20:41
Em relação á ligação está bem feita acho eu.
Mas acho que já sei porque é que está a dar erro. Se eu apertar as ligações do sensor já fica bom. Ou seja, quando está no preto fica muito perto de 0 quando está no branco obtenho valores altos.
Deve ter ficado mal soldado.
Obrigado  ;D
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 20:49
ainda bem :)
continuação de bons progressos ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 22:42
Boas
Já voltei a soldar o sensor pelo menos umas 3 vezes mas o resultado é sempre 0, mesmo no preto como no branco.
Mas há uma situação.... o sensor tem 3 pinos: VIN, GND e OUT
Quando eu encosto o dedo nos pinos VIN e GND do sensor o valor que obtenho na consola passa de 0 a 20 mais ou menos e quando eu ponho o sensor no preto o valor vai para 1...2... ou seja, valores muito baixos. Se eu retirar o dedo dos pinos VIN e GND o valor passa a 0 mesmo que esteja no preto ou no branco.
Não estou a entender nada disto. O esquema da ligação está bem feito à partida. E a soldura está bem feita e não existe nenhum pino a fazer contacto com outro....
Alguem sabe o que se passa?
Cumps
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 31 de Janeiro de 2010, 23:08
eu não vejo outra solução do que mau contacto, pq se quando encostas o dedo na alimentação do sensor ele já gera valores, e se não estás alterar nada no circuito nem na forma como tens os sensores ligados , acho que só pode ser mau contacto..vê se isso de facto está a fazer bem o contacto, e vai verificando se o LED não apaga ( se apagar é sinal de mau contacto (ou que o sensor se fundiu)).
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 31 de Janeiro de 2010, 23:13
Mas o mais estranho é que eu ligo a alimentação do sensor (vin e gnd) e com o telemovel eu verifico que a luz do sensor está sempre ligada, quando ligo o out o valor do sensor fica sempre em 0 e não varia.
Vou voltar a soldar isto.
Quando tiver novidades eu digo.
Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 01 de Fevereiro de 2010, 17:38
Boas,

Desta vez posso garantir que não é problema da soldadura.
Repeti este processo várias vezes e o resultado é sempre o mesmo.
Como já disse, quando ligo o VIN e o GND o sensor liga, embora quando ligo o cabo do OUT os valores lidos pelo sensor passam a ser 0. Com isto concluo que o problema poderá estar na célula que recebe uma vez que a que envia está a funcionar.
Vou tester com outros sensores diferentes.
Quando eu tiver novidades vou por umas fotos do trabalho.

Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: fred gomes em 01 de Fevereiro de 2010, 18:24
experimenta colocar um colocar um pull-up no OUT, e vê se funciona.. caso não funcione experimenta mesmo com outros sensores..
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: amando96 em 01 de Fevereiro de 2010, 19:39
Posso estar em erro, mas no esquema desse detector está um condensador em lugar de uma resistencia, para poder ser lido por pinos digitais.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.sparkfun.com%2Fdatasheets%2FRobotics%2FQTR1RCreflectancesensor.jpeg&hash=55c4a741773bb00b406aa9682fd06168d46e5d58)

sempre que ligo um LDR, ou algo que mude a resistencia, pelo que sei é preciso ter uma resistencia ligada ao polo oposto...
e neste sensor tem um condensador.

por isso com um pull up no out deve dar :)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 11 de Fevereiro de 2010, 15:50
Boas,

Tenho aqui um QTR-8RC Reflectance Sensor Array mas tenho algumas dúvidas...
Encontrei estes esquemas na net:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.pololu.com%2Fpicture%2F0J622.600.jpg&hash=6d59a5e00b93a89fed6a2188b0dc4affbfcff54c)
Código: [Seleccione]
QTR-8x reflectance sensor array with 8x2 connection pins labeled.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.pololu.com%2Fpicture%2F0J621.600.jpg&hash=3b5e6300894df06ed821df4c9c1e7903962fb09d)
Código: [Seleccione]
QTR-8x reflectance sensor array with 11x1 connection pins labeled.
No meu projecto só vou necessitar de 4 outputs, qual é o esquema mais indicado para mim?
Nos esquemas têm 3.3V BYPASS, ou seja, ligo aí a saida 3.3V do Arduino certo?
E já agora, o que é led on?

Cumps ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 11 de Fevereiro de 2010, 15:54
Tens aqui documentação para arduino:
http://www.pololu.com/docs/0J19 (http://www.pololu.com/docs/0J19)

Se estiveres com problemas depois de leres isso, avisa. Até sabado não devo de ter tempo para analisar mas posso ver se consigo encaixar algum tempinho.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: nevesp em 14 de Fevereiro de 2010, 01:06
Boas,

Em relação ao sensor a minha primeira dúvida é se é melhor ligar pelas portas digitais ou se existe possibilidade de ligar por portas analógias. Eu preferia as portas analógicas, não sei se é possível.
Depois em relação às ligações é onde tenho mais dúvidas, ou seja, posso ligar 5V no VCC?
A nível da programação não tenho problemas... é só mais na ligação do sensor com o arduino.

Cumprimentos  ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: tcustodio em 14 de Fevereiro de 2010, 03:06
Boa noite,
Nos esquemas têm 3.3V BYPASS, ou seja, ligo aí a saida 3.3V do Arduino certo?
tal como diz no segundo esquema: "Short these if VCC = 3.3V", ou seja, "ligue estes (pinos) se a alimentação dada for de 3.3V". Resumindo, só precisas de mexer naqueles pinos se quiseres dar 3.3V ao sensor, senão dás 5V e pronto.
E já agora, o que é led on?
Segundo o que entendi dos esquemas, pondo este pino no nível lógico 1 os leds do sensor estarão ligados: é uma maneira de poupar energia, assim podes ligar os leds apenas quando quiseres ver por onde anda a linha.
Em relação ao sensor a minha primeira dúvida é se é melhor ligar pelas portas digitais ou se existe possibilidade de ligar por portas analógias. Eu preferia as portas analógicas, não sei se é possível.
Segundo a documentação da polulu que o TigPT aqui deixou, o teu sensor só pode ser ligado às portas digitais:
Citar
The modules are available in two different output formats: the QTR-xA outputs an analog voltage between 0 and Vcc that
can be measured by an analog-to-digital converter (ADC), and the QTR-xRC outputs a pulse that can be measured by a
digital I/O line (the duration of which provides an analog measurement of reflectance).
Tens um QTR-8RC, não um QTR-8A ;)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 15 de Fevereiro de 2010, 12:07
Exacto, essa é a versão digital, contudo se pretenderes ligar a pinos analógicos, podes medir se está ou não linha pelos pinos analógicos, estes é que só vão dar valores perto de 0 ou perto de 1024 pois a saída é digital.

Normalmente as entradas analógicas são as que temos em menos quantidade e é mais complexo ligar multiplexores ou outros GPIO expanders por isso termos optado pela versão digital.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: metRo_ em 15 de Fevereiro de 2010, 14:04
TigPT pelo que li do post tcustodio ele não te dá um sinal entre 0 e 1 mas sim um 1 com duração diferente.
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: microbyte em 15 de Fevereiro de 2010, 15:24
Tanta coisa para tão pouco...

A Pololu (que é quem fabrica esses sensores), disponibiliza uma biblioteca para usar com o Arduino:
http://www.pololu.com/catalog/product/961/resources (http://www.pololu.com/catalog/product/961/resources)
Título: Re: [Iniciante] Line Following Robot com Arduino
Enviado por: TigPT em 15 de Fevereiro de 2010, 19:29
Tanta coisa para tão pouco...

A Pololu (que é quem fabrica esses sensores), disponibiliza uma biblioteca para usar com o Arduino:
http://www.pololu.com/catalog/product/961/resources (http://www.pololu.com/catalog/product/961/resources)

Já tinha indicado o link.. também não compreendo tanta confusão, mas obrigado!