LusoRobótica - Robótica em Português
Sistemas específicos => Picaxe => Tópico iniciado por: andre_f_carvalho em 13 de Junho de 2010, 16:47
-
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 (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
-
Como ligaste o nunchuck ao picaxe?
-
usei o picaxe 18x com ligação serie, so que n me esta a funcionar :S
-
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...
-
usei uns pinouts que encontrei na net, img em anexo
o tua pinagem é assim?
e ja agora como fizeste?
-
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 (http://lusorobotica.com/index.php?topic=1964.msg22636#msg22636)
Mas para arduino, nem sei onde começar para por em picaxe...
-
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?
-
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.
-
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?
-
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
-
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 (http://msm.no.sapo.pt/nunchuck/index.html)
espero que ajude.
Cumprimentos, Mauro.
-
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 (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
-
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 (http://www.youtube.com/watch?v=SP2iN3AyhLQ#ws)