MMJoy/MMjoy2
Posted: 04 Oct 2013 18:18
ATENÇÃO - devido a obsolência do ATMEGA8/16/32/168/328 (USB 1.0 por software, baixa frequência de operação) o último firmware do MMJoy com suporte a estes chips é o [v20140528] de 28.05.2014.
No lugar desses ATMEGA8/16/32/168/328 (USB 1.1) use as baratas placas ARDUINO Leonardo PRO Micro/Teensy, etc, baseadas no ATMEGA32u4 (USB 2.0 por hardware) e o firmware MMjoy2, vide postagem na sequência.
O custo de uma placa PRO Micro no eBay é praticamente o mesmo de um chip ATMEGA8/16...328 por aqui, assim não é mais vantajoso montar a placa.
Página do firmware MMJoy2 (Em Russo - compreenssível em Inglês pelo Google Translator.
> https://sites.google.com/site/mmjoyproject/
Tópico original - obsoleto.
No lugar desses ATMEGA8/16/32/168/328 (USB 1.1) use as baratas placas ARDUINO Leonardo PRO Micro/Teensy, etc, baseadas no ATMEGA32u4 (USB 2.0 por hardware) e o firmware MMjoy2, vide postagem na sequência.
O custo de uma placa PRO Micro no eBay é praticamente o mesmo de um chip ATMEGA8/16...328 por aqui, assim não é mais vantajoso montar a placa.
Página do firmware MMJoy2 (Em Russo - compreenssível em Inglês pelo Google Translator.
> https://sites.google.com/site/mmjoyproject/
Tópico original - obsoleto.
O MMJOY é um novo firmware para as placas controladores de joystick montadas (D.I.Y.) segundo o antigo (2004) projeto Mjoy ou Mjoy 16 ou para as placas protótipos (estilo Arduino) METABOARD e AVR USB MEGA16.
Este firmware não é restrito aos microcircuitos AMTEL ATMEGA8 ou 16 do projeto Mjoy original, pode usar o ATMEGA 32, ATMEGA168, ATMEGA328 e cristal de 12, 16 e 20 MHZ.
O uso de cristal de maior frequência, associado a drivers HID modificados permite a transmissão de dados entre o controlador e o computador acima de 300 HZ.
O Mjoy16 original devido a frequência de 12 MHZ e a grande quantidade de botões (112) a monitorar é lento neste quesito.
Tambem para melhorar a taxa de transmissão o novo firmware restringe o numero de botões para 52 (48 botões +HAT).
A página do projeto MMJoy esta em Russo, mas é fácil de entender em Inglês usando o Google Translator.
https://sites.google.com/site/mmjoyproject/
O diferencial destes novos firmware é permitir personalizar o controlador através de um Software chamado "Configurator".
Quer um controlador de apenas 3 eixos e 0 botões para usar num pedal de leme?
É só desabilitar no Configurator os demais eixos, os botões e HAT e salvar na memória do controlador, o que é feito através do cabo USB.
O nome do seu "joystick" pode ser o que quiser - limitado a 10 caracteres.
Permite definir o numero de HID e VID do "joystick" fazendo com o mesmo seja visto antes ou depois de outros joysticks instalados no computador.
Exemplo - um Mjoy montado as uns 5 anos, regravado com o firmware MMJoy, com o HID/VID definido para ser visto após um Saitek Cyborg e o nome para MMjoy (achei Sokol1 meio bocó![]()
).
http://i42.tinypic.com/ieh0jl.jpg
Como o Windows "vê" joystick com um máximo de 8 eixos, 32 botões e HAT o Configurator permite dividir o MMjoy (51)em dois josyticks virtuais, veja na foto acima a direita, em baixo.
Um com 6 eixos, 32 botões e HAT
Outro com 2 eixos, 16 botões.
Assim evita-se o uso de keymapper para "ver" os botões acima de 32.
Nota:HAT2, 3, 4 são habilitados apenas para o ATMEGA8.
O Configurator permite inversão dos eixos, e também ativar o modo "ZOOM" nos eixos, esse modo quando ativado - pressionando um botão - divide o movimento da alavanca do josytick por um número definido, exemplo 2, permitindo um controle mais preciso.
Um exemplo típico seria controle de mísseis/radar em simuladores DCS.
Ou desativar a resposta de um eixo ao pressionar um botão, mesmo que contine a mover a alavanca.
Exemplo de uso, trimar o DCS Ka-50 Black Shark em voo nivelado.
Permite também definir se um eixo vai ser auto calibrado ou não ao plugar o controlador no micro.
O botões podem ser configurados como momentâneos (tipo tecla de teclado), como toggle switch (alavanca) - o botão definido como ON para o toggle switch apenas executa a função ON, a OFF deve ser executada por outro.
Permite tambem simular toggle switch existente no painel do simulador usando botões momentâneos (sequencialmente).
No momento não a suporte para encoder, mas o desenvolvedor Mega_MOZG_13 disse estar trabalhando nisto.
A última novidade deste firmware é o suporte a eixo digital, através do integrado ADC MCP3201 que converte o sinal analógico do potênciometro, sensor HAL, ou Magneto Resitor em sinal digital.
https://mmjoy.googlecode.com/svn/wiki/e ... cp3201.png
https://mmjoy.googlecode.com/svn/wiki/e ... onnect.png
Como recomendação básica para o Mjoy8 usar este esquema elétrico (Mercury) ao invés dos antigos Mindaugas/LazyCamel.
https://mmjoy.googlecode.com/svn/wiki/e ... 11plus.png
O eixo no modo digital (a exemplo dos joystick, pedal de leme VKB) permite o uso de cabos longos - até 250 cm - sem que o eixo apresente ruído excessivo, alem de maior estabilidade no sinal.
Neste tópico da Wiki do MMJoy tem um intessante teste com sensores HALL e Magneto Resistor*.
https://code.google.com/p/mmjoy/wiki/ExtenralADC
Exemplo, o Magneto Resitor KMZ41 + MCP3201 montados numa protoboard.
https://mmjoy.googlecode.com/svn/wiki/e ... res1_t.png
Esquema para montar o KMZ41 http://www.g0l.ru/content/1/imgs/kmz41shematics.gif
Exemplo - comercial - de uso: http://www.g0l.ru/blog/n3690
O readme do Configurator em Inglês fui eu (e o GT) que traduzi, eventualmente posso fazer em Português caso haja interesse (duvide-o-dó).
* Um sensor HALL mede a força do campo magnético, o Magneto Resistor a direção do campo magnético, sendo mais apropriado e fácil de instalar/calibrar num dispositivo que mede ângulos, a exemplo de joystick. É usado na indústria automotiva.