collapse

* Posts Recentes

Circuito Microfone que funcione por almamater
[Hoje às 17:14]


Emulador NES em ESP32 por dropes
[22 de Abril de 2024, 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 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]


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]

Autor Tópico: Robot Wireless - Câmera, GPS, entre outros.  (Lida 42140 vezes)

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

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #90 em: 15 de Abril de 2012, 01:23 »
Boas, sim a configuração do ser2net é essa. eu na altura não usei o ser2net, bastou me usar um terminal para configurar esses parametros tipo (HyperTerminal - Windows) ou Zterm(Linux/MAC)....

Isso é estranho não aparecer nada, mas tenta seguir por este tutorial do nuno que existe aqui no forum a ver se o ajuda:

http://lusorobotica.com/index.php?topic=3361.msg38199#msg38199


O router não é igual e ele esta a usar o DD-WRT mas é a mesma treta... ;)

Cumprimentos,
André Carvalho.
Cumprimentos,
André Carvalho.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #91 em: 15 de Abril de 2012, 01:31 »
Boas, sim a configuração do ser2net é essa. eu na altura não usei o ser2net, bastou me usar um terminal para configurar esses parametros tipo (HyperTerminal - Windows) ou Zterm(Linux/MAC)....

Isso é estranho não aparecer nada, mas tenta seguir por este tutorial do nuno que existe aqui no forum a ver se o ajuda:

http://lusorobotica.com/index.php?topic=3361.msg38199#msg38199


O router não é igual e ele esta a usar o DD-WRT mas é a mesma treta... ;)

Cumprimentos,
André Carvalho.

Boas,

Eu também estou a usar o DD-wrt. Achas que é preferível o Open Wrt?

E já agora, uma questão: quando estou a configurar o ser2net, ou mesmo a tentar enviar algo da cmd por echo para o Arduino, costuma aparecer algo do género:

/dev/tts/0
/dev/tty/x

E isto leva-me a algumas questões:

- Como saber qual é o "endereço" da serial port?
- TTS e TTY? Qual a diferença?
- E os números, são o ID da serial port? Sendo serial port é sempre constante, certo?

E para já é só :P

Cumprimentos,

Tiago Ferreira.

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #92 em: 15 de Abril de 2012, 10:15 »
Boas,

Eu também estou a usar o DD-wrt. Achas que é preferível o Open Wrt?

E já agora, uma questão: quando estou a configurar o ser2net, ou mesmo a tentar enviar algo da cmd por echo para o Arduino, costuma aparecer algo do género:

/dev/tts/0
/dev/tty/x

E isto leva-me a algumas questões:

- Como saber qual é o "endereço" da serial port?
- TTS e TTY? Qual a diferença?
- E os números, são o ID da serial port? Sendo serial port é sempre constante, certo?

E para já é só :P

Cumprimentos,

Tiago Ferreira.

Não usei o DD-WRT não posso falar sobre ele....

Em relação as portas sim são constantes....
Diferença entre tts e tty por acaso tambem não sei...

Para saber o ID das portas, eu no meu acedia ao router e na linha de comandos do router fazia "cd /dev/"...
e aparecia me as portas disponiveis...

Cumprimentos,
André Carvalho.
Cumprimentos,
André Carvalho.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #93 em: 15 de Abril de 2012, 12:27 »
Boas pessoal,

um pequeno update:

Durante a ligação da porta série, desconfio que estraguei a ligação do GND na PCB. Confesso que cheguei a medir com um multímetro e julgo que o resultado que me dava (deviam ser 3.3V) nem sequer chegava a 0.25V. Como tal, hoje voltei a desmontar o router e confirmo que a ligação tinha algum problema. Para resolver "permanentemente" fui buscar o GND à entrada de corrente e liguei com um fio ao pino estragado. Agora com um multímetro já obtenho 3.25V estáveis. Confesso que nem tenho a certeza do problema ser daqui, nem se esta resolução resolve ou não o problema, mas julgo que sim.

Vou re-tentar tudo de novo, ainda com o DD-Wrt e ver se é desta!

Cumprimentos,

Tiago Ferreira.


Update1:

Pessoal, está a dar! Desconfio que este tenha sido o meu problema desde o início, embora tenha de confessar que não sei o porquê de não ter dado com USB. É só seguir o tutorial indicado pelo Zord e dá!
« Última modificação: 15 de Abril de 2012, 12:35 por tgferreira »

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #94 em: 15 de Abril de 2012, 16:25 »
Fico contente Tiago por ter conseguido... ;)

Cumprimentos,
André Carvalho.
Cumprimentos,
André Carvalho.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #95 em: 15 de Abril de 2012, 20:52 »
Boas pessoal!

Tenho outra dúvida agora:

Básicamente quero poder comunicar do PC para o Arduino, mas do Arduino para o PC também. E agora estou um bocado confuso, porque teoricamente tenho que cruzar os cabos do Arduino e do router: Tx com Rx e Rx com Tx. Mas como estou a usar o Logic Level converter da Sparkfun confesso que estou confuso em duas coisas.

Esta imagem explica o arranjo dos cabos teorico, para ter comunicação nos dois sentidos:




Mas ao testar com a configuração acima indicada, e tentando com um código no Arduino a fazer serialprint, e a tentar enviar texto através da CMD para o Arduino não dava. Como tal, fui ver na página da sparkfun e vi este comentário:

"1. The Tx lines are bidirectional. HUGE selling point & important for people using protocols like I2C. The Rx lines are unidirectional; only 5 to 3.3v"

E também vi alguns comentários a dizer que há alguns problemas com voltage drop. Por outras palavras, estou confuso novamente.

Quanto ao primeiro comentário, julgo que posso resolver o problema de uma maneira simples. Imagem abaixo a explicar:



É assim? Julgo que deste modo como estou a usar as linhas bidirecionais já não há problema! Estou correcto?

E por fim: vou ter problemas com o tal voltage drop? Eu julgo que não, uma vez que cada coisa usa a sua fonte de alimentação, mas posso estar errado.

Cumprimentos,
Tiago Ferreira.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #96 em: 24 de Abril de 2012, 23:23 »
Boas pessoal,

Tenho uma dúvida para a qual não encontro resposta:

para ler data que envio do arduino (por exemplo um serial print) para o router, como faço para a ler? através de onde é que a posso receber e como?

Obrigado!

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #97 em: 03 de Maio de 2012, 22:01 »
Boas pessoal,

Entretanto tenho uma série de novos updates:

Já tenho cá todo o material a usar, excepto a câmera IP. Felizmente já sei acender/apagar um LED remotamente (através do router), mas continuo com um problema "básico":

Em primeiro lugar só consigo transmitir DATA do router para o Arduino. Do Arduino para o router ainda não me apercebi como o posso fazer, de maneira que isso fica em standby.

Bom, tenho um código muito simples, de apagar e acender um LED no arduino. É isto:

Citar
#define LED 13

int input = 0;     

void setup() {
  pinMode(LED,OUTPUT);   
  Serial.begin(9600);       
}

void loop () {
  input = Serial.read();     

 
  if (input == '1' ) {
    digitalWrite(LED,HIGH);
    Serial.println("LED13 is ON");
  }
  if (input == '0'){
      digitalWrite(LED, LOW);
      Serial.println("LED13 is OFF");
  }
}

Resumindo: se receber "1", acende o LED, e se receber "0", apaga-o. Além deste código já fiz um que faz o mesmo mas com mais algumas coisas. Como podem reparar, a baud rate é de 9600bps.

No entanto, como o router está quase sempre a enviar informação pela serial port, aparecem muitos "1"'s e "0"'s isolados, o que faz com que o LED se acenda e apague sem eu querer. Para resolver isto julguei que aumentanto o "input" para (por exemplo) "111111111" que fosse resultar. Mas não deu. Fiz alguma leitura e pensei que fosse da baudrate muito alta para o Arduino (nesta altura tinha-a a 115200bps), mas continuou sem dar. Como tal, tenho que vos vir chatear outra vez :P

Ah, a baudrate do router é de 115200bps. No entanto, julgo que a consegui por a 9600bps, para dar com o Arduino. Mesmo tentando com um input maior do que apenas um carácter, já não dá. Alguém me sabe dizer como posso por isto a dar?

Finalizo anunciando que no máximo em duas semanas ponho cá fotografias e organizo o tópico, para ajudar quem necessite.

Cumprimentos,

Tiago Ferreira.


UPDATE 1:

Boas pessoal,

Fiz mais alguma pesquisa e acho que vou ter que usar uma string. No entanto, não percebo  mesmo nada dos exemplos de código que já vi nem como adaptar o código deste post. Para já está-me a dar um erro: "ICO C+ forbids compariosion between pointer and integer". E agora é que estou mesmo à rasca....
Alguém pode dar um empurrãozito? Obrigado :)
« Última modificação: 03 de Maio de 2012, 23:26 por tgferreira »

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #98 em: 06 de Maio de 2012, 23:14 »
Boas!

Então, aqui vêm updates:

Como já devem ter reparado num outro tópico onde pedi ajuda com o código, já encontrei a solução. Podem consultar o tópico aqui ou ver apenas o código aqui em baixo:

Código: [Seleccione]
#define SOP '!'
#define EOP '?'

int motdf = 6;
int motdt = 7;
int motef = 8;
int motet = 9;


bool started = false;
bool ended = false;

char inData[80];
byte index;

void setup()
{
   Serial.begin(115200);
   pinMode(13, OUTPUT);
   // Other stuff...
}

void loop()
{
  // Read all serial data available, as fast as possible
  while(Serial.available() > 0)
  {
    char inChar = Serial.read();
    if(inChar == SOP)
    {
       index = 0;
       inData[index] = '\0';
       started = true;
       ended = false;
    }
    else if(inChar == EOP)
    {
       ended = true;
       break;
    }
    else
    {
      if(index < 79)
      {
        inData[index] = inChar;
        index++;
        inData[index] = '\0';
      }
    }
  }




  if(started && ended)
  {
 

    if (strcmp(inData, "AAAA") == 0){
      analogWrite(6, 255);
      analogWrite(7, 255);
      analogWrite(8, 255);
      analogWrite(9, 255);//x
    }
    if (strcmp(inData, "BBBB") == 0){
      analogWrite(6, 0);
      analogWrite(7, 0);
      analogWrite(8, 0);
      analogWrite(9, 0);
      //y
    }
   
    if (strcmp(inData, "CCCC") == 0) {
      analogWrite(6, 127);
      analogWrite(7, 127);
      analogWrite(8, 127);
      analogWrite(9, 127);
     
    }
   
    if (strcmp(inData, "DDDD") == 0) {
      analogWrite(6, 255);
      analogWrite(7, 255);
      analogWrite(8, 0);
      analogWrite(9, 0);
         
    }
   
     if (strcmp(inData, "EEEE") == 0) {
      analogWrite(6, 0);
      analogWrite(7, 0);
      analogWrite(8, 255);
      analogWrite(9, 255);
         
    }

    // Reset for the next packet
    started = false;
    ended = false;
    index = 0;
    inData[index] = '\0';
  }
}

(este código é ligeiramente diferente, uma vez que é para os motores e não para o LED. No entanto o princípio de funcionamento é básicamente o mesmo).

Agora, finalmente as fotos:


Nestas primeiras duas fotografias podem ver como é que estão presas as rodas. Acredito que isto ainda vá levar um reforço e de certeza que os hubs das rodas vão ter que ser trocados. Neste momento andam aos S's. (Como os hubs eram de 4mm e o shaft do motor de 6mm tive que alargar...). Se alguém tiver uma sugestão para este ponto, diga!








Nesta última fotografia, POR FAVOR não liguem à desarrumação. Dá para ver algumas peças, embora isso depois ainda vá levar mais e ainda vá ficar bem mais arrumado. Ah, esse conversor foi um que comprei numa grande superfície comercial de 2Amperes. Custou 7€ e já vem tudo montado e pronto a ser utilizado, sem ter que me chatear com circuitos. Não sei se irá ficar sempre nessa "caixa" ou não...



Agora, tenho duas questões:

Básicamente falta fazer a interface gráfica para controlar o Arduino por wireless. Que linguagem me aconselham? Tenho pouco tempo e algo que pudesse ser controlado por teclado era espectacular. Básicamente, para cada comando só tenho que fazer o seguinte:

ligado por SSH ao router; "echo !COMANDOAQUI? >/dev/tts/0"

O que aconselham?


E a última: alguma sugestão estética para o aspecto final do robot? :P

Cumprimentos,
Tiago Ferreira.
« Última modificação: 06 de Maio de 2012, 23:16 por tgferreira »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #99 em: 06 de Maio de 2012, 23:25 »
Os cubos dos motores, ou centras bem isso num berbequim de coluna e furas em passos de 1mm, ou seja primeiro a 5mm e depois a 6mm para minimizar erros ou vais a um torneiro, que é capaz de te pedir 20€ para te fazer 4 cubos desses bem feitos de raiz.
Linguagem rápida e leve para o router, nada melhor que python.
Avr fanboy

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #100 em: 06 de Maio de 2012, 23:29 »
Os cubos dos motores, ou centras bem isso num berbequim de coluna e furas em passos de 1mm, ou seja primeiro a 5mm e depois a 6mm para minimizar erros ou vais a um torneiro, que é capaz de te pedir 20€ para te fazer 4 cubos desses bem feitos de raiz.
Linguagem rápida e leve para o router, nada melhor que python.

Boas!

Pois, mas para arranjar cubos destes já feitos tenho de comprar 4 rodas (julgo). Acho que vou tentar fazer com umas coisas que já cá tenho. Mas a parte principal agora é a GUI.
De acordo com o que disseste, "linguagem rápida e leve" - Mas o router não recebe só o comando (echo etc...) ?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #101 em: 06 de Maio de 2012, 23:37 »
Não sei como estás a implementar isso.
Tanto podes ter um interface via um ethernet com uma página web, ou fazes ssh para o router e correr lá o programa ou se lhe mandas só mesmo os comandos sem o router ter programa nenhum.
Os cubos, se isso for como várias rodas que já vi, tem um centro hexagonal, se for isso os torneiros têm barras hexagonais, é tornear á medida os centros e abrir rosca.
Avr fanboy

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #102 em: 06 de Maio de 2012, 23:38 »
Tiago tens uma interface com os comandos via teclado feitos já em python, mais rapido? lol...

Agora é so acrescentar coisas...

Código: [Seleccione]
import Tkinter as tk
from Tkinter import *
import paramiko
from sys import exit

master= tk.Tk()
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def forward():
    ssh.exec_command("echo w>/dev/ttyS0")

def connect():
    ssh.connect('192.168.1.1', username='root', password = 'xxxxxxx')
   
def keypress(event):
    if event.keysym == 'Escape':
        master.destroy()
    x = event.char
    if x == "w":
        forward()
        print "forward"
    elif x== "c":
        connect()
        print("connect")


f = Frame(master,bd=0,bg="white",relief=SUNKEN)
f.grid(column=0,row=0,columnspan=10,sticky=NW)


button = Button(f, text="FORWARD", width=10, relief=RAISED,command=forward)
button.grid(row=0, column=1)

button5 = Button(f, text="Connect", width=10, relief=RAISED, command=connect)
button5.grid(row=3, column=0)

#master = tk.Tk()
print "Press a key (Escape key to exit):"
master.bind_all('<Key>', keypress)

master.mainloop()
sys.exit()
   

Python sem duvida, facil e rapido para interagir com SSH....

Tá com bom aspecto, isso a desarrumação é normal, agora é ir aperfeiçoando...  ;)
« Última modificação: 06 de Maio de 2012, 23:42 por zordlyon »
Cumprimentos,
André Carvalho.

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #103 em: 07 de Maio de 2012, 07:53 »
Tiago, uma pergunta- A escolha de uso do router for circunstancial, correcto?!? Orcamento, etc ?!?
Ou foi baseada em algo que o "forcava" ?!?
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Robot Wireless - Câmera, GPS, entre outros.
« Responder #104 em: 09 de Maio de 2012, 17:47 »
Boas!

Zordlyon, tentei o teu código mas devo estar a fazer algo mal. Mudei o Tkinker para tkinker, coloquei o meu código a ser enviado para a porta correcta, etc, mas nem sequer consigo abrir o código. Quando tento executá-lo abre-me uma janela cmd e fecha instantaneamente. Teóricamente, não deveria conseguir abri-lo?

iyahdub (confundo-me sempre com o teu nick :P):
Eu primeiro comprei um módulo Wireless da Gainspan, mas nem sequer estava a conseguir ligá-lo em condições, e havia pouca informação. Entretanto por conselho da malta aqui do fórum e pesquisa na net descobri que um router também dava para o que queria e até me facilitava imenso a vida. O preço de cada coisa foi mais ou menos o mesmo, mas o router que comprei foi novo e não foi na loja mais barata. Confesso que como tinha bastante pressa preferi evitar usados e gastei provavelmente mais uns 30 ou 40€ do que se comprasse usado ou noutro país. No entanto, há mais routers com capacidade de fazerem o mesmo e mais baratos. Btw, ainda aqui tenho o módulo, depois hei-de o colocar na secção de vendas. Se alguém o quiser comprar faça proposta, é mesmo para despachar!

Ah, e desculpem pela demora a responder. Testes não perdoam e como estamos no final do ano tive mesmo que evitar perder tempo ao máximo...

Cumprimentos,
Tiago.