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

.Net RC Project

Started by Marvin, 26 de September de 2010, 00:07

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

XicoMBD

Epá, desculpa estar-te a chatear, mas apareceram-me outras dúvidas quanto às câmaras.
Os transformadores delas são do UK, não são? Que adaptador para o nosso formato usas?
Outra coisa, a camara é reconhecida pelo pc como uma webcam  ou com um formato diferente?




PS: O teu projecto continua excelente, o brilho dos LED ficou brutal  ;D

Marvin

Quote from: XicoMBD on 05 de December de 2010, 23:17
Epá, desculpa estar-te a chatear, mas apareceram-me outras dúvidas quanto às câmaras.
Os transformadores delas são do UK, não são? Que adaptador para o nosso formato usas?
Outra coisa, a camara é reconhecida pelo pc como uma webcam  ou com um formato diferente?


PS: O teu projecto continua excelente, o brilho dos LED ficou brutal  ;D

Sim os transformadores são UK, eu uso um adaptador universal destes:

http://cgi.ebay.co.uk/UNIVERSAL-TRAVEL-PLUG-ADAPTOR-AND-USB-MAINS-CHARGER-/230508298239?pt=UK_ConsumerElectronics_PowerAdaptors_SM&hash=item35ab5d7fff


Com o easycap a camara é reconhecida pelo sistema exactamente como uma webcam.





Dronetech BlogThe Scientist and the Geek

rappa

boas!

para já deixa me dar te os parabéns porque esse bichinho esta porreiro :)

mas porque não usaste led s de infravermelhos? era mais tunning visto que não se via a luz mas a camera conseguia apanhar a luz do led

abraço
rappa

Marvin

Quote from: rappa on 03 de January de 2011, 20:40
boas!

para já deixa me dar te os parabéns porque esse bichinho esta porreiro :)

mas porque não usaste led s de infravermelhos? era mais tunning visto que não se via a luz mas a camera conseguia apanhar a luz do led

abraço
rappa

Obrigado!

Leds IV parecem-me bem... vou testar.  Mas penso que tinha de adaptar a camara, tipo tirar-lhe o filtro IV q tem. Mas posso testar.
Dronetech BlogThe Scientist and the Geek

xicox

Boas, tenho também um RC, e que quero liga-lo ao arduino mas quando ligo os fios que estão soldados nos pinos dos botões do comando, ao arduino, estes começam a activar a sua função, por exemplo

Pego no fio do pino para o carro para andar para a fente, ligo o pino a uma porta digital e o carro começa a andar sem eu ter programado, e os outros pinos também fazem o mesmo.

O que estarei a fazer de mal?

Marvin

Quote from: xicox on 03 de June de 2012, 18:54
Boas, tenho também um RC, e que quero liga-lo ao arduino mas quando ligo os fios que estão soldados nos pinos dos botões do comando, ao arduino, estes começam a activar a sua função, por exemplo

Pego no fio do pino para o carro para andar para a fente, ligo o pino a uma porta digital e o carro começa a andar sem eu ter programado, e os outros pinos também fazem o mesmo.

O que estarei a fazer de mal?

Colocas-te algum codigo na arduino?

Se sim, mete aqui para ver. Senão tenta ver se ligares o GND ao botão activa a função dele, se sim é pq precisas de colocar os pinos a High para eles n estarem activos.

Dronetech BlogThe Scientist and the Geek

xicox

#21
Quote from: Marvin on 03 de June de 2012, 19:29
Quote from: xicox on 03 de June de 2012, 18:54
Boas, tenho também um RC, e que quero liga-lo ao arduino mas quando ligo os fios que estão soldados nos pinos dos botões do comando, ao arduino, estes começam a activar a sua função, por exemplo

Pego no fio do pino para o carro para andar para a fente, ligo o pino a uma porta digital e o carro começa a andar sem eu ter programado, e os outros pinos também fazem o mesmo.

O que estarei a fazer de mal?

Colocas-te algum codigo na arduino?

Se sim, mete aqui para ver. Senão tenta ver se ligares o GND ao botão activa a função dele, se sim é pq precisas de colocar os pinos a High para eles n estarem activos.


Sim tem um código, eu ligo os fios nas portas certas mas o carro dispara logo para a frente, mesmo assim a programação é a seguinte:


int pin1 = 7;                 // Pino ligado ao pino digital 7 DIREITA
int pin2 = 8;                 // Pino ligado ao pino digital 8 ESQUERDA
int pin3 = 11;                 // Pino ligado ao pino digital 11 ATRAS
int pin4 = 12;                // Pino ligado ao pino digital 12 FRENTE



void setup(){
 
  Serial.begin(115200);
 
  pinMode(pin1, OUTPUT);      // Pino digital como saida
  pinMode(pin2, OUTPUT);     
  pinMode(pin3, OUTPUT);     
  pinMode(pin4, OUTPUT);
}

void loop(){
 
 
 
  if (Serial.available() > 0) {
  char motors = Serial.read();
   switch(motors) {
   
     case 'w':// Frente
        digitalWrite(pin1,HIGH);
       
     break;
     
    case 's':// atras
        digitalWrite(pin3,LOW);
     break;
     
    case 'a':// Esquerda
        digitalWrite(pin2,HIGH);
     break;
     
    case 'd':// Direita
        digitalWrite(pin1,HIGH);
     break;
     
   case 'g':// Stop
        digitalWrite(pin4, HIGH);             
        digitalWrite(pin3, HIGH);         
        digitalWrite(pin2, HIGH);
        digitalWrite(pin1, HIGH);
      break;
   } 
  }
}
 
 


Mesmo assim se eu tirar o ultimo fio, que neste caso o 12 que é o da frente, a seguinte porta a 11, activa, como é o fio para andar para trás o carro faz isso, e sempre assim



EDIT: quando ligo o arduino com só com código para pedir para ele andar para trás ele não obedece, ele anda para frente e vira a direita ao mesmo tempo, os motores deviam dar rotação inversa não sei por que motivo ele faz isto...

Marvin

Antes de testares qualquer codigo faz o seguinte teste. Dá energia ao comando, pega num fio do GND e toca nos contactos dos botões. Se o carro mexer nas direcções que estas a pedir então é pq os botões são activos em LOW.

Se ele n funcionar assim, tocas com o mais nos contactos. Se o carro andar assim é porque os botões são activos em HIGH.

Dronetech BlogThe Scientist and the Geek

xicox

#23
Eu para ver fiz medições nos pinos, eles sem estar pressionados davam 2.70V, quando eu pressionava, a voltagem ia a 0.
Para ver o pino que tive de ligar tive de fazer um "shunt" entre um dos pinos do botão que ligava à pista do IC à terra, e então a sua função activava, e fiz isso em todos os botões.

Na programação está programado para andar para trás o LOW activa a sua função e então eu fiz uma programação de teste que é essa aqui postada.

É porque cada vez que eu ponha uma programação seja para trás ou virar à esquerda o carro dispara para a frente e vira para a direita, ou seja, o que queira que eu faça os motores do carro disparam sempre no sentido dos ponteiros de relógio se quero dar inverso já não consigo... :(

Mas se eu tirar os pinos da frente e da direita, o carro já faz a sua função, pois eu estou a notar que os pinos funcionam como se fosse uma terra, porque se não fosse eles não activavam todos ao mesmo tempo....

iyahdub

Tentaste usar pull up resistors nos tais pinos que te estao a dar [rpoblemas ? podes activa-los de dentro do codigo, com os Atmel
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

xicox

Quote from: iyahdub on 04 de June de 2012, 18:06
Tentaste usar pull up resistors nos tais pinos que te estao a dar [rpoblemas ? podes activa-los de dentro do codigo, com os Atmel

Mas para arranjar esses componentes vou ter de os comprar e é um bocado complicado pois eu tenho de apresentar isto na sexta :S

Pois eu pensava que era só problema de programação...

iyahdub

Quote from: xicox on 04 de June de 2012, 23:07
Quote from: iyahdub on 04 de June de 2012, 18:06
Tentaste usar pull up resistors nos tais pinos que te estao a dar [rpoblemas ? podes activa-los de dentro do codigo, com os Atmel

Mas para arranjar esses componentes vou ter de os comprar e é um bocado complicado pois eu tenho de apresentar isto na sexta :S

Pois eu pensava que era só problema de programação...

Tou um bocado perdido na tua explicacao...Mas podes activar pull up/pull down resistors de dentro do codigo que os chip tem( sao e fracos). Mas Estou a dizer isto um bocado as cegas ja que nao consigo visualiozar  o teu probema totalmente. Mas se eles precisam de terra para activar, talvez ajude( la esta, depende do circuito no total)
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

xicox

deixem estar afinal o problema  era de programação.

Mesmo assim para quem tenha o mesmo problema que o meu eu deixo aqui o código:

int Direita = 7;              // Pino ligado ao pino digital 7 DIREITA
int Esquerda = 8;             // Pino ligado ao pino digital 8 ESQUERDA
int Tras = 11;                // Pino ligado ao pino digital 11 ATRAS
int Frente = 12;              // Pino ligado ao pino digital 12 FRENTE

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

void loop(){
 
 
 
  if (Serial.available() > 0) {
  char motors = Serial.read();
   switch(motors){
   
     case 'w':// Frente
        pFrente();
        break;
     
    case 's':// atras
        pTras();     
        break;
     
    case 'a':// Esquerda
        pEsquerda();
        break;
     
    case 'd':// Direita
        pDireita();
        break;
     
   case 'r':// Stop
        pStop();
       break;
   } 
  }
}


void pFrente()
{
  pinMode (Direita, INPUT);
  pinMode(Esquerda, INPUT);     
  pinMode(Tras, INPUT);     
  pinMode(Frente, OUTPUT);

}

void pTras()
{
  pinMode (Direita, INPUT);
  pinMode(Esquerda, INPUT);     
  pinMode(Tras, OUTPUT);     
  pinMode(Frente, INPUT);
}

void pEsquerda()
{
  pinMode (Direita, INPUT);
  pinMode(Esquerda, OUTPUT);     
  pinMode(Tras, INPUT);     
  pinMode(Frente, INPUT);
}

void pDireita()
{
  pinMode (Direita, OUTPUT);
  pinMode(Esquerda, INPUT);     
  pinMode(Tras, INPUT);     
  pinMode(Frente, INPUT);
}

void pStop()
{
  pinMode (Direita, INPUT);
  pinMode(Esquerda, INPUT);     
  pinMode(Tras, INPUT);     
  pinMode(Frente, INPUT);
}