• Welcome to LusoRobótica - Robótica em Português.
 

picaxe + wii nunchuk

Started by andre_f_carvalho, 13 de June de 2010, 16:47

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andre_f_carvalho

boas, alguem ja experimentou esta interface com o picaxe?

andei a procura e cheguei a montar, mas n me esta a funcionar, eu tirei ideias deste site http://www.picaxeforum.co.uk/showthread.php?t=11865

abaixo o codigo que ando a tentar por  a funcionar xD
i2cslave $A4, i2cfast, i2cbyte



i2cwrite ($40,$00)

pause 10



lp:

writei2c (0)

pause 10



readi2c (b1,b2,b3,b4,b5,b0)



b13 = b0

b0 = b13 Xor 0x17 + 0x17



'X joy

b13 = b1

b1 = b13 Xor 0x17 + 0x17

poke $50,  b1



'Y joy

b13 = b2

b2 = b13 Xor 0x17 + 0x17

poke $51,  b2



'X acc


b13 = b3

b3 = b13 Xor 0x17 + 0x17

poke $52, b3



'Y acc


b13 = b4

b4 = b13 Xor 0x17 + 0x17

poke $54, b4



'Z acc


b13 = b5

b5 = b13 Xor 0x17 + 0x17

poke $56, b5



'buttons

poke $58, bit0

poke $59, bit1



'X joy

peek $50, b0

'Y joy

peek $51, b1

'X acc

peek $52, b2

'Y acc

peek $54, b3

'Z acc

peek $56, b4

'buttons

peek $58, b5

peek $59, b6



if b2 < 100 then

high 0

else

low 0

endif



if b2 > 140 then

high 2

else

low 2

endif



if b3 < 100 then

high 3

else

low 3

endif



if b3 > 140 then

high 5

else

low 5

endif



pause 10

'debug

goto lp



caso alguem tenha uma ideia de por isto a funcionar agradecia...


cump

amando96

Como ligaste o nunchuck ao picaxe?

andre_f_carvalho

usei o picaxe 18x com ligação serie, so que n me esta a funcionar :S

amando96

Sim, mas seguiste qual pinout do nunchuck?

eu tive uns dias a tentar por a funcionar, e dps desisti, depois de umas semanas voltei a tentar e vi que estava mal ligado...

andre_f_carvalho

#4
usei uns pinouts que encontrei na net, img em anexo

o tua pinagem é assim?

e ja agora como fizeste?

amando96

Sim, é igual...

O teu é "genuino" da nintendo, ou um barato do ebay? Eles precisam de ser iniciados de maneira diferente, está aqui este tópico:
http://lusorobotica.com/index.php?topic=1964.msg22636#msg22636
Mas para arduino, nem sei onde começar para por em picaxe...

andre_f_carvalho

#6
comprei um nunchuk sem fios  (n é da nintendo) e esta a dar-me problemas, experimente com um da nintendo com fio e n da na mesma,


sendo, que a imagem da pinagem daquele é do comando principal certo se for acho que tenho bem as ligações,

ja agora achas qu este esquema funciona?

amando96

Penso que os diodos estão ali a mais, pelo menos não usei, nem vi nunguem usar.

Estás a dar-lhe 5v, ou 3.3v? se deres 5v não uses muito tempo, ele depois estraga-se.

andre_f_carvalho

#8
o que é que se estraga? o picaxe ou o nunchuk?

eu no nunchuk estou a usar 3.3v com um regulador de tensão como esta no esquema,

ja agora como é que fizeste o teu esquema?

andre_f_carvalho

Boas,

depois de tanto tempo sem mexer nesta parte la venho com umas duvidas, tenho um codigo, onde uso o acelarometro e o joystic para controlar dois servos mas algures no codigo, está sempre a misturar-se os valores do acelarometro com o do joystic, nem tenho nenhum video, mas amanha em principio estara aqui um

aqui fica o codigo:
init:

setfreq m16                        ;set frequencey to 16Mhz. this works on 18M2
i2cslave $A4, i2cslow, i2cbyte        'picaxesters code used i2cfast and 8Mhz i have changed to i2cslow and 16Mhz and works a treat

i2cwrite ($40,$00)
pause 10

servo b.2,75 ; initialise servo
servo b.3,75 ; initialise servo

symbol Xpos = b7
symbol Ypos = b8
symbol Xjoy = b0
symbol Yjoy = b1
symbol xacc = b2
symbol yacc = b3
symbol Zbut = b5
symbol Cbut = b6
symbol DualRate = b9
symbol servox = B.3
symbol servoY = B.2


lp:
writei2c (0)
pause 10



readi2c (b1,b2,b3,b4,b5,b0)



b13 = b0
b0 = b13 Xor 0x17 + 0x17



'X joy

b13 = b1
b1 = b13 Xor 0x17 + 0x17
poke $50,  b1



'Y joy

b13 = b2
b2 = b13 Xor 0x17 + 0x17

poke $51,  b2



'X acc

b13 = b3
b3 = b13 Xor 0x17 + 0x17
poke $52, b3



'Y acc

b13 = b4
b4 = b13 Xor 0x17 + 0x17
poke $54, b4



'Z acc

b13 = b5
b5 = b13 Xor 0x17 + 0x17
poke $56, b5



'buttons

poke $58, bit0
poke $59, bit1



'X joy
peek $50, b0

'Y joy
peek $51, b1

'X acc
peek $52, b2

'Y acc
peek $54, b3

'Z acc
peek $56, b4

'buttons
peek $58, b5
peek $59, b6





let DualRate = 15                        ' set dual rate to normal
if Cbut = 0 then gosub dual                ' If C butten is pressed change to half rates
if Zbut = 0 then acc                     ' if Z button is pressed use accelerometer
goto joy                            ' else goto joy not needed but safe
   
joy:
let Xpos = Xjoy*10/DualRate+75            'Xpos equals Xjoy (0-255) x 10 (0-2550) / 15 (0-170) +75 (75-245)
let Ypos = Yjoy*10/DualRate+75            'As above, servo range needs to be converted from 0-255 to 75-255

debug
servopos servoX, xpos                    'servo position= servo selection, X position
pause 10
servopos servoY, ypos                   
goto lp


acc:
let Xpos = Xacc*10/DualRate+75
let Ypos = yacc*10/DualRate+75
debug
servopos servoX, xpos                   
pause 10
servopos servoY, ypos                   
goto lp


dual:
let DualRate = 30        ' this didnt work quite right. the idea was to double 15 (30) and therefor have half rates. it was late and my maths brain still isnt working.
return




maurosmartins

Olá pessoal,

para ligar e interpretar os dados do nunchuck podem dar uma vista de olhos na minha pagina.

Tenho as informações e um pequeno codigo de exemplo http://msm.no.sapo.pt/nunchuck/index.html

espero que ajude.

Cumprimentos, Mauro.

andre_f_carvalho

Quote from: maurosmartins on 16 de May de 2011, 23:35
Olá pessoal,

para ligar e interpretar os dados do nunchuck podem dar uma vista de olhos na minha pagina.

Tenho as informações e um pequeno codigo de exemplo http://msm.no.sapo.pt/nunchuck/index.html

espero que ajude.

Cumprimentos, Mauro.

a duvida esta na programação por estar a misturar o acelarometro com o joystic, mas no teu site usas pic e eu neste uso picaxe com ling. basic

andre_f_carvalho

boas,

depois de tanto tempo sem mexer nisto, lá fiz um video dos servos a mexerem com o nunchuck, espero que gostem xD

Nunchuck + picaxe 18m2 - pan&tilt test