New update MMJOY2 [v20150626] https://sites.google.com/site/mmjoyproj ... skacivania
Support 64 buttons + 6 encoders, plus new features: "Timers" for encoders = try from 16-32ms, also new "Shift" button.
MMJoy/MMjoy2
Re: MMJoy/MMjoy2
Novo firmware for MMjoy2 (ATMEGA32u4):
Re: MMJoy/MMjoy2
Apesar de já ter usado o firmware MMjoy (em Mjoy8 e 16, com programador LPT "homemade") não tinha usado o MMjoy2 e seu bootloader via USB.
A oportunidade surgiu ao receber a "missão" de salvar um pedal de leme que foi "estuprado" pelo dono com um pote de 250 gramas de vazelina...

http://s18.postimg.cc/d9jtomc3p/MMjoy2_rudder.jpg
O procedimento de gravar o firmware MMjoy2 num Arduino PRO Micro é simples e fácil - e ao mesmo tempo complicado, já que as instruções existentes são confusas, em Inglês e feitas por um Russo que não conhece bem a língua.
Diria que um marinheiro de primeira viagem poderia até achar que a placa estava defeituosa, pois apesar de já ter ajudado (virtualmente) alguns a fazer isso, tive que tentar várias vezes para pegar o fio da meada.
Fiz um PDF (anexo) tentando explicar melhor o processo.
A oportunidade surgiu ao receber a "missão" de salvar um pedal de leme que foi "estuprado" pelo dono com um pote de 250 gramas de vazelina...




http://s18.postimg.cc/d9jtomc3p/MMjoy2_rudder.jpg
O procedimento de gravar o firmware MMjoy2 num Arduino PRO Micro é simples e fácil - e ao mesmo tempo complicado, já que as instruções existentes são confusas, em Inglês e feitas por um Russo que não conhece bem a língua.
Diria que um marinheiro de primeira viagem poderia até achar que a placa estava defeituosa, pois apesar de já ter ajudado (virtualmente) alguns a fazer isso, tive que tentar várias vezes para pegar o fio da meada.
Fiz um PDF (anexo) tentando explicar melhor o processo.
Last edited by 21_Sokol1 on 25 Jan 2016 12:58, edited 4 times in total.
Re: MMJoy/MMjoy2
Como o PRO Micro é bem "micro" (3.3 x 1.8 cm), sem pontos de fixação, fiz um suporte - usando plástico de uma caixa de CD e uma abraçadeira de Nylon, para prender a placa e o cabo USB, já que a tomada nele é delicada.

image hosting 30 mb

image hosting 30 mb
Last edited by 21_Sokol1 on 25 Jan 2016 12:57, edited 1 time in total.
- 40_Griffon
- Ala
- Posts: 1667
- Joined: 17 Dec 2005 21:00
- Location: Santos/SP
Re: MMJoy/MMjoy2
21_Sokol1 wrote:
A oportunidade surgiu ao receber a "missão" de salvar um pedal de leme que foi "estuprado" pelo dono com um pote de 250 gramas de vazelina...![]()
![]()
.


Re: MMJoy/MMjoy2
Atualizei o PDF - algumas imagens estavam muito ruins.
Re: MMJoy/MMjoy2
Dica sobre um problema do Windows - Controladores de jogos.
Quando setei o "joystick" (Rudder) no MMjo2 inicialmente coloquei 3 eixos:
Leme
rX
rY
Como para testar iria conectar só um HALL sensor no eixo do leme, e os eixos rX e rY "abertos" (sem nada conectados) poderiam atrapalhar, setei de novo como um joystick (Rudder) de apenas 1 eixo.
Testei OK no VKB Joy Test, no DIView e no CloD.
Mas no Windows Controladores de Jogos se selecionasse o "Rudder" e clicasse em propriedades dava "Não conectado"...
Depois voltei o "Rudder" para 3 eixos igual na primeira configuração e o Controladores de Jogos então reconheceu OK.
O que ocorre é que quando se faz a mudança do número de eixos, mas continua com a mesma "identidade": VID e PID o Windows não percebe esta mudança, e assim continuva a esperar um dispositivo de 3 eixos.
Se precisar fazer esta mudança de forma permante, faça o seguinte:
1 - No JoySetup clique em "Clear Register" - isso remove as informações de VID e PID para o "joystick" do Windows.
2 - E/ou use numeros diferentes para VID e PID quando mudar o numero de eixos.
Quando setei o "joystick" (Rudder) no MMjo2 inicialmente coloquei 3 eixos:
Leme
rX
rY
Como para testar iria conectar só um HALL sensor no eixo do leme, e os eixos rX e rY "abertos" (sem nada conectados) poderiam atrapalhar, setei de novo como um joystick (Rudder) de apenas 1 eixo.
Testei OK no VKB Joy Test, no DIView e no CloD.
Mas no Windows Controladores de Jogos se selecionasse o "Rudder" e clicasse em propriedades dava "Não conectado"...
Depois voltei o "Rudder" para 3 eixos igual na primeira configuração e o Controladores de Jogos então reconheceu OK.
O que ocorre é que quando se faz a mudança do número de eixos, mas continua com a mesma "identidade": VID e PID o Windows não percebe esta mudança, e assim continuva a esperar um dispositivo de 3 eixos.
Se precisar fazer esta mudança de forma permante, faça o seguinte:
1 - No JoySetup clique em "Clear Register" - isso remove as informações de VID e PID para o "joystick" do Windows.
2 - E/ou use numeros diferentes para VID e PID quando mudar o numero de eixos.
Re: MMJoy/MMjoy2
Se gravar o firmware no PRO Micro é meio "enigmático", numa Teensy 2.0 é "the flash".
1 - Plugar a Teensy numa porta USB do do computador, com um cabo USB<>Mini USB.

2 - O computador vai reconhecer como "dispositivo desconhecido" e um LED começa a piscar na Teensy.
3- Pressionar o botão de reset na Teensy (já tem o botão soldado na placa), o LED para de piscar e Teensy é reconhecida novamente, como um HID device.
4 - Abra o JoySetup.exe (do pacote MMjoy2).
5 - No JoySetup, em "Device list and configurations" localize um dispositivo com o nome:VID:16C0 PID:0478 () - estes numeros talvez variem.

6 - Selecione este dispositivo e na aba "Firmware" aponte para o arquivo (do pacote MMJoy2): "Firmware_lufa_[MMJOY2.ATMEGA32U4].hex".
7 - No JoySetup, em "Chip" selecione "ATMega32U4", em "Bootloader type" selecione: Teensy2, em "Port(arduino)" deixe como foi detectado.

8 - Clique em "Upload firmware" - uma janela DOS se abrira rapidamente.
9 - Agora, em "Device list and configurations" vai aparecer um novo dispositivo: "VID0000 PID:0000 MMjoy-reset(MMjoy2-20150727) <<< que é seu novo "controlador de joystick", porém esta "vazio", é preciso definir quantos eixos e botões terá, bem como dar-lhe uma "identidade": numéros de VID, PID, se quiser um nome diferente de MMjoy2. Selecione o novo dispositivo e configure estes parametros.

10- No exemplo, foi setado apenas um eixo, usando o "Internal sensor", o pino FO da Teensy 2.0, com 14 bits de resolução (16.384 points), e este eixo foi assignado para a função "Throttle", o número de botões ficou em 0 (zero, já que era só teste), o novo controlador de josytick foi "batizado" como MJ-Teensy, VID: 8884, PID: 8884.
A seguir clicar em "Save settings to device". Após gravar uma nova janela abirar perguntando "Ok.Restart device?", clique em "YES".

11 - O novo controlador de joystick aparecerá no Painel de Controle do Windows > Controladores de Jogos (joy.cpl), e esta pronto para ser usado.
1 - Plugar a Teensy numa porta USB do do computador, com um cabo USB<>Mini USB.

2 - O computador vai reconhecer como "dispositivo desconhecido" e um LED começa a piscar na Teensy.
3- Pressionar o botão de reset na Teensy (já tem o botão soldado na placa), o LED para de piscar e Teensy é reconhecida novamente, como um HID device.
4 - Abra o JoySetup.exe (do pacote MMjoy2).
5 - No JoySetup, em "Device list and configurations" localize um dispositivo com o nome:VID:16C0 PID:0478 () - estes numeros talvez variem.

6 - Selecione este dispositivo e na aba "Firmware" aponte para o arquivo (do pacote MMJoy2): "Firmware_lufa_[MMJOY2.ATMEGA32U4].hex".
7 - No JoySetup, em "Chip" selecione "ATMega32U4", em "Bootloader type" selecione: Teensy2, em "Port(arduino)" deixe como foi detectado.

8 - Clique em "Upload firmware" - uma janela DOS se abrira rapidamente.
9 - Agora, em "Device list and configurations" vai aparecer um novo dispositivo: "VID0000 PID:0000 MMjoy-reset(MMjoy2-20150727) <<< que é seu novo "controlador de joystick", porém esta "vazio", é preciso definir quantos eixos e botões terá, bem como dar-lhe uma "identidade": numéros de VID, PID, se quiser um nome diferente de MMjoy2. Selecione o novo dispositivo e configure estes parametros.

10- No exemplo, foi setado apenas um eixo, usando o "Internal sensor", o pino FO da Teensy 2.0, com 14 bits de resolução (16.384 points), e este eixo foi assignado para a função "Throttle", o número de botões ficou em 0 (zero, já que era só teste), o novo controlador de josytick foi "batizado" como MJ-Teensy, VID: 8884, PID: 8884.
A seguir clicar em "Save settings to device". Após gravar uma nova janela abirar perguntando "Ok.Restart device?", clique em "YES".

11 - O novo controlador de joystick aparecerá no Painel de Controle do Windows > Controladores de Jogos (joy.cpl), e esta pronto para ser usado.
Re: MMJoy/MMjoy2
Qual a diferença entre a teensy 2.0 e a Pro micro? Procurei no site da sparkfun e dizem que a teensy2.0 já não é produzida...
A teensy é exclusiva da PJRC store? Li que não era open source. Vale a pena a teensy 2.0 só pela facilidade de programar? Ou a dificuldade para programar a PRO-micro não é assim tão grande? (eu ainda não adequiri nenhuma placa mas tensiono fazê-lo em breve para iniciar os testes).
Estou tentado a encomendar este clone. http://www.ebay.com/itm/New-Pro-Micro-A ... 0972980117
Será que tem todas as funções que necessito, ou será que vou fazer asneira? Também, pelo preço dela, (sem portes) he he, o dano não é grande
. Aguardo as vossas opiniões, Obrigado!
A teensy é exclusiva da PJRC store? Li que não era open source. Vale a pena a teensy 2.0 só pela facilidade de programar? Ou a dificuldade para programar a PRO-micro não é assim tão grande? (eu ainda não adequiri nenhuma placa mas tensiono fazê-lo em breve para iniciar os testes).
Estou tentado a encomendar este clone. http://www.ebay.com/itm/New-Pro-Micro-A ... 0972980117
Será que tem todas as funções que necessito, ou será que vou fazer asneira? Também, pelo preço dela, (sem portes) he he, o dano não é grande

Re: MMJoy/MMjoy2
A Teensy 2.0 ainda tem na PJRC (acho que o frete é meio caro) e no eBay (frete grátis), ou pode usar a Teensy++2.0 que tem
mais pinos, permitindo controlar até 96 botões (matrix 12x8) - acima de 32 precisa de keymaper pois o Windows não "vê".
Não é mais difícil gravar o firmware na PRO Micro, o que tem que fazer a mais é instalar os drivers da porta COM Boootloader,
coisa de segundos, e depois acionar esta porta, que fica aberta por 8 segundos para inicar a gravação.
Apenas que as instruções existentes não eram detalhadas, mas se seguir o "tutorial" que postei aqui não tem erro.
Tem também o incoveniente que não tem botão de "reset" na placa, é preciso colocar dois fios na posição para usar
como tal, mas de qualquer forma terá que soldar as barras de conectores (inclusive na Teensy - acho que a PJRC tem
opções de virem soldados, a custo adicional) para usar depois, assim é só antecipar esta parte.
A vantagem das placas da Sparkfun é a qualidade da construção.
Mas para teste compre um "clone" Chinês da PRO Micro no eBay, ~5$, frete grátis.
De preferência este modelo - pois nele o conector mini-USB (que é frágil) tem 4 pontos de apoio (solda):
http://www.ebay.com/itm/Pro-Micro-ATmeg ... 2101aca3a1
prática entre os diversos modelos de placa Arduino é o número máximo de botões e eixos que é possível controlar, o que
é definido pelo número de pinos existente na placa.
mais pinos, permitindo controlar até 96 botões (matrix 12x8) - acima de 32 precisa de keymaper pois o Windows não "vê".
Não é mais difícil gravar o firmware na PRO Micro, o que tem que fazer a mais é instalar os drivers da porta COM Boootloader,
coisa de segundos, e depois acionar esta porta, que fica aberta por 8 segundos para inicar a gravação.
Apenas que as instruções existentes não eram detalhadas, mas se seguir o "tutorial" que postei aqui não tem erro.
Tem também o incoveniente que não tem botão de "reset" na placa, é preciso colocar dois fios na posição para usar
como tal, mas de qualquer forma terá que soldar as barras de conectores (inclusive na Teensy - acho que a PJRC tem
opções de virem soldados, a custo adicional) para usar depois, assim é só antecipar esta parte.
A vantagem das placas da Sparkfun é a qualidade da construção.
Mas para teste compre um "clone" Chinês da PRO Micro no eBay, ~5$, frete grátis.
De preferência este modelo - pois nele o conector mini-USB (que é frágil) tem 4 pontos de apoio (solda):
http://www.ebay.com/itm/Pro-Micro-ATmeg ... 2101aca3a1
Com a PRO Micro pode controlar até 6 eixos e 32 botões (matrix 6x6), usando o firmware MMjoy2 a única diferençaSerá que tem todas as funções que necessito, ou será que vou fazer asneira?
prática entre os diversos modelos de placa Arduino é o número máximo de botões e eixos que é possível controlar, o que
é definido pelo número de pinos existente na placa.
Re: MMJoy/MMjoy2
Pelo preço que vi a Teensy++2.0 não vale a pena, numa situação em que precisasse mais botões ou eixos preferiria usar duas Pro-micro. Falando nisso, existe alguma maneira de usar duas placas Pro-micro e conectá-las ao PC com apenas um cabo de USB? Calculo que não dê para ligar apenas os fios das duas saídas de USB... Teria de usar um HUD de USB?
Re: MMJoy/MMjoy2
Sim, precisará de HUB USB, de preferência com fonte de alimentação externa.
E em geral a placa mãe de computador tem conectores internos para porta USB extras, porém falta o conector no gabinete, no caso compre um espelho com 2 ou 4 portas para ligar nestes tomadas internas.
http://assets04.webstorelw.com.br/tenan ... 1360687355
E em geral a placa mãe de computador tem conectores internos para porta USB extras, porém falta o conector no gabinete, no caso compre um espelho com 2 ou 4 portas para ligar nestes tomadas internas.
http://assets04.webstorelw.com.br/tenan ... 1360687355
- 32_Mariocar
- Engrenado
- Posts: 2717
- Joined: 18 Jan 2005 21:00
- Location: Rio de Janeiro
Re: MMJoy/MMjoy2
Acho que esse tópico está muito bom, e com muitas informações importantes. O que vocês acham de transformar em tópico fixo?
SP!
Mariocar
Mariocar
Re: MMJoy/MMjoy2
Apoiado!
Re: MMJoy/MMjoy2
Oi! Preciso confirmar umas coisas. Comprei a placa que o Sokol indicou (pro-micro, pirata) para aplicar no novo throttle.
Quero saber quantos botões tenho disponíveis se utilizar os 6 eixos. (pergunto porque li que se usar menos eixos posso ter mais botões).
Consigo usar 32 botões? (desses 32 botões 10 vou usar para rotary encoders- 5 encoders)
Em 5 dos 6 eixos pretendo usar o sensor TLE5011. No restante um potênciometro deslizante.
Como vou deixar a electrônica para o final não queria ter surpresas desagradáveis de ter de eliminar botões ou eixos já depois de tudo montado.
Será que o Sokol pode dar umas dicas?
Desde já, muito obrigado.
Quero saber quantos botões tenho disponíveis se utilizar os 6 eixos. (pergunto porque li que se usar menos eixos posso ter mais botões).
Consigo usar 32 botões? (desses 32 botões 10 vou usar para rotary encoders- 5 encoders)
Em 5 dos 6 eixos pretendo usar o sensor TLE5011. No restante um potênciometro deslizante.
Como vou deixar a electrônica para o final não queria ter surpresas desagradáveis de ter de eliminar botões ou eixos já depois de tudo montado.
Será que o Sokol pode dar umas dicas?
Desde já, muito obrigado.
Re: MMJoy/MMjoy2
6 Rows X 6 Columns = 36 - 4 do HAT > 32 botões.

image hosting free no registration
BTW - A matrix de diodos deve ser igual dos Mjoy8/16 com os diodos nas colunas e suas listras apontando para o pino do botão/switch.

image hosting free no registration
BTW - A matrix de diodos deve ser igual dos Mjoy8/16 com os diodos nas colunas e suas listras apontando para o pino do botão/switch.