collapse

* Links de Robótica

* Posts Recentes

Printer 3D barata por andre_f_carvalho
[Hoje às 14:37]


Procuro resistências 220 Ohm de 1% por brunus
[Ontem às 15:50]


Package de cond 10uF 35V smd? por KammutierSpule
[Ontem às 11:19]


Videos hipnoticos de mecanica industrial por TigPT
[Ontem às 00:07]


FPV Drone Racing? por brunus
[Ontem às 00:00]


Decodificar cabo por Hugu
[01 de Dezembro de 2016, 23:11]


Ajuda para replicar e reparar um Dimmer por brunus
[30 de Novembro de 2016, 23:23]


Adaptar impressora 3D a Drill Maschine por Hugu
[30 de Novembro de 2016, 23:20]


Módulo gsm por dio123
[30 de Novembro de 2016, 13:39]


RAM SO-DIMM 256 MB por Hugu
[29 de Novembro de 2016, 22:52]

Autor Tópico: [Projecto] - Alvo dardos electrónico  (Lida 1151 vezes)

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

Offline GnobarEl

  • Mini Robot
  • *
  • Mensagens: 92
[Projecto] - Alvo dardos electrónico
« em: 04 de Fevereiro de 2013, 23:47 »
Viva!

Iniciei um novo projecto, que consiste em ligar o meu alvo de setas ao PC (sem fios) e assim poder criar jogos novos e criar uma maior interactividade com o jogo.

O alvo por dentro tem duas folhas de acetato, quando a seta bate no alvo, as folhas tocam uma na outra e fecham o circuito. Ambas as folhas estão ligadas com uma flatcable ao PCB e criam uma matrix.

O problema esta em conseguir receber o sinal que o circuito foi fechado.



Como podem ver na imagem, soldei 3 fios, para testar. Por ex. se chantar o fio laranja com um dos pretos, o
circuito 'e fechado e aparece a respectiva pontuação no display.



Nesta imagem podem ver as duas folhas de acetato, cada uma com as pistas e os pontos que vão tocar na outra folha quando uma seta atinge o alvo.



As duas flat cables ligadas ao PCB.

Feita a introdução do projecto.

Problemas.

Numa das folhas de acetato, se colocar o multímetro, em dois pontos seguidos, consigo fazer o teste de continuidade, no entanto se seguir as pistas e afastar muito as duas pontas de prova do multimetro, deixo de consegui efectuar o teste. Mesmo estando na mesma pista.

Se ligar dos dois fios ao arduino, sempre que uma seta atinge o alvo na posicao X e fecha o circuito, era suposto o arduino detectar isso. Mas não... não detecta nada...

Alguma sugestão? Se precisarem de informação adicional basta dizerem.

Obrigado.

Offline GnobarEl

  • Mini Robot
  • *
  • Mensagens: 92
Re: [Projecto] - Alvo dardos electrónico
« Responder #1 em: 19 de Fevereiro de 2013, 10:46 »
Viva,

Estive a ligar as flats do alvo ao arduino, e estou a utilizar a library keypad http://playground.arduino.cc/code/Keypad para detectar qual o ponto onde a seta acertou.

Pelo que entendi, e 'e aqui que começam os problemas, o arduino, lê todas as linhas e colunas.
Por ex. começa a ler a linha 1 e varre as colunas todas.
Linha 1 Coluna 1
Linha 1 Coluna 2
....
quando termina, muda de linha e inicia o mesmo processo.
Linha 2 Coluna 1
Linha 2 Coluna2
....

O que acontece, 'e que quando a seta bate no alvo, o circuito 'e fechado e aberto tão rapidamente que o arduino nem sempre consegue detectar.
Umas vezes detecta, outras não.

Alguma sugestão para contornar esse problema?

Obrigado.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 912
Re: [Projecto] - Alvo dardos electrónico
« Responder #2 em: 19 de Fevereiro de 2013, 10:57 »
Ou seja,
tens 7 fios que vem do dardo, linhas e colunas.

Isso de ser demasiado rápido, pode ter haver com a ligação Serial, se estiveres a ver o resultados no serial monitor ou a o contacto linha com coluna é tão rapido que o arduino pode estar a meio e do codigo e não apanha a  linha e coluna que foi tocada.




Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: [Projecto] - Alvo dardos electrónico
« Responder #3 em: 19 de Fevereiro de 2013, 12:34 »
Se a questão é mesmo a velocidade de varrimento ser lenta, para resolveres o problema sem usar hardware diferente tens de conseguir torná-la mais eficiente. Não me parce que tenha a ver com a velocidade da ligação Serial, a não ser que estejas a fazer prints a toda a hora...
Sugeria que tentasses olhar para o modo como a library funciona e tentares aproveitar um pedaço do código da função "scanKeys" para fazeres a tua versão mais eficiente. Por exemplo, em vez de varreres as posições todas, varreres logo as linhas, e ao descobrir um contacto numa das linhas ir logo á procura da coluna certa. Pelo que vi do código, ele faz o varrimento completo, e vai guardando os vários botões pressionados em cada varrimento. Isto permite detectar por exempl vários botões pressionados ao mesmo tempo, mas tambem vai tormar a coisa bastante mais lenta. Visto que no teu caso só vais querer um de cada vez, podes tornar a coisa mais directa.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 912
Re: [Projecto] - Alvo dardos electrónico
« Responder #4 em: 19 de Fevereiro de 2013, 13:54 »
então nesse caso se calhar é melhor não usar a biblioteca keypad.

Explica-me uma coisa.

ao lançares o dardo,ao prencionar a posição, o pino que representa a linha e o pino que representa a coluna tem 5v?

Se ambos tiverem 5v podes simplesmente fazer  if linha1=high and coluna2=high{pontos = 20}, mas não sei se vais ter o mesmo problema

Ou exprimentares http://www.instructables.com/id/Arduino-3-wire-Matrix-Keypad/step2/Wiring-up-the-resistors/ mas depende quanto tempo a linha com coluna fica a fazer contacto entre si, porque pode não ter tempo suficiente para porta analogica ter uma leitura certa.
« Última modificação: 19 de Fevereiro de 2013, 13:57 por dio123 »