collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


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


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


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]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: ArdFonCar  (Lida 9536 vezes)

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

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
ArdFonCar
« em: 08 de Março de 2011, 19:09 »
Cá esta um novo projecto ainda em desenvolvimento, que deriva do meu topico de duvidas (http://lusorobotica.com/index.php?topic=3314.0), agora numa forma mais formal.
O nome deriva da junção do Arduino, um Fonera e uma plataforma com rodas.
Trata-se então de uma plataforma com rodas controlado por um Arduino que recebe dados de um Fonera que são enviados pelo computador.
Acho melhor portanto ir dividindo as coisas e passar a apresentação.

A plataforma

    Material
  • Placa pvc expandido
  • Varão roscado
  • Anilhas
  • Porcas
    Ferramenta
  • Serra tico-tico
  • Maquina de furar
  • Broca
  • Lixa

A construção

O primeiro passo da construção foi o desenho da plataforma, algo que me pudesse dar uma ideia do resultado final, usei a ferramenta Google Sketchup e desenhei a ideia que tinha para a plataforma em 3D.
E o resultado foi este:



Depois de ter o desenho do projecto concluído iniciei a passagem para o material.
Desenhei no PVC expandido as formas da base a recortar.



Depois de ter tudo desenhado iniciei os recortes.
Para isso usei uma Serra tico-tico com uma lamina para cortar ferro, foi a que achei mais adequada.
O PVC Expandido é um material fácil de cortar.
Acabado os cortes foi tempo de por a maquina de furar a trabalhar e fazer todos os furos necessários.
Um pouco de lixa para dar os últimos retoques e o resultado final:



Como se trata de uma plataforma de 2 andares utilizei um varão roscado para fazer a fixação, umas porcas e umas aninhas e a base estava concluída.



Estando a plataforma concluída foi tempo de alguns testes.
Montei o Arduino, os servos moto,r as rodas, uma breadboard e uma ponte H, com um código simples fiz a plataforma mover-se para a frente, para trás e para os lados para ver a estabilidade e os resultados foram positivos.

A plataforma está pronta!!


Arduino e o Fonera

  Material
  • Arduino Duemilanove
  • Fonera 2200 (DD-WRT)
  • Fio condutor
  • Computador


A montagem

A montagem entre o Arduino e o Fonera foi bastante simples.
O Fonera possibilita-nos a ligação por serie pelos pinos que podemos encontrar no interior do mesmo, e no Arduino utilizamos os pinos Rx e Tx (pin 0 e 1).
Como dentro do Fonera não encontramos a designação de cada pino uma pequena pesquisa revelou essa informação.
No finar vamos ter uma ligação deste tipo:


A comunicação e programação

Até aqui o trabalho foi fácil, a parte difícil é a comunicação.
O Fonera já se encontrava flashado com DD-WRT, para libertar o acesso ao ssh e para libertar outras funções, tornando-o bastante mais versátil. O processo de flashar o Fonera não vai ser abordado aqui, e há montes de tutoriais na net.
Para podermos enviar dados para a porta de serie do Fonera temos que estabelecer uma ligação via wireless com o mesmo, e efectuar uma ligação por ssh.
Numa fase inicial usei um programa chamado Putty (http://www.putty.org/). O programa é bastante simples e acessível, corre sem instalação e basta pormos o IP do Fonera e a porta (22 por padrão) e podemos efectuar a nossa ligação.



Efectuamos o login e devemos obter uma imagem deste tipo:



E para escrever nos pinos da porta serie usamos o seguinte código:
Código: [Seleccione]
echo [texto a enviar] >/dev/tts/0No Arduino ligamos o Pino Tx do Fonera no Tx do Arduino (apenas fazemos isto desta vez, para podermos visualizar os dados que enviamos no Monitor Serial do IDE do Arduino) e programamos o Arduino com este simples código.
Código: [Seleccione]
 
void setup(){ }
void loop(){ }
A partir daqui e se tudo estiver direito já podemos enviar dados usando o Putty e visualiza-los no Monitor Serial do IDE do Arduino
Esta é a forma mais básica que conheço para obtermos algum resultado.

O problema deste método é que sempre que queremos enviar dados temos que repetir o código sequencialmente. Para me ver livre de tar problema tive que mudar para Linux.
Em Linux criei um ficheiro bash que me facilita bastante a vida usando apenas este código:
Código: [Seleccione]
#!/bin/bash
cat | ssh utilizador@router "cat > /dev/ttl/0"
Com este curto código conseguimos enviar dados sequencialmente sem ter que repetir o código, basta digitar os dados pressionar Enter e os dados são enviados.

Do lado do Arduino apenas temos que fazer uma leitura normal de Serie usando:
Código: [Seleccione]
...
Digital.read();
...

Ficamos com uma comunicação do tipo:
Aplicação Cliente >> Wireless >> Fonera >> Arduino >> Restante electronica

Neste momento o meu projecto está parado por aqui, ainda tenho que melhorar o programa cliente, este tem que ser capaz de ler dados validar e trabalha-los e por fim envia-los, no Arduino ele já os recebe e interpreta, e neste momentos controla os servos motor usando uma ponte H
Deixo algumas fotos:





Acho que isto já esta bastante extenso mas para já é o que tenho.
Ideias e sugestões são bem vindas!!
« Última modificação: 13 de Março de 2011, 13:48 por nunosilvarocha »

Offline Gaspar

  • Mini Robot
  • *
  • Mensagens: 6
Re: ArdFonCar
« Responder #1 em: 13 de Março de 2011, 01:55 »
Projecto muito interessante!

Estou a iniciar um semelhante, tambem com o arduino e com um router fonera!

Uma questão, não tiveste de "flashar" o router?

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #2 em: 13 de Março de 2011, 13:43 »
Projecto muito interessante!

Estou a iniciar um semelhante, tambem com o arduino e com um router fonera!

Uma questão, não tiveste de "flashar" o router?

Sim tive, esqueci-me me descrever isso!!

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #3 em: 13 de Março de 2011, 13:49 »
Projecto muito interessante!

Estou a iniciar um semelhante, tambem com o arduino e com um router fonera!

Uma questão, não tiveste de "flashar" o router?

Já adicionei a informação, no entanto não descrevi como flashar, existem montes de tutoriais na net, é só procurar um bocadinho!!

Offline buh

  • Mini Robot
  • *
  • Mensagens: 8
Re: ArdFonCar
« Responder #4 em: 23 de Março de 2011, 02:47 »
Citar
Neste momento o meu projecto está parado por aqui, ainda tenho que melhorar o programa cliente, este tem que ser capaz de ler dados validar e trabalha-los e por fim envia-los, no Arduino ele já os recebe e interpreta, e neste momentos controla os servos motor usando uma ponte H

Como estás a ir buscar os dados passados por ssh ao arduino? Não defines a baud?
« Última modificação: 23 de Março de 2011, 15:20 por buh »

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #5 em: 24 de Março de 2011, 02:29 »
Citar
Neste momento o meu projecto está parado por aqui, ainda tenho que melhorar o programa cliente, este tem que ser capaz de ler dados validar e trabalha-los e por fim envia-los, no Arduino ele já os recebe e interpreta, e neste momentos controla os servos motor usando uma ponte H

Como estás a ir buscar os dados passados por ssh ao arduino? Não defines a baud?

Faço um leitura por serial!!

Offline buh

  • Mini Robot
  • *
  • Mensagens: 8
Re: ArdFonCar
« Responder #6 em: 24 de Março de 2011, 20:23 »
Ora com certeza. Mas suponho que  estejas a ler da frequência (baud) 115200 que é a por defeito do firmware do fonera, acontece que nessa frequência recebes muito "lixo". Pelo menos é o que me acontece.. Não tens erros na comunicação?
« Última modificação: 24 de Março de 2011, 20:25 por buh »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: ArdFonCar
« Responder #7 em: 24 de Março de 2011, 20:43 »
Não é bem bem uma frequência..
É uma velocidade a que os dados são enviados e 115200 não é assim tão rápido quanto isso, até um Arduino consegue ler bem mais rápido que a essa baud.
Avr fanboy

Offline buh

  • Mini Robot
  • *
  • Mensagens: 8
Re: ArdFonCar
« Responder #8 em: 24 de Março de 2011, 20:44 »
É uma taxa, disse mal. Na verdade é o numero de bits por segundo julgo.
« Última modificação: 24 de Março de 2011, 20:46 por buh »

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: ArdFonCar
« Responder #9 em: 24 de Março de 2011, 21:43 »
Eu com o router Wl520Gu estava a usar 19200...

Cumprimentos...
Cumprimentos,
André Carvalho.

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #10 em: 25 de Março de 2011, 17:15 »
Ora com certeza. Mas suponho que  estejas a ler da frequência (baud) 115200 que é a por defeito do firmware do fonera, acontece que nessa frequência recebes muito "lixo". Pelo menos é o que me acontece.. Não tens erros na comunicação?

Sim, não sei o valor agora ao certo mas penso que seja 115200.
Quanto ao lixo, nos testes que fiz estou a receber algum. Mas para já não me esta a fazer muita diferença, o Arduino lê carácter a carácter, e só está a executar funções para uns determinados valores, como o resto do lixo são zeros não tenho tido muita interferência.

Isto para já também está um pouco parado, por falta de tempo não tenho trabalhado nisto. Mas quando voltar a minha atenção vai ser voltada para o programa cliente, pois este ainda não está como eu quero.

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #11 em: 25 de Março de 2011, 17:21 »
buh, podias mostrar ai o teu projeto!!

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: ArdFonCar
« Responder #12 em: 25 de Março de 2011, 17:51 »
Baudrate É uma taxa de transmissão que é o numero de eventos ou mudanças de sinal que ocorrem durante um segundo.

PS: O numero de bits por segundo é bitrate.

Offline iMartins87

  • Mini Robot
  • *
  • Mensagens: 39
Re: ArdFonCar
« Responder #13 em: 15 de Abril de 2011, 13:42 »
Eu também estou a desenvolver um projecto similar a este  ;D

Relativamente à velocidade utilizada por defeito na comunicação serial entre o arduino e o router, caso queiram altera-la basta executar o seguinte comando no router:

Código: [Seleccione]
stty -F /dev/tts/0 9600

Deduzindo que estão a usar o router fonera com o firmware dd-wrt (que é o meu caso).


Boa continuação do projecto
Cumpts

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: ArdFonCar
« Responder #14 em: 15 de Abril de 2011, 14:52 »
Eu também estou a desenvolver um projecto similar a este  ;D

Relativamente à velocidade utilizada por defeito na comunicação serial entre o arduino e o router, caso queiram altera-la basta executar o seguinte comando no router:

Código: [Seleccione]
stty -F /dev/tts/0 9600

Deduzindo que estão a usar o router fonera com o firmware dd-wrt (que é o meu caso).


Boa continuação do projecto
Cumpts

Muito obrigado, isto pode vir a dar muito jeito!
Será que pode deixar aqui como comunica entre o Arduino e o Fonera?
Uma apresentação do seu projeto seria bom!