Liste der Anhänge anzeigen (Anzahl: 2)
Universelle Fernsteuerung mit Bluetooth
Hallöle.
Da ja doch ein bisschen Interesse da war, hier mal ein eigener Faden dazu.
Für die, die nicht im XPlorer-Faden mitlesen:
Ich will eine eigene Fernsteuerung haben. Für den XPlorer, aber auch für alle möglichen, anderen Projekte später.
Sowas kann man doch immer mal brauchen, und ein Bluetooth-Modul ist schnell irgendwo angestöpselt (und kann nachher genauso einfach wieder entfernt werden), von daher lohnt es, ein bisschen mehr Aufwand zu treiben, als aufm Steckbrettl mal nen Joystick an einen Minirechner zu stöpseln.
Damit keiner den Schaltplan erst irgendwo suchen muss (im XPlorer-Faden ist da was zu), werd ich den, später, hier noch mal aktuell einstellen (es wird noch kleinere Änderungen geben, hauptsächlich wegen dem, etwas speziellen Button).
Erstmal zwei Bilders vom JETZT-Zustand der Sache:
Anhang 34895
Anhang 34896
Alles wichtige ist schonmal drauf: zwei Joysticks (analog X und Y, plus jeweils ein Button), ein Drehencoder (auch mit zusätzlichem Button), ein grosses Display, grafikfähig mit 128x64 Pixeln, links der Taster muss später in den Deckel eingebaut werden, in der unteren Ecke liegt- noch lose- das HC 5-Modul, und die Streifenraster-Platine trägt schonmal den Arduino Nano.
Der Taster, der da links steht, hat noch nen beleuteten, roten Ring drin...den kann man also ervorragend als Notaus-Scharfschalt-oder wasauchimmer-Taster benutzen. Auch ist es denkbar, die LED-Beleuchtung separat zu steuern (funktioniert, die hat nen eigenen Anschluss).
Der ist aber bisher nur aufgesteckt, ich hab die Platine so zurechtgeschnitten, dass sie unter das Display passt, und zwar so, dass später der USB-Port noch von aussen erreichbar sein wird.
Das runde, silberne Ding unten ist der Tank- ne kleine USB-Powerbank mit 2600mAh. Davon hab ich zwei Stück, sollte also eine mal leer gespielt werden, kann ich sie rausziehen und die nächste rein stecken.
Dazu wird einfach ein "übriges" USB-Kabel zerlegt, und der Stecker, mitsamt nem Stück Kabel, fest auf die Grundplatte geklebt (ich werds vermutlich mit meinem 3D-Stift verschweissen, das hab ich wo anders auch schonmal gemacht, funktioniert gut).
Alles ist auf dem gedruckten Unterteil fest verschraubt (3x8mm Spaxe), das hält bombensicher.
Später wird noch ein Rahmen drumherum kommen (im Unterteil sind schon sechs M3-Muttern eingelassen, um alles später verschrauben zu können), und dann ein Deckel rauf, damits auch schick aussieht.
Der Rahmen wird Aussparungen bekommen, einen für die Powerbank, einen für den USB-Anschluss-damit man das Ding später auch mal umprogrammieren kann, ohne erst alles zerlegen zu müssen (da kommt evtl. ein Stöpsel aus TPU rauf, mal gucken).
Auf die Platine wird nicht sehr viel mehr kommen, die ist nur so gross, damit ich alle Pins des NANO nach einer Seite wegführen kann.
Das bringt zwar später nen ordentlichen Kabelsalat im Gehäuse, aber den sieht ja keiner, hehe.
Spannungsteiler (oder Levelshifter, vermutlich aber ersteres) werd ich noch rauf bauen, für das BT-Modul, aber ansonsten dient die eigentlich eher der Verkabelung.
Die hat keine angedruckte Halterung auf dem Gehäuse-Unterteil, die drucke ich separat und kleb sie später ein, so bin ich da flexibler.
Die Eingabe-Geräte werden dann alle einfach mit Steckern an die Platine angeschlossen, und fertig ist die Laube.
Abmessungen des Unterteils: 19x12.5 cm. Kleiner wirds nicht- sonst krieg ich nicht alles rein.
Die Gesamthöhe wird später irgendwas zwischen 45 und 50mm betragen.
Wenn man wollte, könnte man das Teil allerdings auch auf der halben Grösse (mit den selben Funktionen, aber anderen Joysticks und nem anderen Display) bauen- ich find die Grösse ok so.
Frage in die Runde:
ist das Interesse an so nem Ding gross genug, dass ich den Aufbau noch universeller machen sollte?
Zum Nachbauen, meine ich....es geht nämlich noch flexibler:
-die Halterung für die Powerbank kann auch durchaus separat angesetzt werden, so könnte man z.B. die Stromversorgung auch anders lösen.
Ich hab kein Problem mit, die Zeichnungen rauszurücken, weiss aber, dass viele nicht gern mit Blender arbeiten, daher werden nachträgliche Änderungen nicht unbedingt einfach sein, für viele...
Für mich ist das kein Problem, die beiden Clipse separat zu zeichnen-die kann man dann später einkleben, wenn man will.
Wenn ein bisschen Interesse da ist, würd ich das machen....
Wären dann weitere Änderungen (anderes Display, z.B.) gewünscht?
Sonst irgendwelche Anregungen, Kommentare....?
Liste der Anhänge anzeigen (Anzahl: 1)
ich war wohl derjenigerwelcher, der interesse gezeigt hat :-)... Nun bin ich in mich gegangen und habe überlegt was ich bisher gemacht habe...
Sowas z.b.
Anhang 34898
damit konnte ich ein mini-roboter-arm mit 4 servos steuern, ging, für die ersten versuche. Ansonsten würde sich so eine fernbedienung, wie Du jetzt bauen willst, besser eignen...
Ich habe dann allerdings den einfacheren weg gewählt und eine app (Arduino-remote-lite) auf meinem smartphone für diese zwecke umprogrammiert, ging besser als mit der fest verdrahteten...
Zweite anwendung war die defekte steuerung an meinem e-bike, die konnte ich mit der verwendung eines nano und ebenfalls eines HC05 moduls lösen. Allerdings auch hier wieder mit einer android app als steuerung...
alles in allem betrachtet, smartphone habe ich eigentlich immer zur hand, auch gibt es halterungen dafür für alle möglichen gelegenheiten...
für mich stellt sich nun die frage: was hätte eine selbstgebaute fernbedienung - ausser dem spass beim bauen - für vorteile?
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.
Liste der Anhänge anzeigen (Anzahl: 1)
Hm -ich benutz einfach Linux.
Schon seit Jahren... unproblematisch, zuverlässig, sicher und mit _weit_ moderateren Hardwareanforderungen.
Tatsächlich hatte ich mal ein Ubuntu (ich glaub, das war noch das 14er) auf nen "Sperrmüll-Rechner" (sah jedenfalls so aus..) ans laufen gebracht, der nicht mal mit XP flüssig lief- das Ding war so schwachbrüstig, dass ich die LXDE nachinstallieren musste, weil nicht mal Unity auf die Beine kam.
Lief dann aber völlig problemlos und überraschend schnell.
Aber lassen wir das- wird nur wieder ein Glaubenskrieg, und ich muss nix glauben.
Inzwischen hat es noch nen netten Rahmen ums Display gegeben (der den überschüssigen, anders-blau leuchtenden Rand fast komplett verdeckt), einen Einbau-Adapter für den letzten Button und nen neuen Drehknopf auch (den mache ich noch mal neu, der ist zu gross).
Wie ich die Joysticks verblenden soll, grüble ich noch...Anhang 34933
Sieht doch schon ganz nett aus (ich weiss, die Farben..... aber ich nehm, was grade da ist).
Muss mal wieder ein paar Rollen Filament besorgen.