Jump to content
elektro-skateboard.de

Wii Nunchuck mit Ardruino


benediktsamuel

Empfohlene Beiträge

Geschrieben (bearbeitet)

Sicherheitsfunktion:

 

Z-Knopf für 1 Sekunde nicht gedrückt -> Bremse von 0% auf 100% ansteigend in 2 Sekunden:confused5:

 

0-100% ist unsinnig, wenn das Board unbelastet ist reichen sicher auch ca. 20% auch aus. Man wird auch nicht gleich vom Board geworfen.

bearbeitet von barney
Geschrieben

Hey,

 

Das ist das Risiko. Ich fahre auch Longboard, und da hat man garkeine Bremse. :devil:

 

Solang man es nicht übertreibt und vorausschauend fährt sollte nichts passieren. Und wenn doch mal was passiert, rollt das Board ja, genau wie ein Longboard nur noch aus. Ein gewisses Risiko bleibt halt immer beim Rollsport. Wenn man das minimieren kann, ist es natürlich genial, aber das wäre für mich kein Kriterium, etwas nicht umzusetzen.

 

Liebe Grüße

 

Bene

Geschrieben

Ich werde mir mal das A-Board & Nunchuck besorgen und an meinem Streetboard einbauen. Tester spielen :cornut: ... oder Opfer :D

Die Steuerung würde ich prinzipiell so umsetzen wie sie beim Metroboard funktioniert. Der Ilan hat schon gute Arbeit geleistet mit seinen Metroboaards.

Zum losfahren den vorderen grossen Knopf drücken und mittels Joystick beschleunigen oder gas - wegnehmen. So lange der Knopf gedrückt ist, fährt man. Lässt man los, rollt das Board aus oder man fährt mit kick-push.

Bremse: NUr den Joystick nach unten ziehen. Kann man ja einbauen, momentan habe ich keine Bremse bei mir. Momentan ist hier eh alles dich verschneit und ich bräuchte Spikes.

Geschrieben

Tach,

 

Licht und Hupe funktionieren.

Die Initialisierung macht mir zu schaffen. Derzeit benutze ich einen Interrupt für die Erkennung des Pairing. Scheinbar überrenne ich den Empfänger, wenn ich versuche die Verbindung immer und immer wieder zu etablieren. GGf. muss ich die Nunchuck Lib wechseln.

Geschrieben

Die erste Version steht.

Jetzt muss sich nur noch einer bereit erklären es auszuprobieren.:skep:

 

Es hat auch eine Lebenserkennung. Fällt ein der Controller aus der Hand, wird nach ca. 1 Sekunde der Motor auf Leerlauf gestellt.

Bis auf das direkte Bremsen, sind alle Fahrfunktionen smooth ausgelegt.

 

Alle Funktionen konnten umgesetzt werden:D

 

Spezifikation:

1. Z-Taste + Hebel vorn -> beschleunigen (aufsummieren)

2. Z-Taste + Hebel hinten -> de-beschleunigen (subtrahieren)

3. Z-Taste + Hebel mitte -> Halten des letzten Geschwindigkeitsvorgabe

4. Z-Taste losgelassen -> Motor Freilauf

5. Z-Taste losgelassen + Hebel hinten -> bremsen (in der Stärke des Hebelweges)

6. C-Taste -> Hupe (getastet) / Licht (geschaltet)

7. Funkabriss -> Motor Freilauf

 

Bitte um Anregungen.

 

Barney

Geschrieben

Hey,

 

sobald ich endlich dazu komme mein Board zu bauen melde ich mich.

Welches A-Board hast du denn jetzt verwendet ? Und wie hast du es genau verkabelt ?

 

Leider komme ich im Moment nicht zum Bau meines Boards! sollte aber spätestens in den Ferien ab 21.12 weitergehen ( wenn die Welt nicht untergeht)

 

Auf jeden Fall schonmal Supergeil.:thumbsup::peace:

 

LG Bene

Geschrieben

Ich habe die SMD-Version davon, aber bei einem Defekt ist der Mikrocontroller nicht austauschbar. Die Version hier unten hat ggf. einen gesockelten Mikrocontroller:

Externe Links nur für Mitglieder sichtbar

 

Auf die Versorgungsspannung achten: Input Voltage (limits) 6-20V

Momentan versorge ich das Board über den USB Debug Anschluss.

 

Zum Testen kaufst du dir noch ein 10 € Servo und drei LEDs (und Widerstände 330 Ohm).

Nunchuck:

zwischen 9-11 €

Amazon: ASIN: B003JH84FO

 

Die Software kannst du schlicht bei:

runterladen.

 

Dazu benötigst du noch die Lib für den Nunchuck Controller:

 

Zeichnung kommt später!

Erklärung für die ersten Schritte folgen auch.

Geschrieben

Habe auch in Kürze eine Woche frei ... ich glaube da wird gebaut und die wii control getestet.

Die Bedienung ist top, im Grunde wie beim Metroboard. Mal schauen wie das Ganze sich verhält und Anspricht beim Fahren.

Geschrieben

Noch was wichtiges:

 

in der ArduinoNunchuck.h Lib muss eine Zeile geändert werden:

(Da es nicht meine Lib ist, kann ich sie hier nicht bereitstellen, sie kann legal verwendet werden (wirklich nichts böses)!)

alt:

Zeile 39: int

 

neu:

Zeile 39: uint8_t

 

Die Lib in das Verzeichnis:

arduino-1.0.2\libraries\Wii

kopieren. Der Pfad "Wii" existiert nicht und muss erst angelegt werden!

 

und dann erst arduino.exe startet, dann wird die Lib automatisch mit aufgenommen!

Geschrieben

Schöne Sache, Barney. :thumbsup:

 

Ich wollte mich schon länger mit AtMegas beschäftigen, habe auch zig herumfliegen (selber aufgebaut/gelötet), kam aber bislang nicht zum programmieren und experimentieren.

 

Unter anderem auch deshalb, weil das Projekt, wofür ich den Großteil gebraucht hätte, dank unzuverlässigem Auftragsfertiger eher vor Gericht als in meiner Werkstatt endet. :(

 

Naja, kommt Zeit, kommt µC-Programming. :D Bislang hat es nur für Informatik-Programmierung an Rechnern gereicht, C, C++ usw. - ist aber auch schon Jahre her.

 

Viele Grüße,

 

Wolf

Geschrieben

Danke Wolf,

 

ich habe nie C gelernt oder gehabt. Eher Basic, Pascal, Assembler, Ada und was weis ich noch. Diese o.g. Sprachen kannst du im Programm als Stil erkennen. Hat aber auch einen Vorteil. Da ich kein C Spezialist bin, habe ich ein einfaches zu lesendes und simpel strukturiertes Programm geschrieben. Ich hoffe, dass sich C-Spezialisten nicht lachend zu Boden werfen. Wer sich besser damit auskennt, möge das ganze so anpassen, dass man es auch danach verstehen kann und nicht ein Studium der Informatik benötigt.

 

Ggf. schaffe ich es heute noch die Doku für einen Nachbau zu liefern.

 

Grüße

 

Barney

Geschrieben

Hallo Barney,

 

mit Basic habe ich mich vor vielen Jahren in meiner Kindheit mal befasst, war aber nicht so angetan davon. Assembler rockt, ist jedoch (je nach Programmanforderungen) recht kompliziert oder umständlich.

 

Ansonsten ist es, gerade durch seine "systemnahe" Form, sehr effizient, aber man braucht wohl länger, um es zu beherrschen.

 

Mit C/C++ habe ich vor 7-9 Jahren sowas herum mal gearbeitet, jedoch nicht dauerhaft. Waren mehrere Firmenprojekte und nach deren Abschluss wars das. Deshalb bin ich da auch kein Profi - um dort wieder reinzukommen, müsste ich mich einige Monate damit befassen, intensiv.

 

Und dazu fehlt mir momentan der Kopf, die Zeit und freie Projekteslots. :D

 

Aber lachen wird bestimmt kein C-Erfahrener Programmierer über irgendeinen Code - Strukturierung und Übersicht sind etwas feines, aber weder notwendig (der Autor sollte es natürlich überblicken) noch unbedingt der Funktion zuträglich (ich habe schon fehlerfrei funktionierende Programmquellcodes gesehen, welche jedoch aussahen, wie eine Nuklearexplosion in einer Großstadt :devil: ).

 

Es gibt heutzutage ja glücklicherweise eine Vielzahl an unterschiedlich ausgelegten und auf unterschiedlichen Basistechniken basierenden Programmiersprachen.

 

Es ist auch keine zwangsläufig "schlechter/besser" als eine andere, da es immer auf den Einsatzzweck und die Verwendung ankommt - selbst mit Scriptsprachen kann man 1A funktionierende ausführliche Programme erstellen.

 

Ich finde es gut, dass Du Dich mit dem µC-Programmieren befasst, das Progrämmchen für die Nunchuck-Remote kann vielen nicht-programmiertechnisch begabten Usern/Boardern eine Basis bieten. Eine tolle Sache, auch die Anpassbarkeit an spezielle Anforderungen oder Wünsche.

 

Ich bin gespannt, wie sich das weiterentwickelt. :thumbsup:

 

Viele Grüße,

 

Wolf

Geschrieben

Zusammenfassung meiner Beiträge:

 

Die hier beschriebene Steuerung ist für Boards ausgelegt, die auf glatten Beton energiesparend betrieben werden sollen. D.h. Beschleunigungswünsche werden durch Addition oder Subtraktion recht smooth angenommen. Für diejenigen, die durch das Gelände Powern wollen, ist diese Steuerung aus meiner Sicht so nicht zu gebrauchen. Die Änderung ist sehr Leicht. Einfach die if-Abfragen für die Addition / Subtraktion löschen und die Bremsabfrage leicht abändern. Dann wird der Hebelweg des Controllers direkt an die Motorsteuerung weitergeleitet. Stelle ich mir aber bei einem über 2000W Board mit diesem Nunchuck Hebelweg echt kriminell vor.

 

Licht oder Hupe:

Spezieller Wunsch von Bene:

Es gibt zwei Ausgangspins am Arduino Board, die den entsprechenden Tast- oder Schaltausgang bereitstellen.

 

 

---------------------------------------------------------------

Spezifikation:

1. Z-Taste + Hebel vorn -> beschleunigen (aufsummieren)

2. Z-Taste + Hebel hinten -> de-beschleunigen (subtrahieren)

3. Z-Taste + Hebel mitte -> Halten des letzten Geschwindigkeitsvorgabe

4. Z-Taste losgelassen -> Motor Freilauf

5. Z-Taste losgelassen + Hebel hinten -> bremsen (in der Stärke des Hebelweges)

6. C-Taste -> Hupe (getastet) / Licht (geschaltet)

7. Funkabriss -> Motor Freilauf

8. Controller wird nicht bewegt -> Motor Freilauf

 

Alle Parameter sind als Variablen ausgelegt und können leicht angepasst werden.

Es hat auch eine Lebend Erkennung. Fällt ein der Controller aus der Hand, wird nach ca. 1 Sekunde der Motor auf Leerlauf gestellt.

Die Funk-Reichweite ist bei mir bei über 5m mit den u.g. Nunchuck Controller

Bis auf das direkte Bremsen, sind alle Fahrfunktionen smooth ausgelegt.

 

Lebend Erkennung (Spezifikation Punkt 8):

Klingt blöd, ist es auch: Ich habe kein vernünftiges Kriterium gefunden, um einen Funkabriss, oder leere Batterie erkennen zu können. (Der Kabellose Controller war von Nintendo nicht geplant, also existieren auch keine entsprechende Register, die man auslesen könnte.) Der Trick ist die Erkennung eines statischen Beschleunigungswertes der X-Achse. Eine Routine zählt gleiche X-Achsen Werte auf. Wird ein Schwellwert (Trigger) überschritten, gehe ich davon aus, dass die Verbindung zwischen Nunchuck und Hand-Controller abgerissen ist. Das gleich gilt auch für die Verbindung zwischen dem Arduino-Board und dem Nunchuck Emfänger. Es ist mir bei Tests nicht gelungen, den Controller in der Hand (frei) so ruhig zu halten, dass der Trigger versehentlich ausgelöst wird.

Wer meint, dass reicht nicht, kann weitere Achsen für die Detektion hinzufügen.

 

 

---------------------------------------------------------------

Hardware kaufen:

 

Ich habe die SMD-Version davon, aber bei einem Defekt ist der Mikrocontroller nicht austauschbar. Die Version hier unten hat ggf. einen gesockelten Mikrocontroller (ca. 22€):

Externe Links nur für Mitglieder sichtbar

 

Auf die Versorgungsspannung achten: Input Voltage (limits) 6-20V

Momentan versorge ich das Board über den USB Debug Anschluss.

 

Achtung mit den Pins für die Hupe oder Licht. Die vertragen höchstens 50mA, also hier muss noch ein Mosfet oder Transistor nachgeschaltet werden, um den benötigten Strom zu treiben.

 

Zum Testen kaufst du dir noch ein 10€ Servo und drei LEDs (und Widerstände 330Ohm).

Nunchuck:

zwischen 9-11€

Amazon: ASIN: B003JH84FO

 

Die Software kannst du schlicht bei:

runter laden.

 

Diverse Kleinteile:

Schrumpfschlauch, Drähte, Pfostenstecker lang, Spannungsregler 5V ...

 

---------------------------------------------------------------

Anpassen der ArduinoNunchuk Lib:

 

Dazu benötigst du noch die Lib für den Nunchuck Controller:

 

 

in der ArduinoNunchuck.h Lib muss eine Zeile geändert werden:

alt:

Zeile 39: int

 

neu:

Zeile 39: uint8_t

 

Diese Änderung ist nötig, um erkennen zu können, dass die Funkverbindung abgerissen ist!

 

Die Lib in das Verzeichnis:

arduino-1.0.2\libraries\Wii

kopieren. Der Pfad "Wii" existiert nicht und muss erst angelegt werden!

 

und dann erst arduino.exe startet, dann wird die Lib automatisch mit aufgenommen!

 

 

---------------------------------------------------------------

Hardware basteln:

 

Pinbelegung:

Steht im Souce Code!

 

Empfänger:

Wenn ihr den o.g. Nunchuck kauft, dann das Gehäuse an den beiden vorderen Schlitzen vorsichtig aufbrechen. Die beiden Bilder "Empfänger Nunchuck oben/unten" zeigen den nackten Empfänger. Die vorhanden Drähte ggf. ablöten oder mit Pfostenstecker und Schrumpfschlauch versehen.

 

Achtung Falle I: Die Pfuscher haben an "+" den schwarzen und an "-" den roten Draht angelötet!

Achtung Falle II: Der Empfänger verträgt nur 3.3V. Also darauf achten, dass ihr den Empfänger am 3.3V Versorgungsausgang vom Arduino Board anschließt!

 

Es werden nur vier Drähte benötigt:

"+" -> VCC (3.3V!)

"-" -> GND

"Data" -> SDA

"Clock" -> SCL

 

Diesen Aufbau könnt ihr erst mal mit der ersten Demo von mir testen. Es sollten verschiedene Werte am PC angezeigt werden.

 

Licht / Hupe:

Alle LEDs haben eine gemeinsame Masse (GND). Die 330Ohm Widerstände an die LEDs ggf. anlöten und an die entsprechenden Ausgangspins des Boards stecken.

rote LED -> Hupe

gelbe LED -> Licht

grüne LED -> Pairing steht

 

Servo:

Repräsentiert den Motorcontroller für einen schnellen Testaufbau. Anschluss ist ganz einfach:

"+" -> Ardurino GND Anschluss

"-" -> Ardurino +5V Anschluss

"Impuls" -> Pin 9 Ardurino

 

 

Den fünften Draht am Empfänger (gelb), den ihr seht, war ein Test und wird nicht mehr benötigt.

1014876127_EmpfngerNunchuckoben.thumb.jpg.deffd60a6cff7e05b8931681e1e9edd5.jpg

922731673_EmpfngerNunchuckunten.thumb.jpg.dbf6166e3daa6a0b85efb7236b7b8aa0.jpg

2027366684_bersichtAufbauNunchuck.thumb.jpg.0ea513c62076891ca28db44861594522.jpg

Geschrieben

Servo:

Repräsentiert den Motorcontroller für einen schnellen Testaufbau. Anschluss ist ganz einfach:

"-" -> Ardurino GND Anschluss

"+" -> Ardurino +5V Anschluss

"Impuls" -> Pin 9 Ardurino

 

Und keiner hat es gemerkt :P

 

+ an - und rot an schwarz:D

  • 1 month later...
Geschrieben (bearbeitet)

Respekt für die viele Mühe und endlich einen alternativen Controller, neben der doch recht klobigen RC Fernsteuerung!

Die Anleitung werde ich wohl auch einmal ausprobieren, mein Versuch einen standard Eboardcontroller mit rc Empfängern zu verbinden scheint aussichtslos :D

 

 

Wie siehts mit den Sachen hier aus ? da kommt man ja sogar unter 20 Euro weg...

 

 

Sainsmart UNO R3-ATmega328 Microcontroller Entwicklungsboard+USB Cable 4 Arduino 12 euro

 

Logic3 Wii Wireless Nunchuk Thumbstick Controller Motion Plus 6 euro

 

 

 

Gruß Sonni

bearbeitet von sonni
Geschrieben

Hi Sonni,

 

Sainsmart UNO R3-ATmega328 Microcontroller Entwicklungsboard+USB Cable 4 Arduino 12 euro

Bei diesem Board handelt es sich um ein China Clone. Leider werden sehr häufig die original Arduino Fotos verwendet. Daher kann ich dir nicht sagen, ob das Layout 100% kompatibel ist. Ich verwende sehr oft die Erweiterungs-Shields für Arduino und benötige damit die 100% Kompatibilität.

 

Logic3 Wii Wireless Nunchuk Thumbstick Controller Motion Plus 6 euro

Sieht so aus wie meiner, bloß in weiß. Die (Tages-)Preise schwanken zum Teil von 8 bis 12 € für das gleiche Produkt. Kann daher gut möglich sein, das du derzeit den Tiefstpreis gefunden hast. Ob der 100% kompatibel ist, kann ich durch Hand auflegen nicht sagen :D

Da ich aber keine Besonderheiten abfrage, sondern den Wii-Standard verwende, wüsste ich nichts, was dagegen sprechen würde. :thumbsup:

 

Probiere es aus, verarmen wirst du nicht dabei. :P

Geschrieben

Interessant wäre auch der arduino nano,hast Du das schon versucht ? Der ist wirklich klein und darauf kommt es im kleine Board an:) .

 

Hallo Sonni,

nein probiert habe ich den nicht. Ich brauche den Platz für den Bluetooth- und Nunchuk Empfänger.

Ja, er hat alle Anschlüsse, die benötigt werden und den richtigen Mikrocontroller. (Arduino Nano v3.0-Version!)

Mir war er auch einfach zu teuer.

 

Viele Grüße

 

Barney

Geschrieben

Hi Barney, was sagst du zu dem Move Controller, der hat ein zwei weitere Funktionen als der Nunchuck, ist scheinbar aber auch etwas größer.

 

Externe Links nur für Mitglieder sichtbar

 

Gruß Sonni

Geschrieben
Hi Barney, was sagst du zu dem Move Controller, der hat ein zwei weitere Funktionen als der Nunchuck, ist scheinbar aber auch etwas größer.

 

Externe Links nur für Mitglieder sichtbar

 

Gruß Sonni

 

Hi Sonni,

 

gesehen, ist ein anderer Preisbereich und wesentlich aufwändiger als mit den Nunchuck. Es gibt auch schon eine Lib für Arduino. Aber die Bluetooth-Kommunikation ist deutlich aufwändiger.

 

Aber noch mehr Tasten? Mir reichen diese wenigen schon.

Und der Nunchuk verschwindet besser in der Hand, ist also diskreter. So mit erwischt werden und so....

 

Grüße

 

Barney

Geschrieben

Moin zusammen,

 

hehe - ich könnte mehr Tasten gebrauchen, aber Bluetooth ist auch nicht wirklich ein Reichweitenpremiumsektor.. wenn man denn mehr als die ca. 10 Meter stabile Reichweite wünscht, welche Klasse 3 Geräte erfüllen. Klasse 2 "kann" bis zu 50, Klasse 1 bis zu 100m im freiem Feld ohne Hindernisse erreichen, realistisch ist bei Klasse 1 ca. 25-40 Meter ohne ABbrüche bei besseren Stummelantennen.

 

Ansonsten ist der Wii Nunchuck wirklich handlicher, das stimmt.

 

Viele Grüße,

 

Wolf

Geschrieben
Moin zusammen,

hehe - ich könnte mehr Tasten gebrauchen...

Mensch Wulf / Sonni, wie konnte ich das offensichtliche nur übersehen...

 

Taste:

1. Infrarot Zielsuchsystem

2. Boden-Luft-Boden Raketen

3. Tarnvorrichtung

4. Nachbrenner

6. Lautlosantrieb

7. Porschemotor Geräuschsimulator.

8. Fusionsreaktor Neustart

9. Tieferlegung / Jump

 

Und ich bin sicher, ich habe immer noch was übersehen. :D

 

 

aber Bluetooth ist auch nicht wirklich ein Reichweitenpremiumsektor.. wenn man denn mehr als die ca. 10 Meter stabile Reichweite wünscht, welche Klasse 3 Geräte erfüllen. Klasse 2 "kann" bis zu 50, Klasse 1 bis zu 100m im freiem Feld ohne Hindernisse erreichen, realistisch ist bei Klasse 1 ca. 25-40 Meter ohne ABbrüche bei besseren Stummelantennen.

 

Ansonsten ist der Wii Nunchuck wirklich handlicher, das stimmt.

 

Viele Grüße,

 

Wolf

 

Ich habe im Wohnumfeld in der Wohnung mit Wänden über 5m erreicht (Nunchuk). Das sind mindestens 4.5m mehr als mit meiner jetzigen Fernsteuerung, die nicht für Personen über 1.85m konstruiert wurde. Und ich bin schon mal sehr knapp an der Polizei vorbeigekommen. Der Nunchuk ist von der Baugröße fast nicht zu toppen. Sozusagen diskret wie eine Beate-Uhse Lieferung.

 

Grüße

 

Barney

Geschrieben

Moin Barney,

 

das sind alles Sonderfunktionen.. die sind bei den 10 Standardkanälen nicht einbezogen. :D Btw, Geräuschsimulatoren sind Käse. Den Rest könnte man durchaus benötigen.

 

Ich habe Brushlessboardfunken bereits auf 35 Meter stabil modifiziert und getestet.. ist mir dennoch zu wenig. Den Grund siehst Du schon noch. :D

 

0,5 Meter wäre wirklich viel zu wenig. Das sorgt nur für ungewollte Boardausbrüche bei Funkproblemen..

 

Viele Grüße,

 

Wolf

Geschrieben

Ich habe Brushlessboardfunken bereits auf 35 Meter stabil modifiziert und getestet.. ist mir dennoch zu wenig.

Wolf

 

Warum habe ich spontan einen alten Fantomas Film vor meinen Augen. Dort wurde über großer Distanz ein fernsteuerbarer Sprengsatz auf Rädern unter ein Auto, während der Fahr gelenkt und gezündet.:devil:

Tritt dem Gespräch bei

Du kannst jetzt posten und dich später registrieren. Wenn du bereits einen Account hast kannst du dich hier anmelden.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...