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: [Projecto] - Alvo dardos electrónico  (Lida 3384 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: 1.032
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: 1.032
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 »