Go Down

Topic: Brauche dringend hilfe (Read 5203 times) previous topic - next topic

Joghurt

Kannst Du mal Deinen Beispielcode vom Display hier reinschreiben?

(Benutze dazu den "#"-Knopf ("Insert Code") auf der "Post Reply"-Seite!)

Joghurt

Kontrollier Dein Display-Board, dass es die Pins, die Dein Nunchuck benutzt, nicht nutzt!!

Sonst kann es sein dass Du nen Kurzschluss erzeugst, das wäre nicht so gut...

sth77

Du brauchst nur die Neigung (links/rechts) des Motorrads? Welcher Wert verändert sich denn, wenn du den Controller kippst? Ich denke, es ist der Wert "accx", oder? In dem Fall reduzieren wir den Nunchuk-Code erst mal auf das Wesentliche:

Code: [Select]

#include <Wire.h>
#include "nunchuck_funcs.h"

int loop_cnt=0;

byte accx;

void setup()
{
   Serial.begin(19200);
   nunchuck_setpowerpins();
   nunchuck_init(); // send the initilization handshake
}

void loop()
{
   if( loop_cnt > 100 ) { // every 100 msecs get new data
       loop_cnt = 0;
       nunchuck_get_data();
       accx  = nunchuck_accelx(); // ranges from approx 70 - 182
       Serial.print((byte)accx,DEC);
   }
   loop_cnt++;
   delay(1);
}


Nun finde heraus, wo die Nullstellung liegt, also Controller gerade halten, dann wie weit sich die Werte in beide Richtungen ändern, wenn du ihn kippst.

[edit] Das ist hier echt High-Speed-Projektentwicklung! Ich habe Spaß daran! :D
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Joghurt

Würde zuerst mal gucken ob ich beides zusammen sauber zum Laufen bekomme, etwa so:
Code: [Select]

#include <Wire.h>
#include "nunchuck_funcs.h"
#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,10,7,6,5,4);

void setup()
{
 nunchuck_setpowerpins();
 nunchuck_init();
 lcd.begin(16,2);
}

void loop()
{
 nunchuck_get_data();
 int accx  = nunchuck_accelx(); // ranges from approx 70 - 182
 int accy  = nunchuck_accely(); // ranges from approx 65 - 173
 int zbut = nunchuck_zbutton();
 int cbut = nunchuck_cbutton();
           
 lcd.setCursor(0,0);
 lcd.print(accx);
 lcd.setCursor(8,0);
 lcd.print(accy);
 lcd.setCursor(0,1);
 lcd.print(zbut);
 lcd.setCursor(8,1);
 lcd.print(cbut);
}


Damit sollte sich zumindest was auf dem Display tun wenn Du das Nunchuck bewegst...


Ist nicht getestet daher ohne Gewähr!

[edit] Geht mir auch so. XD

Joghurt

Rauchen ist ungesund! ;)

Du kannst sie mit der Maus markieren, mit STRG-C (oder CTRL-C oder übers Menü) kopieren und dann ins Fenster der Entwicklungsumgebung einfügen (CTRL-V, STRG-V oder übers Menü), zum Beispiel...

Joghurt

Kannst ja beide probieren. :D

Mit dem einen kannst Du die Grenzwerte des Nunchuck ausloten und mit dem anderen gucken ob das alles sauber zusammen funktioniert.

Marcus W

Ich klink mich mal kurz ein. Kannst du das Display umkonfigurieren? weil Pin 4 und 5 ja vom nunchuck benutzt werden...

Joghurt

Soweit ich das verstanden hab hängt das Display an den digitalen Pins, während das Nunchuck auf der anderen Seite an den analogen Ports hängt. Also kein Problem... :)

@konni87: Bitte zur Sicherheit nochmal bestätigen!

Zickendoktor

Warum macht ihr euch das so kompliziert? Ich schlage eine Teamviewer Sitzung vor. Dann kannst du seinen PC bedienen und coden und er muss nur den Arduino anschließen und den nunchuck bewegen und aufs Display gucken.

Joghurt

Wenn der Nunchuck und das Display zusammen funktionieren brauchen wir nur noch nen Algorithmus, der die Balken darstellt und sind dann eh schon fertig. Jetzt noch Teamviewer fänd ich etwas Overkill... XD

sth77

Dann eben anders gefragt: Welcher Wert ändert sich denn am stärksten, wenn du den Controller kippst? Und dann bitte das Minimum, das Maximum und die Ruhelage (hoffentlich das arithmetische Mittel).
Wenn du Code zeigst, dann bitte entsprechend markieren, macht die ganze Sache übersichtlicher: [ code ] ... [ /code ]

Und das einzige was rauchen soll, sind die Köpfe... ;)
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Joghurt


sth77

Kurze überlegung zur Balkendarstellung: Wollen wir benutzerdefinierte Zeichen generieren, um feine Abstufungen zu bekommen?
Und wo ist eigentlich konni87? :D
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Joghurt

Schätze mal der ist fleißig am Tippen... XD

Ich denke mal, wenn er überhaupt mal nen Balken hat ist er glücklich, feine Abstufungen können wir immer noch einbauen wenn Zeit übrig ist...

Joghurt

Vor dem ersten Mal wo "accx" im Code auftaucht steht "int "?

Code: [Select]
 int accx  = nunchuck_accelx();
 int accy  = nunchuck_accely();
 int zbut = nunchuck_zbutton();
 int cbut = nunchuck_cbutton();


Hatte das erst nachträglich eingebaut, vergessen... :smiley-red:

Go Up