Liste der Anhänge anzeigen (Anzahl: 1)
Sodele.
Inzwischen habe ich noch ein bisschen mit dem Display gespielt- und es gibt einige Erkenntnisse:
1.: wenn mans _richtig_ anschliesst, funktioniert die Sache mit dem Kontrast per PWM _besser_.
Ich hatte doch tatsächlich den 5V der LED-Beleuchtung an den Kontrastpin angeschlossen-daher das Geflackere.
2.: der Plan geht auf: ich kann im Bedarfsfall die AltSoftSerial-Bibliothek benutzen (die normale SoftSerial ist recht...unzuverlässig), da es kein Problem ist, die Pins 8 und 9 dafür freizuhalten.
3. man _könnte_ den CS-Pin auch noch frei bekommen, indem man den entsprechenden Pin vom Display einfach auf 5V legt- funktioniert!
Ob es ne gute Idee ist, weiss ich nicht....
Das hätte z.B. die Einschränkung, dass man dann den SPI-Bus nicht noch für andere SPI-Geräte benutzen kann. Da es ausreichend freie Pins geben wird, lass ich den CS auf Pin 10, und gut.
Das Display braucht trotzdem insgesamt nur vier Pins: Kontrast (12), CLk(13), MOSI(11) und CS(10).
Ist doch ganz erträglich.
Ich häng mal das Anschlusschema an. Der Übersicht wegen hab ich mal die ganzen Leitungen für die Eingabegeräte und das BT-Modul rausgenommen.
Anhang 34901
Liste der Anhänge anzeigen (Anzahl: 1)
Hm- hab das heute morgen mit nem Kumpel mal diskutiert, und es scheint sich ne noch cleverere Lösung aufzutun, zum abschalten:
Das Modul kommt an Rx1/Tx1, aber die Stromversorgung des HC 05 läuft über nen Transistor.
Der wiederum liegt an einem freien Pin- ich muss noch mal genauer in den Schaltplan gucken, aber da dürften noch einige frei sein.
Das wäre-wenns funktioniert-die eleganteste Lösung: man kann dann einfach per Software (z.B. beim Einschalten) zwischen USB-und BT-Betrieb wählen.
Ich werd aufm Steckbrett mal testen, was das HC 05 macht, wenn es "abgeschalten" ist aber auf den Logik-Leitungen Signale anliegen....mit etwas Glück funktioniert das.
Ein Transistor sollte reichen, so hoch ist ja die Stromaufnahme der BT-Module nicht..mit nem ESP würd ich das so nicht versuchen..
Aktueller Stand: das Display ist in die Fernsteuerung eingebaut und an den Nano angeschlossen, läuft.
Grad drucke ich mir ne kleine Halterung, mit der ich nen USB-Stecker (mit nem bisschen Kabel dran) in die Fernsteuerung schweissen kann, damit ich das Ding schonmal per Powerbank versorgen kann.
Nachtrag: Die Powerbank ist angeschlossen.
Den USB-Stecker zu verkleben, war gar nicht nötig, wenn man genau genug misst und druckt, passt der Stecker fest genug in den Halter.
Das Ding läuft nun auch standalone.
Ein-und ausgeschalten wird einfach, indem man die Powerbank rauszieht-oder reinschiebt.
Inzwischen gibt es auch ein Boot-Logo auf dem Display...frisst abartig Speicher, aber notfalls kann ich es noch ein paar Byte eindampfen. Wenn es ganz schlimm komt, kann ich _das_ auch noch aus Linien zusammencoden, das dürfte den Verbrauch auch senken, aber evtl ist das auch gar nicht nötig, mal sehn.
Etwas Ärger hat mir noch der Kontrast gemacht: erst klappte es gar nicht, den zu verstellen, bis ich drauf kam, dass Pin 12 bei den Nanos gar keine PWM kann.
Umgebaut auf Pin10 (12 ist nun CS, dem isses Wurst)...und ein schönes Flimmern *grummel
Hab dann Timer1 auf irgendwas mit 30KHz eingestellt, nun gehts- flimmern sieht man nur noch bei recht niedrigen Kontrasteinstellungen, aber da ist die Anzeige schon braun, statt weiss...
Die Betriebsdauer mit der kleinen Powerbank beträgt locker 1-2 Stunden (so lange lief die schon mit der einen, die hat inzwischen abgeschalten, aber ich weiss nicht, wie voll die vorher war) , und da ich von den Dingern zwei hab, halte ich das allemal für ausreichend.
Anhang 34911
Liste der Anhänge anzeigen (Anzahl: 5)
Sodele.
Ich bin etwas weiter- und es gibt bisschenwas zu begucken.
Im Wesentlichen (*) steht die Hardware- und das Gehäuse nun seit vorhin auch zum grössten Teil.
Angeschlossen (und auch in die Software eingepflegt) sind die beiden Joysticks (X, Y und "Klick", so wie der Drehencoder (der noch nen schöneren Button kriegen wird), der kann bis 255 zählen vorwärts (im Uhrzeigersinn) oder von 255 bis 0 rückwärts- das funktioniert beliebig in beide Richtungen.
Da der auch ne Klick-Funktion hat, benutze ich die im Moment, um den Dreh-Zähler sofort wieder auf 0 setzen zu können...
Das Bluetooth-Modul hängt an Serial0, kann aber, wie weiter oben geschrieben, beim Start wahlweise aktiviert werden oder nicht (ich hoffe, man erkennts auf dem entsprechenden Foto)- momentan wird das einfach mit nem Klick auf den linken oder rechten Joystick entschieden.
So behält man die volle USB-Funktionalität, und kann die Ausgaben, anstatt sie zu funken, auch einfach auf den Monitor schicken.
Gesteuert wird das tatsächlich einfach über nen Transistor an einem freien Pin, der halt die Stromversorgung des BT-Moduls kappt oder zuschaltet.
Die Joysticks werden beim Einschalten automatisch kalibriert- es erscheint der Hinweis "Pfoten weg" auf dem Display, und ne halbe Sekunde später werden die Sticks ausgelesen, und der gelesene Wert als "Mitte" interpretiert.
Daraus wird ein Offset berechnet....das musste ich so machen, weil sich zeigte, dass die beiden keineswegs exakt die selben Werte liefern, in Mittelstellung..
Das silberne Ding, was auf dem ersten Foto daneben liegt, ist eine der beiden kleinen Powerbänke, die ich als Akku benutze-die wird einfach unten rein geschoben und muss dann nur so lange gedreht werden, bis sie in den eingebauten USB-Stecker rutscht.
Zum Ausschalten zieht man sie einfach ein Stückchen raus- die hält trotzdem im Gehäuse noch.
An der Rückseite gibt es noch ne Aussparung in dem blauen Teil-dort ist der USB-Anschluss des Nano dahinter, man kann den also auch umprogrammieren, ohne das Gehäuse öffnen zu müssen.
Vielleicht druck ich da noch nen Deckel aus TPU- mal gucken.
Zusammengehalten wird alles mit sechs M3-Imbusschrauben, in der Bodenplatte sind dazu sechs selbstsichernde M3-Muttis eingelassen.
Das letzte Bild zeigt den eigentlichen Steuer-Bildschirm- dort sollen dann noch weitere Infos rauf (Telemetrie, je nachdem, was der entsprechende Rbooter halt zurückschickt), und auch die Stellungen der Sticks und des Encoders werden grafisch angezeigt: mit den beiden Kreuzchen in der Mitte der Felder (die zu nem grösseren Punkt werden, wenn man klickt) kann man jetzt schon Pong spielen, hehe- im Kreis rechts oben wird der aktuelle Wert des Drehencoders angezeigt- auch der wird gefüllt dargestellt, wenn man den Encoder drückt.
Links kommt noch was ähnliches hin für den Button...
*) Kleinteile fehlen noch: natürlich kommen um die Joysticks noch ordentliche Abdeck-Blenden. Das grosse viereckige Loch vorne links-dort kommt auch eine rein, in die dann noch der grosse, beleuchtete Taster eingebaut wird.
Auch kriegt das Display noch nen anständigen Rahmen..
Für Moppi: Gesamthöhe der Fernsteuerung ist 45mm. Das ist aber vom Tisch bis zu den Joy-Sticks gemessen, also das höchste, was sie hat.
Das Gehäuse selber ist nur 37mm.