Page 10 of 22

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 00:29
by 21_Sokol1
Destructorbr,

Bem vindo ao "DIY". :)

Em relação a sua pergunta inicial, sobre os 32 botões - que é o máximo utilizável no Windows, sem uso de keymappers:

Voce tem duas opções para ligar estes botões no Arduino e evitar que apertando 3 ou mais ao mesmo tempo apareça outro botão
aceso, fenomeno chamado "keyboard ghosting", comum em ligações em matrix, que são as ligações cruzando linhas, exemplo num teclado comum de computador.

Ligar com uma MATRIX de diodos ou usar um circuito "Shift Register".

Matrix significa combinar linhas x colunas - pinos especificos no Arduino, de 1x2 o que permite ligar 4 botões, a 6x6 que permite ligar os 32 mais 1 HAT (4 botões) = 36.

Acredito que este exemplo "desenhado", ligando 4 botões e 1 HAT explique isso melhor:

Image

Em resumo, numa matrix 6x6 cada linha é compartilhada em até 6 botões e cada coluna é compartilhada em até 6 botões.

Pode ser confeccionada uma placa (PCB) com os diodos e pinos para ligações - mas não precisa se ligar como no desenho acima, que é o ideal para começar.

"Shift Register" são placas adicionais com um circuito integrado CD4021B e resitores, cada uma capaz de controlar até 8 botões.
Na foto do MMJoy2 "pirata" logo acima é esta placa com 4 chips onde estão ligados os botões, switches e encoders.

A vantagem da placa "Shift Register" é conseguir ligações usando menos fios, conveniente num joystick com muitos botões, ex. HOTAS Cougar/Warthog que usam o sistema.

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 13:24
by Destructorbr
Boa tarde sokol1, obrigado pela explicação.
em relação a esse matrix ter esse fantasma, com a simples adição dos diodos esse efeito some, e com isso pode se utilizar mais teclas ao mesmo tempo? todo o teclado matrix tem esse efeito? tipo, também poderia utilizar esse matrix num arduino normal e programar para quando acionar varios botoes?
outra pergunta que me deixou cismado, o que é um HAT? qual a função do mesmo?
obrigado novamente!

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 14:14
by 21_Sokol1
Isso mesmo, os diodos fazem a corrente elétrica circular apenas em um sentido, assim o botão "fantama" não aparece quando 3 ou 4 são apertados simultaneamente.

Sim, pode criar um códido para outra versão de Arduino (de preferência que tenha USB integrado), para controlar botões usando matrix.

Se não usar, tomando por exemplo o BU0836 do desenho, ficaria limitado a 12 botões ao invéz de 36.

HAT ou POV (point of view - ponto de vista) HAT é este controle direcinal no topo dos joysticks, que em geral controla a camera do jogo, caso não use mouse ou headtrack (TrackIR, Freetrack, EDTracker...).

O nome HAT - chapéu em inglês - vem do formato cônico dos primeiros HAT usados em aviões militares, lá pelo fim dos anos 40 para fins de trimagem, pois lembra o chapéu dos camponeses asiaticos.

Image

Em joysticks "burgueoise" (ex. Warthog) cada HAT diferente tem um nome baseado no formato, pode ser China, Boat, Castle, Valey...

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 17:57
by Ecosta
Sokol
Aproveitando a oportunidade do assunto, eu estava me atualizando no SIMHQ no posta do MMJOY e observei a atulização destas placas com shift register utilizando 02 chips compatíveis.
A minha dúvida ficou como realizar a ligação da placa shift register com os botões e com a placa arduino (Pro Micro ou a Teensy 2.00)

[]'s

Ecosta

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 18:14
by 21_Sokol1
Acho mais prático usar o CD4021B - é o mesmo usado no Tm F22/Cougar/Warthog, Cobra M-5/Mamba, até por ter em formato mais amigável para DIY - o outro, 74H... só tem em SMD.
Você conecta a placa do shift register com 5 fios:

Gnd
Miso
Sck <<< não tenho certeza... :P - É isso mesmo:
CS
+5v

Image

Os CD4021B são ligados em uns nos outros através dos pinos 9, 10 e 11.

https://www.arduino.cc/en/Tutorial/ShiftIn

Teoricamente não tem limite, não sei na prática...

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 18:58
by Destructorbr
21_Sokol1 wrote:Isso mesmo, os diodos fazem a corrente elétrica circular apenas em um sentido, assim o botão "fantama" não aparece quando 3 ou 4 são apertados simultaneamente.

Sim, pode criar um códido para outra versão de Arduino (de preferência que tenha USB integrado), para controlar botões usando matrix.

Se não usar, tomando por exemplo o BU0836 do desenho, ficaria limitado a 12 botões ao invéz de 36.

HAT ou POV (point of view - ponto de vista) HAT é este controle direcinal no topo dos joysticks, que em geral controla a camera do jogo, caso não use mouse ou headtrack (TrackIR, Freetrack, EDTracker...).

O nome HAT - chapéu em inglês - vem do formato cônico dos primeiros HAT usados em aviões militares, lá pelo fim dos anos 40 para fins de trimagem, pois lembra o chapéu dos camponeses asiaticos.

Image

Em joysticks "burgueoise" (ex. Warthog) cada HAT diferente tem um nome baseado no formato, pode ser China, Boat, Castle, Valey...
Então em um arduino mega por exemplo eu não conseguiria usar mais que 12 botões?

Existem algum lugar que possa adquirir esse HAT?
Obrigado!

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 19:03
by Ecosta
Obrigado pela dica!
Tá ai algo a ser pesquisado e desenvolvido.
Á propósito: no post do MMJOY, você colocou a imagem "Teensy++2.0 support with 6x6 matrix"para sring layout. Eu fiquei interessado no esquemático para futuro porjeto... poderia, por gentileza, me repassar o esquemático?
Grato!!
[]`s

Ecosta

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 19:28
by 21_Sokol1
Destructorbr wrote: Então em um arduino mega por exemplo eu não conseguiria usar mais que 12 botões?
Depende do código que usar no Arduino Mega - se o código especificar escanear linhas e colunas, pode usar matrix de diodo igual no MMjoy2,Bu0836...

Exemplo: http://deadfrogstudios.com/warthogpit/i ... ontrollers
Existem algum lugar que possa adquirir esse HAT?
Até hoje só descobri poucos lugares, e só modelos para avião real - alguns pode usar em "josytick".
Na Aircraftspruce - para aviação experimental:

http://www.aircraftspruce.com/catalog/e ... ccess5.php

E na Mouser/Digikey para mercado industrial/militar, preços de 35 a 1000 e tantos dolares.

Ex. CH/Apem: http://www.digikey.com/product-detail/e ... ND/2063280

Ou da Otto: http://www.mouser.com/OTTO/Electromecha ... ?P=1yyh514

Tem uma página na Russia que também vende, mas não lembro o link.

Talvez se cadastrando na Thrustmaster e alegando ter um Cougar pode ser que vendam destes - o frete minímo é 32 Euros:

http://cougar.flyfoxy.com/warranty_parts.php

A solução para DIY é comprar "directional switch" de 4 ou 5 vias no eBay, tipo esse:

http://www.mouser.com/ProductDetail/ALP ... qqIQkRI%3d

E imprimir em 3D o "chapéu". O Debolesis tem alguns modelos na Shapeways:

http://www.shapeways.com/shops/debolestis

Se quiser o "chapeu Chinês" e não tiver ai é só pedir o Debolesis que ele desenha.
Ele cobra só 1 dolar por peça impressa.

BTW - A Shapeways trabalha com impressoras 3D profissional, imprime inclusive em metal.

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 19:44
by 21_Sokol1
Ecosta wrote: Á propósito: no post do MMJOY, você colocou a imagem "Teensy++2.0 support with 6x6 matrix"para sring layout.
É um suporte para a Teensy++2.0 com matrix de 6x6 e entradas para eixos analógico e digital, para confecção DIY. Anexo.

BTW - Para abrir precisa do Sprint-Layout ou Sprint-Layout Viewer.

Re: MMJoy/MMjoy2

Posted: 17 Mar 2016 23:55
by Ecosta
Valeu sokol

Obrigadão

[]`s

Ecosta

Re: MMJoy/MMjoy2

Posted: 29 May 2016 14:11
by Destructorbr
Boa tarde, depois de alguns meses consegui finalizar minha buttonbox com a MMjoy2, depois de ver funcionar a prototipo e realizar alguns testes percebi uma situação, espero que possam me tirar essa dúvida, quando aciono um botão "push button"ou uma chave alavanca, o botão virtual não fica acionado o tempo todo, ele apenas dá um pulso e depois desliga, teria como quando eu manter o botão fisico acionado, o botao virtual também permanecer acionado?
vlw galera!

Re: MMJoy/MMjoy2

Posted: 29 May 2016 14:47
by 21_Sokol1
Não lembro direito, mas se estiver testando no JoySetup é assim mesmo.

Testa no Game Controllers do Windows - digita joy.cpl no iniciar e veja se o botão ficará aceso com a chave alavanca ligada.

A maioria dos comandos em jogos é feita para responder a um pulso, não precisa, por exemplo, ficar segurando a tecla G o tempo todo para o trem de pouso ficar em cima ou embaixo. Alías isso acaba causando problemas, tantas teclas apertadas e mantidas depois geraria comandos fantasma.

Dependo em que quer usar.

Re: MMJoy/MMjoy2

Posted: 29 May 2016 17:08
by Destructorbr
21_Sokol1 wrote:Não lembro direito, mas se estiver testando no JoySetup é assim mesmo.

Testa no Game Controllers do Windows - digita joy.cpl no iniciar e veja se o botão ficará aceso com a chave alavanca ligada.

A maioria dos comandos em jogos é feita para responder a um pulso, não precisa, por exemplo, ficar segurando a tecla G o tempo todo para o trem de pouso ficar em cima ou embaixo. Alías isso acaba causando problemas, tantas teclas apertadas e mantidas depois geraria comandos fantasma.

Dependo em que quer usar.
Fiz isso e no game controllers dá só um pulso, no caso eu preciso que a tecla fique pressionada por exemplo num freio, oi algo que necessite ficar um tempo acionado, que no caso seria apenas uma tecla por vez.... será que isso poderá ser feito?
obrigado.

Re: MMJoy/MMjoy2

Posted: 05 Jul 2016 14:53
by 21_Sokol1
O Troll do SimHQ esta montando este "multi lever throttle" baseado num Arduino/MMJoy2.

As alavancas de metal com suporte para rolamentos são cortadas a laser pelo Dvik (Ukrania).
O PCB de suporte com matrix de diodo para o Arduino foi desenhado pelo construtor - sem nenhuma
experiência prévida nisto (dei umas dicas ;) ) - e encomendado num fabricante online, bem como o PCB dos GMR TLE501x.

Switches, encoders, etc. by China.

Image
http://i1280.photobucket.com/albums/a49 ... gpjsg5.jpg

Image
Image
http://simhq.com/forum/files/usergals/2 ... nder_2.jpg

http://simhq.com/forum/ubbthreads.php/t ... ost4266967

Re: MMJoy/MMjoy2

Posted: 15 Jul 2016 12:56
by 21_Sokol1
Ficou com um bom visual.

Image