Jump to content
elektro-skateboard.de

Wii Nunchuck mit Teensy 3.1


barney

Empfohlene Beiträge

Geschrieben

Eiszapfen im Gesicht und die Erkenntnis, dass die Programmierung "Umschaltung" zwischen Direct Drive und Integral Drive eine zeitliche Komponente bekommen muss. Habe es geschafft zwischen den Modis währen der Fahrt ausersehen umzuschalten. Es sieht nicht elegant aus, wenn man plötzlich Direct Drive an hat und man nur sachte einbeschleunigen wollte. :devil:

 

Die Umschaltung sollte in einem Zeitfenster von zwei Sekunden erfolgen. Wer dann nicht vollständig alle Umschaltbefehle gesendet hat, muss erneut innerhalb von zwei Sekunden versuchen. Alle alten Befehle werden dann verworfen.

Geschrieben

Hallo Barney und natürlich auch allen anderen,

 

Ich bin neu hier im Forum und habe mich schon in vielen Berichten eingelesen. Ganz besonders diesen hier. Ich finde es faszinierend, wie man so ein Projekt umsetzen kann und dieses dann auch noch einfach mit jeden so teilt (Wo ich sehr dankbar für bin).

Aber jetzt erstmal zu meiner Frage: Ich habe im Wiki gelesen, dass diese Steuerung über Nunchuk ca.80€ in einer Sammelbestellung kostet. Wenn man nun Interesse hätte, wie läuft sowas ab. Gibt es einen Tweak, wo auf diese Bestellung aufmerksam gemacht wird?

Gibt es alternativ ein Geschäft, was zu empfehlen ist, um die Platine herstellen zu lassen. Vor den Löt- und Programmierarbeiten würde ich mich nicht verstecken.

 

Mit freundlichen Gruß

 

St1ft

Geschrieben
Hallo Barney und natürlich auch allen anderen,

 

Ich bin neu hier im Forum und habe mich schon in vielen Berichten eingelesen. Ganz besonders diesen hier. Ich finde es faszinierend, wie man so ein Projekt umsetzen kann und dieses dann auch noch einfach mit jeden so teilt (Wo ich sehr dankbar für bin).

Aber jetzt erstmal zu meiner Frage: Ich habe im Wiki gelesen, dass diese Steuerung über Nunchuk ca.80€ in einer Sammelbestellung kostet. Wenn man nun Interesse hätte, wie läuft sowas ab. Gibt es einen Tweak, wo auf diese Bestellung aufmerksam gemacht wird?

Gibt es alternativ ein Geschäft, was zu empfehlen ist, um die Platine herstellen zu lassen. Vor den Löt- und Programmierarbeiten würde ich mich nicht verstecken.

 

Mit freundlichen Gruß

 

St1ft

 

Hallo St1ft,

 

willkommen im Forum.

Ich mache es mal stichpunktartig:

 

* Ich habe keine Leiterplatten mehr übrig.

* Die aktuelle Platine ist im Wiki zum runterladen.

* Ich habe bis jetzt im Fischer Leiterplattenservice in Anspruch genommen. Die Qualität ist super, der Preis auch. Die Bohrungen sind nicht wie bei vielen günstigen China Produzenten irgendwo.

* Die aktuelle Leiterplatte wurde mit KiCAD entworfen, da habe ich mit Fischer noch keine Erfahrung.

* Dir ist es freigestellt, die Leiterplatte fertigen zu lassen. 5 Stück sind der unterste Auftragswert.

* Die Bauteilquellen stehen im Wiki.

 

* Frag doch mal rum wer noch eine haben will.

 

VG

 

Barney

Geschrieben

* Umbenennung des Projektes nach BamBam BoardController.

* Anpassung des Bestückungsdruck an zwei Stellen

* Generieren der Gerber Fertigungsdaten.

* Überprüfen der Fertigungsdaten ob Bohrungen und Pads plausibel sind. Bohrungen werden nochmal mit den Vorversionen gegengeprüft.

 

Es scheint zu passen.

Geschrieben

Die Programmierung muss weitergehen!

 

Derzeit ist es nicht möglich von Extern (USB oder Bleutooth) die statischen Parameter unter Elektroskate_Custom-Parameters.h zu verändern. Ist ja auch Konstanten. Selbst als Variable hätte das ganze keinen Sinn, da nach jeden Restart die Angepassten Werte mit default-Werte überschrieben werden. Also bleibt nur noch das EEPROM des Teensys. Dort stehen 2kByte Flash zur Verfügung. Es gibt eine Lib

Externe Links nur für Mitglieder sichtbar
die es erlaubt die Variablen als

struct CONFIG {
   byte mode;
   int displayBright;        // -255 .. 255 (negative = inverse)
   unsigned long test;
   unsigned int displayInterval;    // How often to update display params?
   unsigned int environmentReadInterval;    // Read Temperature / Humidity
   unsigned int environmentLogInterval;    // Log / Display temperature / humidity
};

zu speichern.

Damit könnte man seine individuellen Werte (Anpassungen) dauerhaft im EEPROM speichern.

 

Wo liegt die Falle?

 

Wann erlaube ich dem Programm, die ersten default Werte in das EEPROM zu speichern? Wir haben ja den Extension Anschluss. Dort könnte ein Jumper gesetzt werden, wenn die Werte mit default überschrieben werden sollten. Hat einer einen besseren Vorschlag?

Geschrieben

Du prüfst in der Setup-Routine ob eine Variable im EEPROM einen Wert x hat um festzustellen ob im EEPROM schon individuelle oder die Standardwerte gesetzt sind.

Ist beides nicht der Fall haust du die Defaultwert rein.

Eigentlich ist es aber ja gar nicht notwendig die Default-Werte im EEPROM zu speichern wenn die eh als Konstanten angelegt sind und in der Setup-Routine Variablen zugewiesen werden mit denen das Program später arbeitet.

Es reicht zu prüfen ob es Werte im EEPROM gibt, falls ja werden diese in die Variablen übernommen, falls nicht werden die Konstanten übernommen.

Geschrieben
Du prüfst in der Setup-Routine ob eine Variable im EEPROM einen Wert x hat um festzustellen ob im EEPROM schon individuelle oder die Standardwerte gesetzt sind.

Ist beides nicht der Fall haust du die Defaultwert rein.

Vielleicht will ich nach den Kompilieren die Werte überschreiben.

 

Eigentlich ist es aber ja gar nicht notwendig die Default-Werte im EEPROM zu speichern wenn die eh als Konstanten angelegt sind und in der Setup-Routine Variablen zugewiesen werden mit denen das Program später arbeitet.

Aus den Konstanten (#define) würde ich auch dann Variablen machen. Sonst kann ich sie auch nicht überschreiben.

 

Es reicht zu prüfen ob es Werte im EEPROM gibt, falls ja werden diese in die Variablen übernommen, falls nicht werden die Konstanten übernommen.

Nein, nicht optimal, dann bekomme ich die Werte nie wieder überschrieben.

 

Ich werde mal daraus einen struct machen und prüfen ob alles noch funktioniert. Dann hoffe ich auf deinen Bannana Pro Part und dem Webinterface für die Konfiguration der Parameter. Dürfte eine 10Minuten Sache für dich sein.:D

Geschrieben

Der von mir beschrieben "Algorithmus" war die Antwort auf deine Frage bzgl. Defaultwerte im EEPROM.

Die (harten) Defaultwerte sind kompiliert, "weiche" Defaultwerte kannst du ja im EEPROM speichern. Man kann ja auch gerne und das macht sowieso Sinn, mehrere Konfigurations-Settings speichern. Eine fürs gemütliche Carven, eine für Racing .... und halt eben auch eine (weiche) Default Einstellung.

Neue und eigene Werte ins EEPROM schreiben oder auch nur flüchtig in Variablen speichern machst du in einer eigenen Funktion die über die serielle Schnittstelle gefeuert werden kann.

Geschrieben

@Kai

 

Das hört sich sehr gut an mit den verschiedenen Settings !!!

Hatte auch schon die Idee einen kleinen Arduino mini Pro mit 2x16 Zeichen LCD und Mini-Joystik mit Drucktasterfunktion als Setting-Master-Device (SMD) zu basteln. Diesen dann kurzerhand an den Teensy per COM verbinden. Man kann den SMD frei in der Hand konfigurieren und dann kurz zur Configübertragung an den Teensy koppeln. Für eine Luxusvariante (Wireless) sogar mit Bluetooth... :)

Geschrieben
@Kai

 

Das hört sich sehr gut an mit den verschiedenen Settings !!!

Hatte auch schon die Idee einen kleinen Arduino mini Pro mit 2x16 Zeichen LCD und Mini-Joystik mit Drucktasterfunktion als Setting-Master-Device (SMD) zu basteln. Diesen dann kurzerhand an den Teensy per COM verbinden. Man kann den SMD frei in der Hand konfigurieren und dann kurz zur Configübertragung an den Teensy koppeln. Für eine Luxusvariante (Wireless) sogar mit Bluetooth... :)

 

Du hast ja auch die vorhandene Bluetooth Schnittstelle. So muss kein Gehäuse geöffnet werden. Würdest du das bauen? Ansonsten geht es auch ohne Hardware mit dem Handy!

Geschrieben
* Umbenennung des Projektes nach BamBam BoardController.

* Anpassung des Bestückungsdruck an zwei Stellen

* Generieren der Gerber Fertigungsdaten.

* Überprüfen der Fertigungsdaten ob Bohrungen und Pads plausibel sind. Bohrungen werden nochmal mit den Vorversionen gegengeprüft.

 

Es scheint zu passen.

 

Heute die Bohrungen angepasst, die mir bei den Steckverbindern PC-353 und PC352 zu knapp waren. Die Doppelanschlussleiste für die ESC hat die gleiche Bohrgröße bekommen wie die Stiftleisten. Text auf BamBam angepassst und das Datum aktualisiert. DRC ohne Fehleranzeige durchgeführt. Gerber und Execllon gesichtet und zufrieden. Geht nachher in den Auftrag.

 

Edit:

Aktuelle Version in GIT hochgeladen

  • 2 weeks later...
Geschrieben

Hallo Barney,

 

Sieht ja schon mal super aus. Werde mich dann am Wochenende dran setzten, die Platine fertig zu löten.

Bericht wird folgen. Ich wollte so wieso noch mal mein Board vorstellen.

 

Vielen Dank für deine ganze Arbeit, die du in dieses Projekt steckst.

 

MfG

 

St1fT

Geschrieben
Das verstehe ich jetzt nicht ganz...

Was meinste damit ?

Hat er ein Bauteileset zusammengestellt ?

 

Ihr müsst die Bauteile ca. an vier verschiedenen Orten bestellen. z.B. die Spannungsregler. Die Portokosten sind dann bei €8,- in Höhe von €5,- schon erheblich.

 

Weiter ist die SMD/Sockel/Kleinteile-Liste für Segor nicht ohne. Da solltet ihr zusammenarbeiten!

Geschrieben
Auch vier, wenn du willst.

Stück € 15,- + €3,- Porto.

 

Du solltest St1ft kontaktieren. Er bekommt auch zwei. Dann bekommt ihr die Bauteile günstiger.

 

Dann würde ich auch 2 nehmen - ich hab die Vorgängerversion der Platine (Eagle) noch nicht bestückt und würde dann gleich auf die neueste Platine einschwenken.

 

VG Dude

Geschrieben
Dann würde ich auch 2 nehmen - ich hab die Vorgängerversion der Platine (Eagle) noch nicht bestückt und würde dann gleich auf die neueste Platine einschwenken.

 

VG Dude

 

Hi Dude,

 

kannst du eine Platine an eXo abtreten? Der möchte auch eine haben.

Geschrieben

Hi Barney.

 

Meine Leiterplatten sind heute schon angekommen. Danke dafür.

 

Ich habe da mal ne bescheidene Frage:

Für den Teensy wäre es doch bestimmt ne Leichtigkeit WS2801 LED zu schalten. Wäre diese Option nicht einfacher, als 2 Ausgänge für Blinker und einen für die Beleuchtung zu benutzen?

 

Kenne mich in der Materie aber auch nicht so gut aus. Kenne es nur von meinen Quadcopter. Bei diesen gibt es auch einen Ausgang den man Programmieren kann. So kann man 64 LED frei programmieren. Bei Bewegung des Yaw z.B. Blinken die Äusseren LEDs gelb. Beim Abbremsen Blinken die mittleren rot... u.v.m.

 

Mit freundlichen Gruß

 

St1ft

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...