• Welcome to LusoRobótica - Robótica em Português.
 

[Dúvidas] Iniciação à robótica

Started by NelsonPRSousa, 17 de October de 2010, 13:57

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

NelsonPRSousa

Pessoal, não sei como irei conseguir identificar a vítima (será uma lata de 330ml coberta de alumínio) nem a zona de evacuação (será uma área preta).

Alguém me consegue explicar como detectar, em que consiste, e que materiais precisarei?
Saudações robóticas a todos,
Nelson de Sousa

Cynary

A lata, em princípio, um sensor de distância por infravermelhos é suficiente para a detectar, apenas tens de usar vários, para o robô "olhar" para várias direcções ao mesmo tempo.
Para a zona de evacuação é muito simples: coloca sensores de detecção de cor (só precisam de distinguir entre preto e branco, tais como os de detecção de linha) na perpendicular dos sensores de detecção de linha. Quando estes detectam branco e os do meio detectam preto, estás numa linha. Quando todos detectam preto, estás na área de evacuação.

NelsonPRSousa

Quote from: Cynary on 08 de November de 2010, 19:55
A lata, em princípio, um sensor de distância por infravermelhos é suficiente para a detectar, apenas tens de usar vários, para o robô "olhar" para várias direcções ao mesmo tempo.
Para a zona de evacuação é muito simples: coloca sensores de detecção de cor (só precisam de distinguir entre preto e branco, tais como os de detecção de linha) na perpendicular dos sensores de detecção de linha. Quando estes detectam branco e os do meio detectam preto, estás numa linha. Quando todos detectam preto, estás na área de evacuação.
Que sensores infravermelhos compro?
Acho que esta parte entendi.

Em relação à zona de evacuação compreendi mas não compreendi bem. Vamos lá ver:
- O robot está no final da linha preta. Agora que funções ele tem para ir até à área de evacuação? Anda aleatoriamente?

Obrigado!
Saudações robóticas a todos,
Nelson de Sousa

senso

Para a zona final, serão sensores de segue linhas, o QTR é perfeito para isso, para a lata, uns sharp para medir distancias deve ser o melhor.
Avr fanboy

NelsonPRSousa

Quote from: senso on 08 de November de 2010, 23:46
Para a zona final, serão sensores de segue linhas, o QTR é perfeito para isso, para a lata, uns sharp para medir distancias deve ser o melhor.
http://loja.lusorobotica.com/123-qtr-8rc-reflectance-sensor-array.html
Serão estes sensores. Preciso de comprar 2 placas destas?
Umas para seguir linhas e outras para detectar a zona de evacuação? Ou dá para fazer tudo na mesma?

Ora, a minha dúvida continua na mesma... Temos uma base sem linhas, sem indicações para o robot, como vai ele chegar à zona de evacuação? Os sensores só lêem por onde ele passa, e ele não passa por lá sem pré-indicações. Esta parte é que me está a fazer confusão - se calhar sou só eu a não ver bem a 'coisa'.
Saudações robóticas a todos,
Nelson de Sousa

senso

Uma dessas chega bem, pelo que vi em fotos o triangulo é bem grande, se leres a resposta do Cynary e associares, percebes que quando chegas ao triangulo vais ficar com os sensores todos o QTR a ler preto, logo crias um if no teu programa para verificar essa condição, se sim o teu robot está no fim, se o robot não tem uma linha para seguir, pode seguir com o protocolo de andar em frente e evitar obstaculos usando sensores de distancia para saber se tem alguma coisa á frente.
Não leves isto a mal nem como algo desmotivador, mas vais ter que partir MUITA pedra para meter o robot a fazer tudo o que queres, mas com empenho e força de vontade, nada é impossivel e só ficas a ganhar pois vais aprender muito.
Avr fanboy

NelsonPRSousa

Saudações robóticas a todos,
Nelson de Sousa

senso

Com 4.8v ligas directo ao Vin do arduino e não usas nenhum LM7805.
Avr fanboy

NelsonPRSousa

Quote from: senso on 22 de November de 2010, 19:37
Com 4.8v ligas directo ao Vin do arduino e não usas nenhum LM7805.

Erro meu.
Eu tenho 2 suportes de 4 pilhas AA, totalizando um total de 1.2*8=9.6V em pilhas com 2.3A.


Todo o resto está bem?
Saudações robóticas a todos,
Nelson de Sousa

NelsonPRSousa

Olá pessoal,

Estou com alguns problemas na montagem do meu primeiro robot, que consiste em apenas os motores começarem a andar. Assim que ligo tudo, conforme consta no esquema que fiz, o Arduino apenas acende o ON e nada mais acontece. Nem um único ranger dos motores.

Imagem do esquema que fiz:


Código que embuti no Arduino:
int motor1Pin1 = 4;    // Ponte H
int motor1Pin2 = 5;    // Ponte H
int motor2Pin1 = 6;   // Ponte H
int motor2Pin2 = 7;   // Ponte H

void setup() {

  // Definir os pinos outputs:
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
}


void loop() {
  //Vamos testar o gajo :)

    digitalWrite(motor1Pin1, HIGH);  // Este pino HIGH, em conjunto com o de baixo LOW
    digitalWrite(motor1Pin2, LOW);   // Fazem com que o motor da direita ande em frente
   
    digitalWrite(motor2Pin1, LOW);   // Este pino LOW, em conjunto com o de baixo HIGH
    digitalWrite(motor2Pin2, HIGH);  // Fazem com que o motor da esquerda ande em frente
    delay (1500);                    // Tempo que vai ficar a fazer esta função
   
    //Agora é inventar....fazer como quiserem...
    //O ideal seria utilizar a funçao AnalogWrite para controlar a velocidade por PWM
    //Mas o digitalWrite torna as coisas mais simples
    //O inconveniente, é que anda sempre á velocidade máxima
    //O resto do código vai fazer o Smalluino Mexer :D
    //Dúvidas: [url=http://www.lusorobotica.com]www.lusorobotica.com[/url]

    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
   
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    delay (1500);
   

    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
   
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    delay (1500);


    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
   
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
    delay (1500);

}

[O código só teve alterações no início, para especificar os Pins da Ponte H para os que liguei. Todo o resto é igual ao utilizado no Smalluino V1.5, original do Fifas.]

Obrigado pela ajuda!
Saudações robóticas a todos,
Nelson de Sousa

amando96

Tens os motores como? a rodar sem resistência? tens gearbox? se estiveres já a testar num chassis levanta-o do chão, senão, o mais certo é algo estar mal ligado.

NelsonPRSousa

Quote from: amando96 on 28 de November de 2010, 15:39
Tens os motores como? a rodar sem resistência? tens gearbox? se estiveres já a testar num chassis levanta-o do chão, senão, o mais certo é algo estar mal ligado.
Ainda tenho tudo ligado sem chassi, sem rodas, sem nada disso.
Tenho gearbox, sim, e estão livres (não têm rodas, sequer).

Já confirmei 4 vezes, está tudo bem.  :-\
Saudações robóticas a todos,
Nelson de Sousa

fre_deri_co

acabo de tentar ajudar o Nelson testando a ponte h ... e acontece que completamente aparte do Arduino testou-se a ponte h (SN754410) alimentando directamente os pins (que normalmente é o micro controlador que alimenta com o objectivo de dar a direcção) de controlo aos 5v e GND correspondentemente... e acontece que segundo o feedback do Nelson foi negativo, nada se move.... agora questiono a quem ja usou destas pontes h se é normal este componente queimar com facilidade ou ate mesmo ja vir com defeito?!
que sempre se partilhe o conhecimento para que sempre se evolua!!!
Frederico Pereira

amando96

Reparei agora que um dos motores está mal ligado, o de baixo na imagem.

fre_deri_co

mal ligado?! pode dizer o que se encontra errado  :o
que sempre se partilhe o conhecimento para que sempre se evolua!!!
Frederico Pereira