collapse

* Posts Recentes

Arame de Estendal por almamater
[Ontem às 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


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


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]

Autor Tópico: [INICIAÇÃO] O nosso projecto  (Lida 32278 vezes)

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

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #60 em: 11 de Dezembro de 2010, 14:50 »

Offline NelsonPRSousa

  • Mini Robot
  • *
  • Mensagens: 180
    • O Crítico
Re: [INICIAÇÃO] O nosso projecto
« Responder #61 em: 11 de Dezembro de 2010, 16:50 »
Ok, então tens diferente daquele esquema do teu tópico em que ligavas dois fios das pilhas à PowerJack do Arduino. Duvida esclarecida.
Tenho 1 suporte para tudo.
Basicamente o positivo do suporte liga ao + da breadboard e o negativo do suporte liga ao -.
Depois um fio do - para o GND e um fio do + para o Vin.

Os motores estão normal, com a ponte de H (tal como no esquema).
Saudações robóticas a todos,
Nelson de Sousa

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #62 em: 11 de Dezembro de 2010, 17:31 »
Ok, só no esquema aparecia dois fios a vir do suporte para o PowerJack. De qualquer forma, não é isso que faz diferença quando já sei como é na verdade. Mal posso esperar que cheguem os componentes, tenho é de tratar do suporte estrutural. Só que em Área de Projecto temos de estar sempre a apresentar pré-projectos e reformulações, por isso, estou a tratar de trabalho "administrativo" até chegarem as coisas...

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #63 em: 14 de Dezembro de 2010, 23:29 »
Já chegou o Arduino, a Ponte H, a bread e os sensores. Os motores só chegam no final da semana porque vêm da Pololu. Já tive a "brincar" com o Arduino e tenho-me divertido bastante  :D Encontrei alguns tutoriais porreiros na net e até já começo a perceber algumas coisas sobre a estrutura do código e sobre as funções envolvidas...

Cumprimentos

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #64 em: 12 de Janeiro de 2011, 18:02 »
Boas pessoal,
Antes de mais, bom ano 2011 (já vem com 12 dias de atraso mas é o primeiro post de 2011 :P)

Durante este tempo todo, não desligamos do projecto nem de vir aqui. De facto, já conseguimos testar os motores com a ponte H e tudo bateu certo. Ainda não temos os condensadores nem as pilhas recarregáveis, mas não se preocupem, apenas testamos o circuito por alguns segundos para ver se funcionava tudo. Suponho que não faça mal (os problemas são a longo prazo). Neste momento, estamos a trabalhar em construir a estrutura, completar o circuito do robot (com os condensadores, etc.) e experimentar o sensor. Amanhã em princípio, vamos correr um programa que devolva os valores lidos pelo sensor ao pc (através de um serialprint) com o arduino ligado por USB.

O sensor é o array digital da Pololu. A embalagem vinha com uma resistência que no site aparecia montada no bloco "destacável" de 2 sensores. É só para o caso de se destacar o bloco que serve essa resistência ou é necessário uma resistência por cada sensor em funcionamento? (a esquemática no site confundiu-me quanto a isso). E depois cada sensor individual terá de estar ligado por um fio a um pino do Arduino e à GND. Se estiver alimentado por PC, qual é a ground? Convém ligar a ground do arduino a uma bus da breadboard e ligar as GND dos sensores aí também, certo? E a alimentação, ligo um fio do arduino pelo pino "5V" e isso alimenta os sensores (sendo que a energia está a sair do Arduino e não a entrar)?

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: [INICIAÇÃO] O nosso projecto
« Responder #65 em: 12 de Janeiro de 2011, 20:49 »
Em relação a esse array da pololu podes indicar a referencia?

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #66 em: 12 de Janeiro de 2011, 21:07 »
É o QTR-8RC Reflectance Sensor Array. Pelo que pesquisei, a resistência deve ser mesmo só para usar se se destacar o bloco de 2 sensores.

Depois também já escrevi o código de teste para amanhã (isto é, copy-pastei de vários sítios e ajustei para o meu caso). Gostava que alguém aqui visse. Já o posto.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: [INICIAÇÃO] O nosso projecto
« Responder #67 em: 12 de Janeiro de 2011, 21:14 »
Isto é o que é necessário fazer para ler os sensores:
Citar
The typical sequence for reading a sensor is:

Turn on IR LEDs (optional)
Set the I/O line to an output and drive it high
Allow at least 10 us for the 10 nF capacitor to charge
Make the I/O line an input (high impedance)
Measure the time for the capacitor to discharge by waiting for the I/O line to go low
Turn off IR LEDs (optional)

Não sei o vosso nível de conhecimento mas se não possuírem um conhecimento básico isto pode-se complicar. Procurem no forum que há quem os já tenha usado e até acho que já há bibliotecas.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [INICIAÇÃO] O nosso projecto
« Responder #68 em: 12 de Janeiro de 2011, 21:15 »
Na página desses sensor estão uma biblioteca da Pololu para arduino, é só copiar colar e usar o programa de teste que eles dão tambem.
É só ler isto tudo ;)

http://www.pololu.com/docs/0J19/all
« Última modificação: 12 de Janeiro de 2011, 21:17 por senso »
Avr fanboy

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: [INICIAÇÃO] O nosso projecto
« Responder #69 em: 12 de Janeiro de 2011, 21:16 »
Na página desses sensor estão uma biblioteca da Pololu para arduino, é só copiar colar e usar o programa de teste que eles dão tambem.

Sendo assim, óptimo :)

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #70 em: 12 de Janeiro de 2011, 22:18 »
Sim, sim nós já fizemos isso tudo. A biblioteca tem funções que executam esses passos que descreveste metro, penso eu. A minha dúvida prende-se mais com o hardware. Tendo em conta que o Arduino é alimentado pelo PC e não por uma bateria, como é que se alimenta o sensor? Liga-se o "5V" do Arduino ao "VCC" do sensor e aquela entrada do arduino passa a funcionar como output de energia e não input como se fosse alimentado por bateria?

O código que vamos usar é este:
Código: [Seleccione]
#include <PololuQTRSensors.h> //inclui a library da Pololu

PololuQTRSensorsRC qtr((unsigned char[]) {9,8,7,6,5,4,3,2}, 8);
//define os 8 sensores nos pinos 2 a 9 do Arduino (mudar consoante)

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

  int i;
  for (i = 0; i < 250; i++)
  {
    qtr.calibrate(); //faz 250 calibrações durante 5 s
    delay(20);       // passar o cartao de calibração neste momento
  }
  Serial.println("Calibrado");
}

void loop()
{
  unsigned int sensors[8]; // (não sei o que é) get calibrated sensor values returned in the sensors array, along with the line position
 
  int position = qtr.readLine(sensors);  // position varia entre 0 e 7000 em que 0 é à esquerda do sensor 1 e 7000 é à direita do sensor 8

  if (sensors[0] > 750 && sensors[1] > 750 && sensors[2] > 750 &&  sensors[3] > 750 &&  sensors[4] > 750 &&
  sensors[5] > 750 &&  sensors[6] > 750 && sensors[7] > 750)
      // se todos os 8 sensors see very low reflectance
  {   // está quase a cair ou no meio do percurso. fazer alguma coisa
   
    Serial.println("Tudo escuro"); //indicar esta situação
    return;
  }

  // definir o erro da posição da linha. O erro será 0 quando o sensor do meio estiver sobre a linha
  // como é pretendido. O erro vai variar entre -3500 e 35)0. Se o sensor 0 for o da esquerda e o 2
  // o da direita, um erro de -3500 significa que a linha está à esquerda e um erro de 3500
  // significa que a linha está à direita.
 
  int error = position - 3500;
 
  Serial.println(position); //podemos alterar entre "position" e "error" para ver ambos
  delay(1000);
}
 

O compiler não deu erros. Junta várias funções da página que mandaste, Senso, bem como alguns Serial.println para irmos acompanhando pelo PC o que está a acontecer. Peço desculpa se os comentários preenchem o ecrã, mas dão nos jeito para perceber. Afinal somos verdes nisto...

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [INICIAÇÃO] O nosso projecto
« Responder #71 em: 12 de Janeiro de 2011, 22:23 »
Sim, para alimentar o sensor ligas aos 5v e ao GND, os 5v só são entrada se não tiveres o arduino ligado a nada, se estiver ligado ao pc ou com um jack de alimentação ligado, o pino dos 5v é uma saida, por assim dizer.
Leiam atentamente a página da pololu e não troquem os 5v com a massa/GND provavelmente queimam o vosso sensor se fizerem isso.
Avr fanboy

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #72 em: 12 de Janeiro de 2011, 22:26 »
Ok, também vamos usar cores diferentes nos cabos, mas vou ter atenção reforçada nisso. Como o sensor tem várias GND (uma por individual) vamos usar a bread para ligar tudo. De qualquer forma, é só para testar...

O que achas do código?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [INICIAÇÃO] O nosso projecto
« Responder #73 em: 12 de Janeiro de 2011, 22:34 »
Basta ligar um GND tanto quanto sei, pois é partilhado.
O Aquilo que dizes não saber o que é no código chama-se array, é basicamente uma tabela para meter valores.
Avr fanboy

Offline projectoAREA

  • Mini Robot
  • *
  • Mensagens: 64
    • projectoAREA - blog
Re: [INICIAÇÃO] O nosso projecto
« Responder #74 em: 12 de Janeiro de 2011, 22:53 »
Ok, então está bem definido como está. Pronto.

Quanto à GND, tens razão. Li este PDF http://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf e diz isso mesmo. Mais tarde poderei vir a usar um LEDON para reduzir os consumos, mas por agora fica só o básico. Mais tarde também devo soldar uns headers fêmea para os fios ficarem melhor fixos: http://electrolaser.net/produto_det.php?id=19210&cat=AW.03

Obrigado pela ajuda