Hi, ich bin nun schon eine Weile auf der Suche nach einer Lib für den Wii Controler aber der OHNE Delay funktioniert. Der Delay wird verwendet um den Datenaustausch zu regeln (meist 10; 100ms ,empfangen, senden).
Leider kann ich noch nicht die Lib selber ändern, dazu fehlt mir noch viel Wissen.
Ich brauche einen loop durchlauf ohne Pause!!!!
Vielleich kennt jemand eine Lib oder hat selber eine geschrieben und würde sie teilen
Ich sehe keinen Link zur verwendeten Lib. Nach 201 Posts sollte man aber eigentlich in der Lage sein, delayWithoutMillis nicht nur verstanden, sondern auch anwenden zu können.
, es geht um delay(10) in der letzten Zeile. Ich habe noch nie eine eigene Lib geschrieben oder geändert! Ich habe da noch sehr viele Fragen
Mein Projekt: eine Steuerung für meine Kameraschiene. Das ganze ist ein Nano, ein LCD(i2c), Encoder, 2 Pololu A4988 und Wii Nunchuk. Die Hardware funktioniert ohne Probleme.
Leider ist mein Problem, wenn ich den Stick nach links bewege, soll auch der Stepper sich nach links drehen. Das funktioniert! Leider wartet der Nunchuk 10ms und der Stepper auch, bevor er den Nächsten Schritt macht. ( verwende die AccelStepper Lib)
Ich glaub ja fast nicht das dich die 10ms so ausbremsen.
Du hast außerdem Nunchuk auch das LCD über I²C am laufen. wie verhält sich dein Code wenn du dieses mal weglässt? Zumal wenn im Nunchuk ein Delay verbaut ist, ist es im LCD Code bestimmt auch.
Ich habe jetzt mal alle deaktiviert und einzeln wieder aktiviert. Die LCD lib hat keinen Einfluß oder nur einen sehr kleinen. Wenn Serial aktiviert wird läuft der Stepper langsam ( das wusste ich schon und hatte es schon deaktiviert) Wenn den Wii aktiviert wird, dann läuft er langsamer und ich kann die Geschwindigkeit nicht ändern. In der Lib habe ich den Wert mal auf 1 gändert und es ist besser geworden.
Er läuft aber nicht mit voller Geschwindigkeit. Den code habe ich mal angehängt.
Hallo Marco,
WiiNunchuk habe ich von Dir das erste Mal gelesen, sind das die Teile, mit denen man vor einem Fernseher wild herumfuchtelt und beispielsweise Tennis usw. spielen kann?
Ich habe mir ArduinoNunchuk.cpp angesehen und das sieht für mich aus wie I2C mit etwas Bitgeschiebe. Ich habe einen Mega als I2C-Slave eingerichtet, der entspricht dem Nunchuk. Und ein UNO beherbergt Dein Programm. Derzeit liest der UNO vom Mega Daten und zeigt sie im seriellen Monitor an.
Wenn Dich das Thema noch interessiert, könnte ich den Test ausbauen. Einen Schrittmotor habe ich auch.
Danke @agmue für deine Hilfe. Ich werde jetzt erst mal mit der geringen Geschwindigkeit leben und für move stop move sollte es reichen. Leider sieht es bei mir mit der Zeit echt eng aus, saniere gerade mein Haus und gehe auch noch voll Zeit arbeiten( wie bei anderen auch )
Ich habe mir nun auch die anderen Lib angesehen ( i2c, LCD, ...) und mir ist aufgefallen, das es nur so von delays wimmelt. Ist Delay nicht eine Erfindung vom "Teufel" :o ???
Wenn man es doch so einfach ersetzen kann, warum wird es nicht gleich in der Lib verwendet?? Das verstehe ich nicht.
Meine Idee ist, das delay() aus der Bibliothek ArduinoNunchuk.h zu verbannen, dafür aber nunchuk.update(); nicht bei jedem loop aufzurufen, wenn der Wii Controler ein Päuschen braucht.