Mindstormsforum
Dateiupload | Links | Lexikon | NXT Shop | RobotC.de | Wettbewerbe |

und wieder der Wii Nunchuk,

Atmel, PIC, VEX, Fischertechnik

Moderator: Moderatoren

Benutzeravatar
LegoRentner
Schreibt super viel
Schreibt super viel
Beiträge: 322
Registriert: 17. Jan 2007 13:36
Wohnort: Velen-Ramsdorf
Kontaktdaten:

und wieder der Wii Nunchuk,

Beitragvon LegoRentner » 5. Dez 2008 22:56

hallo zusammen,
hab inzwischen eine Wii mit 2 Nunchuk und hab die div. Schaltngsvorschläge unter RobotC getestet.
zu der Schaltung von tom123 mit den komplimentären Transistoren:
habe mit div. Transistoren getestet, und zwar mit dem NXT I2C Test Utility von RobotC, ich habe es zwar geschafft, dass kein "I2C Bus Error" auftrat, aber das Lesen von Adresse 00..05 und/oder 20..2F ergab immer "FF". Hab die Pegel auch it einem Oszi betrachtet, dabei konnte man auf der Nunchukseite eine Veränderung der Daten sehen, wenn der Nunschuk bewegt oder der Jostick betätigt wurde. Diese Veränderung war aber auf der NXT-Seite nicht festzustellen. Die Tests wurden mit und ohne Pullups im Nunchuk getestet.

Mit den Pullups von 33k funktionierte alles perfekt, wobei ich zwei 1N4148 Dioden in die Spannungsversorgungsleitung eingefügt habe ( 2x07V=1,4V, 5V-1,4V=3,6V), damit bin ich auf alle Fälle auf der sicheren Seite !.

Das das erstes RobotC Programm von tom123 läuft übrigens problemlos.

Um den Nunchuk auch an der Wii benutzen zu können, hab ich ein 3pol. Dipschalter (wovon ich nur zwei benutze,hatte nur 3pol. Dipchalter) in den Nunchuk eingebaut, damit schalte ich die beiden Pullups (1,8k) für die Wii-Remote an und wenn ich den Nunchuk für den NXT gebrauche wieder ab. Die Pullups (33k) für den NXT sind im Adapter integriert. Da ich ja eine defekte Wii-Remote habe, konnte ich den orginal Stecker(Buchse) für einen Adapter zum NXT verwenden.
noch ein paar Bilder:
http://www.flickr.com/photos/33066440@N02/3084888775/
http://www.flickr.com/photos/33066440@N02/3085727360/
http://www.flickr.com/photos/33066440@N02/3084887315/
http://www.flickr.com/photos/33066440@N02/3084886445/
http://www.flickr.com/photos/33066440@N02/3085725176/
http://www.flickr.com/photos/33066440@N02/3084885225/


Gruß der LEGORENTNER[/img]
intx,y,i;float cr,ci,zr,zi,d;main(){for(y=0;y<64;y++){for(x=0;x<100;x++){zr=zi=i=d=0;cr=((float)x/33)-2;ci=((float)y/32)-1;while(i<50 & sqrt(d+2*(zi*zi))<2){d=(zr*zr)-(zi*zi);zi=(2*zr*zi)+ci;zr=d+cr;i++;}if(sqrt(d+2*(zi*zi))<2){nxtSetPixel(x,y);}}}}

tom123
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 38
Registriert: 28. Mär 2008 15:08

Beitragvon tom123 » 6. Dez 2008 20:52

Hallo LegoRentner,

schön, dass wieder einer den Nachbau gewagt hat. Ich bin froh, wenn der Nachbau stabil ist, da ich zu dem Workaround kein Vertrauen gefunden habe. Workaround deswegen, da die NXT-Firmware (Lego und RobotC) die original i2c-Bus-Abfrage einer Wii-Remote nicht nachbilden kann.
Fehlendes Vertrauen, da der Workaround sehr Timing-kritisch ist und meine Nunchuk bei Lego-Kompatiblen Pullups von 82k nicht den gesamten Analog-Bereich des Joysticks abgetastet. Es gab da praktisch tote Quadranten. Erst mit 33k verschwand dieser Fehler. Alles sehr seltsam.

Den Hinweis mit den komplimentären Transistoren habe ich aufgenommen auch wenn ich nicht verstehe was da schief gegangen ist. Die Schaltung läuft natürlich nur mit der Stromversorgung aus den Pullups auf der Nunchuk Seite.
Frage: Ist der Pegel auf NXT-Seite auf LOW gegangen, wenn die Nunchuk auf LOW gezogen hat?

Zu den Dip-Schaltern: Funktioniert die Verbindung zur Wii-Remote nicht auch mit 33k Pullups?

Benutzeravatar
LegoRentner
Schreibt super viel
Schreibt super viel
Beiträge: 322
Registriert: 17. Jan 2007 13:36
Wohnort: Velen-Ramsdorf
Kontaktdaten:

Beitragvon LegoRentner » 6. Dez 2008 22:07

hallo tom123,
ich habe festgestellt, dass der I2C-Bus des NXT's nicht gerade als stabil bezeichnet werden kann. Bei der IR-Kamera musste ich sogar ganz auf Pullups verzichten !
Du schreibst:
Frage: Ist der Pegel auf NXT-Seite auf LOW gegangen, wenn die Nunchuk auf LOW gezogen hat?
Da ich die Schaltung bereits wieder abgebaut ( war nur mit einem Experimentierboard aufgebaut) habe, wirds etwas länger dauern dir die Frage zu beantworten, aber es interesiert mich auch, deswegen werden ich die Schaltung die Tage nochmals aufbauen !
Du schreibst:
Zu den Dip-Schaltern: Funktioniert die Verbindung zur Wii-Remote nicht auch mit 33k Pullups?
das habe ich doch tatsächlich nicht probiert, werde es aber auch noch nachholen, zum Glück habe ich die Wii mit dem Sportprog. da braucht man zum Boxen zusätzlich für die zweite Hand den nunchuk.

bis dann
der LEGORENTNER
intx,y,i;float cr,ci,zr,zi,d;main(){for(y=0;y<64;y++){for(x=0;x<100;x++){zr=zi=i=d=0;cr=((float)x/33)-2;ci=((float)y/32)-1;while(i<50 & sqrt(d+2*(zi*zi))<2){d=(zr*zr)-(zi*zi);zi=(2*zr*zi)+ci;zr=d+cr;i++;}if(sqrt(d+2*(zi*zi))<2){nxtSetPixel(x,y);}}}}

Benutzeravatar
Ciclon
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 64
Registriert: 23. Dez 2008 14:01

Beitragvon Ciclon » 26. Dez 2008 12:32


Benutzeravatar
LegoRentner
Schreibt super viel
Schreibt super viel
Beiträge: 322
Registriert: 17. Jan 2007 13:36
Wohnort: Velen-Ramsdorf
Kontaktdaten:

Beitragvon LegoRentner » 26. Dez 2008 17:05

leider hat der Nunchuck keine eigene Wirless-Funktion, diese ist im Wii-Remote in Form von Bluetooth.
Natürlich wäre es möglich Ihn mit Bluetooth-Funktion aufzurüsten, z.B. mit einem handelsüblichen Bluetooth-Baustein und einem dafür notwendigen µC und natürlich einer eigenen Stromversorgung. Der Aufwand würde aber erheblich, im Besonderen auf der Seite der Software. Auch die Kosten sind im Voraus schwer abschätzbar !
Eine einfachere Lösung ist dies mit einem zusätzlichen NXT zu bewerkstelligen. Dabei würden auch die Kosten im überschaubaren Rahmen bleiben : 1 NUNCHUK, 1 NXT und Verbindungskabel ( an einer Seite abgeschnittenes Orginal-NXT-Kabel, das dann auf der freien Seite fest im Nunchuck verdrahtet wird ).

Gruß der LEGORENTNER
intx,y,i;float cr,ci,zr,zi,d;main(){for(y=0;y<64;y++){for(x=0;x<100;x++){zr=zi=i=d=0;cr=((float)x/33)-2;ci=((float)y/32)-1;while(i<50 & sqrt(d+2*(zi*zi))<2){d=(zr*zr)-(zi*zi);zi=(2*zr*zi)+ci;zr=d+cr;i++;}if(sqrt(d+2*(zi*zi))<2){nxtSetPixel(x,y);}}}}

Benutzeravatar
Tim Sasdrich
Enorm-Viel-Schreiber
Enorm-Viel-Schreiber
Beiträge: 797
Registriert: 14. Okt 2007 12:19
Wohnort: VS
Kontaktdaten:

Beitragvon Tim Sasdrich » 26. Dez 2008 19:10

Es gibt aber auch einen Adapter (ca.20€) um die Daten der Nunchuk an die Wii Remote zu senden. Der überträgt also auch die Daten über I²C und wäre daher vielleicht eine Möglichkeit.

Benutzeravatar
LegoRentner
Schreibt super viel
Schreibt super viel
Beiträge: 322
Registriert: 17. Jan 2007 13:36
Wohnort: Velen-Ramsdorf
Kontaktdaten:

Beitragvon LegoRentner » 26. Dez 2008 19:37

der Nunchuk wird direkt (über das Kabel ) ohne Adapter an der Wii-Remote angeschlossen.
Die Datenübertragung erfolgt wie du schon sagst über I2C.
Die Gesamte Elektronik (Bluetooth) zur Datenübertragung an die Wii-Console befindet sich jedoch im der Wii-Remote !
von einem Adapter, der die Daten kabelos an die Wii-Remote überträgt habe ich noch nichts gehört ?

Gruß der LEGORENTNER
intx,y,i;float cr,ci,zr,zi,d;main(){for(y=0;y<64;y++){for(x=0;x<100;x++){zr=zi=i=d=0;cr=((float)x/33)-2;ci=((float)y/32)-1;while(i<50 & sqrt(d+2*(zi*zi))<2){d=(zr*zr)-(zi*zi);zi=(2*zr*zi)+ci;zr=d+cr;i++;}if(sqrt(d+2*(zi*zi))<2){nxtSetPixel(x,y);}}}}

Benutzeravatar
Ciclon
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 64
Registriert: 23. Dez 2008 14:01

Beitragvon Ciclon » 27. Dez 2008 11:37

ja aber dieser wireless nunchuck aus meinem link oben,wird ja ganz normal an per kabel(stumpf) an die wiiremote angeschlossen...wenn man den "nunuck-to-nxt" "adapter" an diesem stumpf anschließt sollte es doch immer noch i2c sein.

Dieser Wireless nunchuck is auch nicht von nintendo,ich glaub das ding gibt es echt nbur third party mäßig

Benutzeravatar
Tim Sasdrich
Enorm-Viel-Schreiber
Enorm-Viel-Schreiber
Beiträge: 797
Registriert: 14. Okt 2007 12:19
Wohnort: VS
Kontaktdaten:

Beitragvon Tim Sasdrich » 27. Dez 2008 12:25

Den den ich meinte funktioniert genauso aber ist eben ein Nachrüstsatz für die normale Nunchuk. Es würden wohl beide gehen.

Benutzeravatar
Ciclon
Hilft fleißig mit!!!
Hilft fleißig mit!!!
Beiträge: 64
Registriert: 23. Dez 2008 14:01

Beitragvon Ciclon » 27. Dez 2008 17:28

servus,wollte mir grad bei conrad paar 33k wiederstände bestellen,aber welche belastbarkeit sollten die haben...ansich langt doch sicher auch 0.25W,oder?

gruß thorsten

Benutzeravatar
Tim Sasdrich
Enorm-Viel-Schreiber
Enorm-Viel-Schreiber
Beiträge: 797
Registriert: 14. Okt 2007 12:19
Wohnort: VS
Kontaktdaten:

Beitragvon Tim Sasdrich » 27. Dez 2008 17:54

Ja, das reicht. Am NXT-Sensorport können angeblich maximal 0.1W fließen. An diesen Leitungen werden aber nur Daten übertragen, und daher fließt dort fast kein Strom.

Benutzeravatar
LegoRentner
Schreibt super viel
Schreibt super viel
Beiträge: 322
Registriert: 17. Jan 2007 13:36
Wohnort: Velen-Ramsdorf
Kontaktdaten:

Beitragvon LegoRentner » 28. Dez 2008 17:44

muß mich berichtigen : war gestern bei Saturn und die haben da tatsächlich einen Wirless(Bluertooth) Adapter für den NUNCHUK.
Nur auch mit so einem Adapter lässt sich so ohne weiteres keine Verbindung mit einem NXT aufbauen ( Probleme des verwendeten Protokolls u.ä.).
Ich habe mir einen Classic-Controller für den Anschluß an die Wii-Remote gekauft. Da er auch am selben Stecker wie der Nunchuk angeschlossen wird, gehe ich davon aus, dass die Kommunikation ebenfalls über I2C läuft, natürlich mit anderen Pullups !
Werde das bei Gelegenheit mal teste und dann davon berichten.
Den Classic-Controller brauche ich übrigens für die Virtuelle Console auf der Wii zum Spielen des Klassikers SPACE-INVEDER(1978).

Gruß der LEGORENTNER
intx,y,i;float cr,ci,zr,zi,d;main(){for(y=0;y<64;y++){for(x=0;x<100;x++){zr=zi=i=d=0;cr=((float)x/33)-2;ci=((float)y/32)-1;while(i<50 & sqrt(d+2*(zi*zi))<2){d=(zr*zr)-(zi*zi);zi=(2*zr*zi)+ci;zr=d+cr;i++;}if(sqrt(d+2*(zi*zi))<2){nxtSetPixel(x,y);}}}}


Zurück zu „allgemeine / Nicht-Lego-Robotik und Elektronik“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss