Ir ao conteúdo
  • Cadastre-se

Mjoy com atmega8.


edi2007

Posts recomendados

Sokol!

O meu problema aqui é justamente o contrário. Como não chego a usar a resistencia até o fim, nem pra frente nem pra trás, sempre sobra um restinho de resistencia nos dois pra ficar oscilando.

O ideal seria por ex: se o potenciometro tivesse um giro apenas de 60 graus como os do joystick que desmontei aqui, você bota o eixo para girar 65 graus. desta forma sobra um pouco a mais e um pouco a menos e não tem perigo de "não atingir" o fim nem o começo.

Consigo fazer isso com o recurso Zoom do BU0836.

Tem alguma forma de implementar aquele este recurso da placa do Leo Bodnar no Mjoy16para que a resposta do potenciometro limite-se à um pedaço do curso apenas? tem como definir que Limite é esse (onde começa e onde termina)?

Quando ligo uma resistencia de 10k por ex, ativo este modo e o eixo só começa a se movimentar a partir de 4k e pára depois de 8k.. aí eu colocava o movimento do manche para 3,9k e 8,1k.

:)

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Pessoal,

Peço ajuda novamente com a mudança de nome e ID do Mjoy.

Consegui alterar o nome no Pony Programm, colocando ZJOY.

porém isto não alterou o ID do controlador para o Windows, veja que plugado juntamente com um joystick Piloto PRO - reconhecido como USB Game Device, o ZJOY aparece primeiro na ordem.

zjoyhx1.jpg

No SVMapper (que serve para programar os botões de joysticks_) o ZJOY tambem aparece - com todos seus 112 botões :D e HAT - ANTES do USB Game Device... :huh:

zjoy1tm0.jpg

Não entendi (novidade... :P ) a parte de VENDOR ID e PRODUCT ID da instrução, pois se altero o 02 que esta no firmware original para 03, o Mjoy passa a ser reconhecido como 9 Axis (??) e 112 botões... mas continua em primeiro lugar na lista de controladores.

Se mudo para 01 não altera nada, se mudo para 00 ele deixa de ser reconhecido pelo windows.

A instrução - postada logo acima - fala em Reverse Order (ordem inversa), o que para mim só confundiu mais...

A necessidade de deixar o Mjoy como último dispositivo na lista dos controladores de jogos é devido a simuladores como o IL2 Sturmovik reconhecer primeiro o Mjoy, e no caso não tem como alterar as configurações de sensibilidade do Joystick no setup do game, pois ele esta como segundo dispositivo.

Sokol1

Link para o comentário
Compartilhar em outros sites

Bom, achei isto no forum do Pony Program:

> Hi Muas, I'm a iniciante in programing. I made a few

> ATMega16 based input controlers Mjoy16, and trying

> to change vendor and product ID's, as You did, to

> make a correct order in game controlers menu. How

> should I do that?

> Sorry, no answer to Your question..

> Thanx.

The procedure to reorder a multiple MJoy16 input device setup its very simple. Just follow the steps on the attached pdf.

If you're only using MJoy16 input devices, your just rename the name and product ID like this:

Name.......Product ID

MJ16............02 (default, will be the ID1 device on your OS and first on the game controller list - no EEPROM editing necessary)

MJ62............03 (will be the ID2 device on your OS and second on the game controller list)

MJ63............04 (will be the ID3 device on your OS and second on the game controller list)

(and so on)

Now if your using another input device (like me) for ex. Thrustmaster Hotas Cougar, which I want to be ID1:

Name...................................Vendor ID................Product ID

Thrustmaster Hotas Cougar.......044f........................400

MJ16.....................................044f........................401

What I did was renaming vendor and product IDs on the MJoy16 to be the next on the game controller list.

The problem I'm facing is that after a few days or so, the EEPROM data seem to revert to a previous state - but that shouldn't be happening...

ATENTION

--------

Before any atempt to edit the EEPROM data, backup the Flash memory first by reading the device and save it to a file. If you're not sure of what you're doing don't even try it, otherwise you might end up with an useless MJoy16 card.

Pelo que entendi o MJ16 (default), MJ62, MJ63, é para quando for ligando mais de um Mjoy no mesmo micro.

O que preciso se enquadra no segundo caso, o do Thrusmaster Hotas Cougar

Agora onde vai este 044f e 401? Os campos para digitar só permitem dois dígitos...

MJ16.....................................044f........................401

Sokol1

Link para o comentário
Compartilhar em outros sites

Consegui mais uma informação num forum russo:

So, you are right, name doesn't matter, the order is defined by VendorId and ProductId. Set VendorId to a rather great number (for example, 777). If the MJ16 is still before Thrustmaster, increase even more. And ProductId... just different for different MJoy's.

O nome não importa, pode ser o que quiser, o que define a ordem dos controladores para o Windows é o VENDOR ID, o cara sugere colocar 777, ou um numero maior.

O PRODUCT ID é para quando for usar mais de um Mjoy no mesmo micro.

Desculpem a pergunta noobie: Como se escreve 777 em ASCI?

Obrigado.

Sokol1

Link para o comentário
Compartilhar em outros sites

soschip,

Pois é, consultei a tabela, mas não descobri como escrever 777 ... :)

Em todo caso me passaram esta dica, que aparentemente deu certo:

..você tem que entrar com o n° na base hexadecimal, 777 em hexa = 0309.

Agora o controlador Mjoy16 é visto pelo windows como o último controlador:

mj16lp0.jpg

BTW-Li isto também:

http://www.guiadohardware.net/comunidade/decimal/145279/

E fiquei com dor de cabeça. :)

Edit.: Um jeito fácil: abra a calculadora do windows, vá em exibir e mude a calculadora para científica, digite 777, mude a calculadora para Hex (hexadecimal), vai aparecer 309, acrecente um zero a esquerda: 0309.

Sokol1

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Para quem quiser uma versão compacta do Mjoy16, o Tsinik do BC Squadron Group russo, fez um PCB medindo 52mm x 34 mm - cabe até dentro do punho de alguns joysticks, como Thrustmaster F16/F22, CH Combat/Flight/Fighterstick - ele colocou a maioria dos componentes debaixo do MCU:

attachmentek3.jpg

Pronto, note o cabo USB preso com abraçadeira de nylon:

attachmentne4.jpg

Tópico relacionado -esta em russo - mas as imagens falam por si:

http://aviasimrus.spb.ru/forum/showthread.php?t=1014

Para visualizar e imprimir o PCB - criado com o Sprint Layout - usem o Sprint Layout Viewer:

http://www.abacom-online.de/uk/html/sprint-layout.html

Edit.: Para este tipo de montagem o indutor precisa ser do tipo cilindrico (semelhante a um resitor) ou SMD, já que o retangular (~10x50mm) não cabe sob o ATMEGA.

S!

Sokol1

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Ae pessoal!

Estou montando um MJOY 16, só estou esperando o ATMEGA chegar.

Uma dúvida, não encontrei indutor de 10uH. Alguém sabe se existe alguma tolerância, pois aqui na minha cidade só encontrei indutor de 12uH.

Outra coisa, os capacitores de 15pF podem ser substituídos por de 22pF ???

Obrigado!

Link para o comentário
Compartilhar em outros sites

Ae pessoal!

Estou montando um MJOY 16, só estou esperando o ATMEGA chegar.

Uma dúvida, não encontrei indutor de 10uH. Alguém sabe se existe alguma tolerância, pois aqui na minha cidade só encontrei indutor de 12uH.

Outra coisa, os capacitores de 15pF podem ser substituídos por de 22pF ???

Obrigado!

Pode usar 12uH , a única restrição tem a ver não com a indutância mas sim com a resistência da bobina para garantir as condições de alimentação do ADC do controlador segundo as especificações.

Pode usar os condensadores de 22 pF .

Link para o comentário
Compartilhar em outros sites

Pode usar 12uH , a única restrição tem a ver não com a indutância mas sim com a resistência da bobina para garantir as condições de alimentação do ADC do controlador segundo as especificações.

Pode usar os condensadores de 22 pF .

Valeu zurca! você já montou um MJOY16 ?

Outra dúvida que surgiu é em relação ao JP3 (pacth pins). Qual a função dele ? Na hora de gravar o arquivo HEX é necessário algum jumpeamento ?

Estou montando meu MJOY 16 seguindo o tuto deste link http://www.powernet.pl/%7Ekrzysiek/elektronika/mjoy16/mjoy16.htm

inté!

Link para o comentário
Compartilhar em outros sites

Valeu zurca! você já montou um MJOY16 ?

Outra dúvida que surgiu é em relação ao JP3 (pacth pins). Qual a função dele ? Na hora de gravar o arquivo HEX é necessário algum jumpeamento ?

Estou montando meu MJOY 16 seguindo o tuto deste link http://www.powernet.pl/%7Ekrzysiek/elektronika/mjoy16/mjoy16.htm

inté!

Não montei esse esquema.

Mas esse projecto é baseado no do Igor Cesco que já usei ( que por acaso até está publicado no site da Atmel como AP-note) .

JP3 - veja no manual´uso futuro "Patch pins are reserved for possible future use "

Para programar precisa de ligar o adaptador do Pony arrancar o software Pony e programar a flash , eprom e fuses como está no site .

Link para o comentário
Compartilhar em outros sites

Montei o 16! Deu tudo certo, porém vou trocar os potenciometros de 100 para10k, acho que ficarão melhores. Quero fazer agora a segunda placa, a Matrix board.

Sokol! Dê-me um help!

Como uso esse SVMAPPER ?

Tô apanhando p/ configurar TOGGLE SWITCHES, coisa simples, só fazer ligar e desligar uma luz (ex: landing light). Devo tá mancando em alguma bobeira, hehehe

Link para o comentário
Compartilhar em outros sites

Serelepe,

Bacana que deu certo o Mjoy16. :aplausos:

Thats easy!

Como regra, para controladores USB menores valores do potenciômetro significam menos interferência, mas em contra-partida exigem mais da alimentação USB.

Se tiver muitos periféricos USB ligados no micro uma boa ideia é comprar um Hub USB com fonte de alimentação própria.

Já o SVMapper - necessário para os botões acima do limite de 32 do windows - é fácil de usar, ele é emulador de teclas.

Abra o programa, veja se ele reconheceu seus joysticks/controladores - no caso do Mjoy16 vão aparecer 112 botões. (1)

Escolha o botão que vai controlar sua chave liga/desliga (toggle switch) para ligar/desligar luzes. Clique no numero do botão, ele ficara vermelho.

Coloque o cursor do mouse no campo "Mapped on Key Press" e aperte a tecla que contra as luzes no game, exemplo L (ou Alt+L, Shift+L, Ctrl+L... - ele diferencia os da direita e esquerda). Coloque o cursor do mouse no campo "Mapped on Key Release", e aperte L novamente.

Assim com a chave de alavanca para cima (ON) vai enviar para o game um L e ligar as luzes, com a chave para baixo (OFF) via enviar para o game outro L e desligar as luzes.

Mesma coisa para controlar trem de pouso (G), etc.

Se quiser que um botão fique ligado enquanto apertado, exemplo PTT (push to talk) no TeamSpeak, escolha o botão, coloque no campo "Mapped on Key Press" a tecla que programou no TeamSpeak para o PTT e no campo 'continuos' coloque YES.

(1)

A próposito, os 112 botões do Mjoy16 são:

64 botões momentâneos (push button).

16 chaves de alavanca (toggle switch) gerando 2 botões cada = 32

4 encoders rotativos, gerando 4 botões cada, 2 no modo lento, 2 no modo rápido = 16

Testei o Mjoy 16 com um encoder de scroll de mouse (tipo mecânico) e funcionou.

Sokol1

Link para o comentário
Compartilhar em outros sites

Pessoal, o MJOY serve apenas para simuladores de avião, ou serve tambem para usar com simuladores de corrida ?

Lipesh,

Existem versões especificas do Mjoy para uso com simuladores de corridas, nestas versões foi removida a auto-calibração, incoveniente num volante e pedais - alem desta reduzir ligeiramente a precisão dos eixos, insignificante num simulador de avião, mas significativa no controle de um carro de corrida - e o número de eixos reduzidos, a exemplo do Mjoy(8) do Mercury, fã de simuladores de corridas:

http://mercury13.tut.su/

A página esta em russo, mas colocando o link no google translator da para entender bem em inglês.

http://www.google.com/translate_t

http://www.google.com/translate?u=http%3A%2F%2Fmercury13.tut.su%2F&langpair=ru%7Cen&hl=pt-BR&ie=UTF8

Inclusive se quiser pode fazer contato com ele em inglês.

Sokol1

Link para o comentário
Compartilhar em outros sites

Lipesh,

Existem versões especificas do Mjoy para uso com simuladores de corridas, nestas versões foi removida a auto-calibração, incoveniente num volante e pedais - alem desta reduzir ligeiramente a precisão dos eixos, insignificante num simulador de avião, mas significativa no controle de um carro de corrida - e o número de eixos reduzidos, a exemplo do Mjoy(8) do Mercury, fã de simuladores de corridas:

http://mercury13.tut.su/

A página esta em russo, mas colocando o link no google translator da para entender bem em inglês.

http://www.google.com/translate_t

http://www.google.com/translate?u=http%3A%2F%2Fmercury13.tut.su%2F&langpair=ru%7Cen&hl=pt-BR&ie=UTF8

Inclusive se quiser pode fazer contato com ele em inglês.

Sokol1

Opa, valeu mesmo Sokol1 ! :lol:

Link para o comentário
Compartilhar em outros sites

Achei o encoder com click!!!!

Procurei, procurei e só achei numa lojinha aqui em Curitiba. Achei caro, R$ 9 cada, comprei 2 pra testar, porém saiu mais barato que no ML, onde achei por R$ 16 o par + frete.

Funcionou beleza no MJOY. No SVMAPPER defini sentido horário (+) e antihor. (-) e apertando o click (tecla c), ou seja, no teste no FS, apertando o eixo eu escolho a frequência ou o decimal e girando ele eu aumento ou diminuo o valor.

Devagarinho eu chego lá! Hehehehe

Link para o comentário
Compartilhar em outros sites

Serelepe,

Veja que voce pode usar cada encoder de dois modos no Mjoy16, no lento em que é gerado um botão para cada lado ( + e - no seu caso) e no rápido em que são gerados dois botões ao mesmo tempo para cada lado (o + e - e por ex. Alt+ +, Alt+ -).

Assim se voce estiver na frequencia 11 e quiser mudar para a 99, basta girar rápido, vai mudar os dois campos de dígitos ao mesmo tempo, evitando ter que girar de 1 em 1 para ir de 11 a 99. Basta configurar de acordo com as teclas do simulador para estas funções.

Do manual do Mjoy16 - numa tradução literal:

Por exemplo: Se mapear o encoder no sentido horário para apertar o botão 70 e no sentido anti-horário para apertar o botão 80 e em seguida definir estes botões para aumentar ou diminuir a freqüência de radio Com1, vamos ser capazes ajustar a parte fracionária da frequência (o último dígito) girando o encoder em um ou outro sentido.

Isso é bom, mas se torna inconveniente se você quiser mudar de uma frequência para outra que está distante, (NT. Ex 11 para 99 teria que girar 88 vezes...).

Para resolver este problema os rádios reais têm diais co-axial um dentro do outro, girando os dois ao mesmo tempo muda a parte inteira e parte fracionária da frequência.

No MJoy16 isto foi resolvido de maneira diferente. Neste controlador o processamento dos encoders depende de quão rápido você rodar o knob do encoder. Se você rodar lento um botão é pressionado, e se girar rápido dois botões são apertados ao mesmo tempo.

Portanto, no caso da freqüência girando o encoder rapidamente vai apertar ao mesmo tempo o botão 70 e o botão 75 girando no sentido horário e no sentido anti-horario o botão 80 e o botão 85. Como pode ver um encoder gera 4 botões. Se você mapear as função de Fractional_Increment (do FS) para o botão 70 e a função Whole_Increment para Button 80 e as funções Fraction Decrements para o botão 75 e Whole Decrement par ao botão 85, respectivamente, você terá um controle rotativo totalmente funcional para controlar as freqüências Com etc. NT-ao girar o encoder rapidamente você muda a parte fracionada e inteira da freqüência ao mesmo tempo, mudando rapidamente da freqüência 11 para

a 99 do exemplo.

Sokol1.

Link para o comentário
Compartilhar em outros sites

Serelepe,

Veja que voce pode usar cada encoder de dois modos no Mjoy16, no lento em que é gerado um botão para cada lado ( + e - no seu caso) e no rápido em que são gerados dois botões ao mesmo tempo para cada lado (o + e - e por ex. Alt+ +, Alt+ -).

Assim se voce estiver na frequencia 11 e quiser mudar para a 99, basta girar rápido, vai mudar os dois campos de dígitos ao mesmo tempo, evitando ter que girar de 1 em 1 para ir de 11 a 99. Basta configurar de acordo com as teclas do simulador para estas funções.

Do manual do Mjoy16 - numa tradução literal:

Sokol1.

Hmmm...

...eu todo feliz com a farinha e você já me aparece com o pão feito!!! :D

Cara, imagine se o MJOY tivesse saída p/ lcd onde pudéssemos exibir os dados do rádio, seria perfeito!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!