Conecte o NunChuck no Arduino com o adaptador Wiichuck - Arduino e Cia
O controle NunChuck do Nintendo Wii
O videogame Nintendo Wii tem como controle principal o Wii Remote, um dispositivo parecido com um controle remoto (e que de certa forma é), que os jogadores usam para controlar os movimentos na tela de acordo com a movimentação do Wii Remote. O controle NunChuck, por sua vez, é um dispositivo auxiliar, que é ligado no Wii Remote e expande as funcionalidades do controle principal:
Durante o jogo você pode, por exemplo, usar o controle principal para mirar em um inimigo, enquanto usa o NunChuck para selecionar uma arma, efetuar o disparo e executar alguma outra ação, já que ele conta com 2 botões, um joystick de 2 eixos e um acelerômetro de 3 eixos.
O cabo de conexão do NunChuck tem seis pinos, sendo 2 de comunicação I2C e 2 de alimentação, conforme mostra a imagem abaixo. Os demais pinos não são utilizados:
Imagem: arduino-projects4u.com
Como o Arduino e outros microcontroladores e placas já tem a interface I2C embutida, podem se comunicar facilmente com esse controle usando o adaptador Wiichuck.
Adaptador Wiichuck Arduino
O adaptador Wiichuck nada mais é do que uma pequena placa com 4 conectores, que serve para alimentar o controle NunChuck e ao mesmo tempo fazer a comunicação com o Arduino usando a interface I2C através dos pinos analógicos A4 (SDA) e A5 (SCL).
Para conexão com o Arduino, soldamos uma barra de pinos nesse adaptador, e fazemos a conexão conforme a imagem abaixo:
Assim, teremos os pinos A2 e A3 responsáveis pela alimentação do controle, e os pinos A4 e A5 fazendo a comunicação I2C:
Se preferir, você pode fazer uma ligação com jumpers, alimentando o controle com uma fonte externa, liberando asssim os pinos A2 e A3.
Programa Wiichuck Arduino
Para facilitar o nosso trabalho, o criador da placa criou uma biblioteca que você pode baixar neste link.
Descompacte o arquivo zip e teremos dentro da pasta dois arquivos, o WiichuckDemo.INO, que é um programa de teste, e outro chamado nunchuck_funcs.h, que é a biblioteca propriamente dita.
Criei o programa abaixo com o WiichuckDemo.ino como base, e nele adicionei as funções de mostrar as informações do joystick, além dos valores do acelerômetro e dos botões já contidos no programa original:
//Programa: Wiichuck com Arduino
/*Creditos
2008 Tod E. Kurt, http://thingm.com/
byte accx, accy, zbut, cbut, joyx, joyy;
//Seta os pinos de alimentacao
//Inicializa o controle
Serial.println("Teste WiiChuckDemo Arduino");
//Leitura a cada 100ms
if ( loop_cnt > 1000 )
//Le os dados do Nunchuck
//Datos do Joystick
//Dados do Acelerometro
//Dados dos botoes
//Imprime os valores no Serial Monitor
Serial.print("Ac.X: "); Serial.print((byte)accx, DEC);
Serial.print("\tAc.Y: "); Serial.print((byte)accy, DEC);
Serial.print("\tBot.Z: "); Serial.print((byte)zbut, DEC);
Serial.print("\tBot.C: "); Serial.print((byte)cbut, DEC);
Serial.print("\tJoy.X: "); Serial.print((byte)joyx, DEC);
Serial.print("\tJoy.Y: "); Serial.println((byte)joyy, DEC);
Com o programa carregado no Arduino, abra o Serial Monitor e explore as funcionalidades do controle, girando para frente e para trás, para o lado direito e esquerdo, e acionando os botões:
Não esqueça de setar a velocidade do Serial Monitor para 19200, para que os dados apareçam corretamente.
Postado por Arduino e Cia às 21:05
Everton Oliveira 10 de março de 2017 22:12
Olá boa noite queria saber se com o arduino eu posso usar ele pra fazer que com um controle de um console funcionar em outro vc sabe como faz ou se tem como