Hallo, Ich suche einen Drehencoder/Drehtaster der sich 360° dreht und eigentlich nur 2 Taster ersetzen soll. Hintergrund: Ich baue derzeit ein Android Smartphone zum Radio um. Hat bisher schon hervorragend funktioniert, nur möchte ich diesmal ein schöneres Gehäuse. Am Smartphone sind die zwei Volume Tasten, die ich gerne herausführen und in die Frontplatte verlegen möchte. Dazu wäre eben eine Art 360° Drehencoder schön. Aber ich möchte direkt die Taster ersetzen ohne irgendwelche Zusatzhardware zwischen Smartphone und Drehencoder. Gibt es so etwas? Quasi, für mich als Laie - eine Dreheingabe, die nach rechts gedreht, den Volume+ Taster betätigt und nach links den Volume - Taster betätigt. Vielen Dank für eine Hilfe!
:
Verschoben durch User
Torsten S. schrieb: > Gibt es so etwas? Ohne zusätzliche Elektronik nicht. Die brauchst Du, um aus den Signalen des Drehimpulsgebers Deine selektiven Tastendrücke zu erzeugen.
Sowas gab es - allerdings habe ich es nur einmal in einem prof. VHS Player von JVC gesehen und auch gleich geplündert. Drehte man linksrum, wurde ein Kontaktpaar getastet, drehte man rechtrum, ein anderes, das Ding war ein Produkt von ALPS. Allerdings wirklich nur ein einziges Mal gesehen und deswegen fehlen mir auch Suchbegriffe für dich.
Wenn Du bastlerisch nicht 2 linke Hände hat: Nimm ein beliebiges Poti (möglichst groß mit dicker Achse, Blechgehäuse), entferne die Rückplatte mit dem Widerstand,löte an den Achsstummel einen dicken Draht (Zeiger, Nagel, ..) und anstelle der Rückwand ein Stück Lochrasterplatine o.ä. Darauf rechts und links der Drehachse je einen Mikrotaster mit Federstreifen, fertig. Für die Mittenrückstellung (bei Bedarf) verlängerst Du den dicken Draht über die Achse hinaus und befestigst daran eine kleine Zugfeder. Zusammen mit frischem Silikonfett an der Achse läßt es sich gut bedienen und läuft sanft in die Mittelstellung zurück. Hatte ich so über 20 Jahre im WZ-Verstärker im Einsatz.
Hi, ich würde da einfach so einen kleinen dig. Joistick nehmen. Da sind dann zwar auch Tasten rauf und runter aber die musst du ja nicht verwenden. Oder muss es zwingend was zum drehen sein? Gruß.
Hallo, vielen Dank für die tolle Hilfestellung! Bastlerisch habe ich definitiv keine linken Hände, allerdings ist es das Radio für ein Kind. Da könnte die Bastellösung vielleicht zu schnell an ihre Grenzen kommen. Stichwort Überbeanspruchung... Zum Drehen wäre eben ganz schön, da das Radio optisch an die schönen alten Holzradios aus den 50er 60er Jahren angelehnt sein wird. Mittlerweile habe ich mir selber noch überlegt, dass ich auch eine Maus zerlegen kann, um die 2 Tasten der Maus und das Drehrad nutzen kann für die Eingabe. Die Maus kann dauerhaft über den USB Anschluss des Smartphone angeschlossen bleiben. Die Stromversorgung geht hinten sowieso direkt rein, ohne Akku. Die Auswertung der Eingabe und die Umsetzung in die Radio App übernimmt Tasker. Grundsätzlich hätte ich gern zwei Drehdrück - Taster am Gerät, einen um durch das Menü zu scrollen und um das Radio generell einzuschalten. Den anderen wie schon beschrieben für die Lautstärke. Wenn ich schon Zusatzhardware benötige für die Auswertung der echten Drehencoder, gibt es da was, was ich dann mit Android auswerten und nutzen kann? Hat sich damit schon jemand zufällig beschäftigt? Vielen Dank
Torsten S. schrieb: > Wenn ich schon Zusatzhardware benötige für die Auswertung der echten > Drehencoder, gibt es da was, was ich dann mit Android auswerten und > nutzen kann Wozu? Du kannst einen winzigkleinen Controller verwenden, der aus den Drehsignalen Auf/Ab-Tastendrücke macht, die schliesst du da an wo die bisherigen Tasten angeschlossen sind. Ganz transparent. Georg
Stimmt., du hast Recht! Das muss ich mir noch durch den Kopf gehen lassen. Zwischenzeitlich fiel mir noch ein, dass der USB Host Anschluss des Smartphone ja generell alle Art von Eingabegeräten erkennen müsste. So vielleicht auch ein Gamepad, etc. Möglicherweise ergibt sich dadurch ja eine "Fast-Fertig-Lösung", eben auch für mehr als die Lautstärke Regelung.
Ich habe in einer lernfähigen Fernbedienung von Philips mal was gesehen : Es erinnerte mehr so an ein Glücksrad vom Rummel. Also die Dinger, die in der Nähe des Umfangs lauter Stifte haben. Man dreht die Scheibe mit der Hand und oben rattert ein kleines Fähnchen über die Stifte, bis die Scheibe auf "leider verloren" (angezeigt durch das Fähnchen) stehen bleibt. Wenn mann nun statt des Fähnchens einen Taster nimmt, der einen Kontakt schliest, wenn er nach rechts gedrückt wird und einen anderen, wenn er nach links gedrückt wird und das Ganze natürlich sehr viel kleiner baut als das Vorbild, hat man mechanisch die Lösung gefunden...
Viel zu kompliziert. Er will nur zwei Taster mit einer Links- oder Rechtbewegung. Und ich weiss, wo es die Teile gibt: Auf dem Schrottplatz. Bei vielen Autos ist im Tacho zur Urzeitverstellung so ein Ding verbaut, genau was Du suchst. Links für Stunden, rechts für Minuten. Such' Dir am besten 91-98er Nissans. P.S: Wenn du nix findest kann ich dir das Ding auch zuschicken, aber such zuerst.
:
Bearbeitet durch User
Philipp G. schrieb: > Viel zu kompliziert. Er will nur zwei Taster mit einer Links- oder > Rechtbewegung. Nö, will er nicht: Torsten S. schrieb: > Ich suche einen Drehencoder/Drehtaster der sich 360° dreht und > eigentlich nur 2 Taster ersetzen soll. Und das Dings in meinem Nissan dreht keinesfalls 360°, sondern höchstens 30° nach links und rechts.
Wäre eine BT Fernbedienung vielleicht eine Lösung? https://de.aliexpress.com/wholesale?catId=0&initiative_id=AS_20180316053513&SearchText=bluetooth+remote
Matthias S. schrieb: >> Viel zu kompliziert. Er will nur zwei Taster mit einer Links- oder >> Rechtbewegung. > Nö, will er nicht: Ich denk schon. Matthias S. schrieb: >> Ich suche einen Drehencoder/Drehtaster der sich 360° dreht und >> eigentlich nur 2 Taster ersetzen soll. > > Und das Dings in meinem Nissan dreht keinesfalls 360°, sondern höchstens > 30° nach links und rechts. Ja, so 30° kommt hin. Er will damit die Volume +- Tasten ersetzen. Ich glaube nicht, dass er mit zwei Fingern eine volle 360° Drehung vollziehen will, warum auch?
Du kannst auch sowas nehmen: https://www.distrelec.ch/de/rotary-wafer-switch-rnd-components-rnd-210-00082/p/30090538?q=*&filter_Category3=Drehschalter&filter_Buyable=1&filter_Schaltstellungen=3&page=3&origPos=13&origPageSize=25&simi=99.9 Aber das schöne am Nissan Drehschalter ist halt, dass dieser selber immer zurück in die Nullstellung geht.
Philipp G. schrieb: > Ja, so 30° kommt hin. Er will damit die Volume +- Tasten ersetzen. Ich > glaube nicht, dass er mit zwei Fingern eine volle 360° Drehung > vollziehen will, warum auch? Er möchte das "feeling" eines Potis haben.
Luca E. schrieb: >> Ja, so 30° kommt hin. Er will damit die Volume +- Tasten ersetzen. Ich >> glaube nicht, dass er mit zwei Fingern eine volle 360° Drehung >> vollziehen will, warum auch? > > Er möchte das "feeling" eines Potis haben. Das hat er mit dem Nissan _Dreh_schalter ja auch. Ein Poti federt selten zurück in die Nullstellung.
:
Bearbeitet durch User
Philipp G. schrieb: > ... zur Urzeitverstellung ... Die Urzeit ist schon lange, lange her. Da waren noch nicht mal Menschen angedacht, geschweige denn irgendwelche Verstellmechanismen für Elektronik.
Selbst mit einem Poti kannst du ohne Hardware/Software keine Taster ersetzen. Wenn er einen Drehencoder haben will dann kommt er ohne Zusatzschaltung nicht aus. Will er so einen drehschalter haben wie bei manchen alten Videorecordern dann geht es ohne Zusatzschaltung. Aber das will er ja nicht
Dominik K. schrieb: > Will er so einen drehschalter haben wie bei manchen alten Videorecordern > dann geht es ohne Zusatzschaltung. > Aber das will er ja nicht Eben. Und für ein Poti im Sinne von 'linker Anschlag 0, rechter Anschlag max' fehlt im die Rückmeldung.
Philipp G. schrieb: > Ein Poti federt selten zurück in die Nullstellung. Braucht es ja auch nicht. Was er sucht ist ein Drehencoder, der statt des Graycodes einfach nur Impulse bei rechts- bzw. linksdrehen ausgibt.
Luca E. schrieb: > Braucht es ja auch nicht. > Was er sucht ist ein Drehencoder, der statt des Graycodes einfach nur > Impulse bei rechts- bzw. linksdrehen ausgibt. Dafür fehlt ihm die Synchronisation zum Android.
:
Bearbeitet durch User
Philipp G. schrieb: > Dafür fehlt ihm die Synchronisation zum Android. Ich verstehe immer noch nicht, was du sagen willst. Nein, der Nissan Hebel hat kein Poti-Feeling, weil, wie du selber schreibst: > Ein Poti federt selten zurück in die Nullstellung. Aber genau das tut der Nissan Steller. Und ein Android-Lautstärkesteller muss auch nicht synchronisiert werden - was soll das überhaupt sein? > Und für ein Poti im Sinne von 'linker Anschlag 0, rechter Anschlag > max' fehlt im die Rückmeldung. Er will auch keine Rückmeldung, weil die sowieso auf dem Bildschirm steht. Alles, was der TE sucht, ist: Luca E. schrieb: > Was er sucht ist ein Drehencoder, der statt des Graycodes einfach nur > Impulse bei rechts- bzw. linksdrehen ausgibt. So isses. Ich habe gleich zu Anfang gepostet, das es sowas schon gab, ob ALPS das heute noch fertigt und verkauft, muss man eben mal rausfinden. Ansonsten brauchts nun mal ein MC mit Progrämmchen oder eine Schaltung mit Logikgatter.
Matthias S. schrieb: >> Dafür fehlt ihm die Synchronisation zum Android. > > Ich verstehe immer noch nicht, was du sagen willst. Nein, der Nissan > Hebel hat kein Poti-Feeling, weil, wie du selber schreibst: > >> Ein Poti federt selten zurück in die Nullstellung. > Aber genau das tut der Nissan Steller. Das ist klar, hier bin ich mit Dir einig. Die fehlende Federwirkung war auf das Poti bezogen. Matthias S. schrieb: > Und ein Android-Lautstärkesteller muss auch nicht synchronisiert werden > - was soll das überhaupt sein? Ich weiss nicht, was Du mit ALPS meinst? Haben deren Schalter keine Endanschläge? Dann verstehe ich Dich. Wenn es aber ein klassisches Poti sein soll, muss dieses optimaler weise mit dem Android synchronisiert zur Ausgabelautstärke laufen: Beispiel: Poti hat einen Anschlag links (Volume 0), und einen Anschlag rechts (Volume max). Kind hört Radio. Kind dreht Volume Regler auf 0. Kind schaltet Radio aus. Kind dreht Volume Regler von ganz links nach ganz rechts -> Volume max. Kind schaltet Radio ein. Kind will lauter machen, aetsch, geht nicht. Ist schon am Anschlag rechts. Kind muss verstehen, dass man nun ganz ganz nach links drehen muss, bis zum Anschlag, und dann wieder nach rechts zur gewünschten Lautstärke. Kind haut Radio putt. Klar was ich meine, Matthias?
:
Bearbeitet durch User
Philipp G. schrieb: > Ich weiss nicht, was Du mit ALPS meinst? Haben deren Schalter keine > Endanschläge? Dann verstehe ich Dich. Lies doch einfach den Beitrag. Es gab in diesem prof. VHS Player von JVC einen Drehencoder, der beim Rechtsdrehen ein Kontaktpaar taktete und beim Linksdrehen ein anderes. Wenn ich Lust habe, durch die Kälte zum Schuppen zu traben, hol ich das Ding mal rein und mache Fotos. Dieser Drehencoder hat keine Anschläge, sondern nur, wie moderne Teile, eine Rastung. Philipp G. schrieb: > Kind hört Radio. Woher kommt plötzlich ein Kind? Und warum sollte ein Telefon, was man aus- und dann wieder einschaltet, die Lautstärkeeinstellung vergessen? Bei meinem alten Wischhandy jedenfalls merkt sich das Dings die Lautstärkeeinstellung. Ausserdem sind Kinder flotter auf den Telefonen unterwegs als alte Knacker.
:
Bearbeitet durch User
Torsten S. schrieb: > Hallo, vielen Dank für die tolle Hilfestellung! > allerdings ist es das > Radio für ein Kind. Da könnte die Bastellösung vielleicht zu schnell an > ihre Grenzen kommen. Stichwort Überbeanspruchung daher matthias. Lies jetzt bitte nochmal mein Beispiel.
:
Bearbeitet durch User
Philipp G. schrieb: > Ich weiss nicht, was Du mit ALPS meinst? Haben deren Schalter keine > Endanschläge? Dann verstehe ich Dich. Ein Drehencoder hat generell keine Endanschläge. Um mal bei deinem Beispiel zu bleiben: Kind hört Radio. Kind dreht Volume Regler nach links. Android verringert Lautstärke. Kind dreht weiter nach links. Lautstärke bleibt auf 0. Kind schaltet Radio aus. Kind dreht Volume Regler von ganz links nach ganz rechts -> Nichts passiert, da Radio aus. Kind schaltet Radio ein. Kind will lauter machen, dreht den Encoder nach rechts. Kind dreht weiter nach rechts, Lautstärke bleibt auf max. Kind lässt Radio ganz.
Philipp G. schrieb: > Ich weiss nicht, was Du mit ALPS meinst? Haben deren Schalter keine > Endanschläge? Du bist eigentlich der einzige, der hier ständig Endanschläge reinbringt. Die waren nirgends gefordert. Und die Probleme, die du nennst wie "Synchronisation mit Android" entstehen nur aus diesen Endanschlägen. Der TE möchte etwas, das sich wie ein typischer Drehencoder nutzen lässt, aber das nicht sowas wie einen Quadraturcode ausgibt, sondern sich elektrisch so verhält wie zwei Taster, einen der der beim Linksdrehen betätigt wird und einen beim Rechtsdrehen.
Meinst du soetwas? http://www.grayhill.com/assets/1/7/Rotary_Special_Function_Individual.pdf Typ MDM. Gibts bei Mouser. Aber gut aufpassen beim Zusammenbasteln der Typennummer. Evtl. 503265-1-03N
Rolf M. schrieb: > Du bist eigentlich der einzige, der hier ständig Endanschläge > reinbringt. Die waren nirgends gefordert. Und die Probleme, die du > nennst wie "Synchronisation mit Android" entstehen nur aus diesen > Endanschlägen. > Der TE möchte etwas, das sich wie ein typischer Drehencoder nutzen > lässt, aber das nicht sowas wie einen Quadraturcode ausgibt, sondern > sich elektrisch so verhält wie zwei Taster, einen der der beim > Linksdrehen betätigt wird und einen beim Rechtsdrehen. Ja, schon klar. Er hat nun mal das klassische Radio erwähnt.
Philipp G. schrieb: > Ja, schon klar. Er hat nun mal das klassische Radio erwähnt. Ja aber nur optisch! Ich hatte mal was ähnliches gemacht per HID um im Flugsimulator ein Volume Poti zu simulieren mit einem Drehencoder. Geht aber wie gesagt nur mit Zusatzhardware dazwischen. Wenn man den klassischen Drehencoder nimmt.
Ich hätte Dir jetzt zwei mögliche Lösungsansätze, die etwas Geschick vorausgesetzt, sehr einfach zu realisieren sind - und - funktionieren werden. Die eine ist rein elektromechanisch, die andere mit einem uC. 1) Die RC Helis (für die Gäste im Forum, die ferngesteuerten Modellbau Helikopter) sind heutzutage alle ein bisschen ähnlich gebaut. Meist ist ein Brushless Motor mit einem Ritzel, welcher den Hauptrotor über einen Zahnkranz antreibt. In der Nabe des Zahnrads ist ein Freilauf drin (für die Autorotation u.W). Suchbegriffe: TREX 450 Main Gear Kosten nix und sind qualitativ hochwertig. Du besorgst Dir zwei solcher Zahnkränze. Wenn Du keinen Zugang zu einem 3D Drucker hast, und auch keine Fräsmaschine mit Teilapparat, mit Dremel auf den Zahnkranz sagen wir 20 'Nocken' oder grosse 'Zähne' reindremeln. Nun schiebst Du beide auf die Welle, der eine verkehrt darauf, und befestigst unten je ein Endschalter. https://www.bing.com/search?q=endschalter&qs=n&form=QBRE&sp=-1&pq=endschalter&sc=8-11&sk=&cvid=533C56F57685489EA26FC6B619AE1EDC 2) Arduino Nano. Und halt doch ein Poti. Du übergibst den Ausschaltvorgang dem Arduino Nano. Beim Ausschalten schickt der immer, sagen wir, 20 Pulse auf den 'Volume - Eingang'. Beim Anschalten fährt je nach Potistellung die Lautstärke langsam hoch. Beim Drehen des Potis misst Du die Spannungsdifferenz, erhöhen schickt Pulse an Volume+, die andere Richtung an Volume-. Das schöne an der zweiten Lösung ist, du lernst was über uC und benötigst wirklich nur sehr wenig Zusatzbauteile. Auch das Coding ist in wenigen Zeilen gemacht. Gruss, Philipp
:
Bearbeitet durch User
Philipp G. schrieb: > Arduino Nano. Und halt doch ein Poti. Warum ein Poti? Mit einem Drehencoder umgeht er das von dir angesprochene Problem mit der Synchronisation. Aber soweit waren wir schon gestern.
Rufus Τ. F. schrieb: > Ohne zusätzliche Elektronik nicht. Oooch, ich könnte mir schon eine kleine Mechanik vorstellen, die aus einer Drehbewegung zwei unterschiedliche Tastendrücke erzeugt. Aber ob der TO auch genügend Feinmechanik-Fertigkeiten im Kreuz hat, ist natürlich unklar. W.S.
Drehtaster gibts muß es doch fertig geben. Sowas hab ich im Ofen, um die Zeiten einzustellen. 2 Schaltstellungen nach links, 2 rechts, jeweils langsam/schnell f. rückwärts/vorwärts. Anschläge und gefederte Rückstellung in die Mittenposition.
batman schrieb: > Drehtaster gibts muß es doch fertig geben. Sowas hab ich im Ofen, um die > Zeiten einzustellen. > 2 Schaltstellungen nach links, 2 rechts, jeweils langsam/schnell f. > rückwärts/vorwärts. Anschläge und gefederte Rückstellung in die > Mittenposition. Das es die gibt steht außer Frage. Der TO will aber 360° drehen. Da nützen all die Vorschläge nix mit: Poti, Drehtaster oder Freilauf aus einem TRex 450.
Warum? Mit der Freilauf Lösung kann er einstellen wie er will. Wenn er von 20 Pulse von 0-100 braucht kommen 20Zähne in den Kranz.
:
Bearbeitet durch User
Ich verstehe gerade den Sinn nicht. Ein Freilauf ist ein Lager welches in der einen Richtung die innere Welle frei drehen lässt und in der anderen Richtung sperrt und sich mit der Welle zusammen bewegt. Wenn ich 2 dieser Lager übereinander baue, wobei 1 verkehrt herum sitzt sperrt es entweder in beide richtungen und dreht sich frei in beide Richtungen. Von einer 360° Lösung total weit entfernt. Vor allen Dingen... du weißt wie groß so ein HZR vom TRex ist? Wo soll der das denn einbauen?
:
Bearbeitet durch User
Ich hab solche Freiläufe auch an Wellen von Druckern, ca. 6mm Duchmesser. Die Idee ist wohl, die Dinger nicht als Lager einzusetzen, sondern die Welle normal drehbar zu lagern und zusätzlich je einen Freilauf pro Richtung, der dann einen Zahnkranz in einer Lichtschranke dreht oder einfach einen Schalter über einen Nocken betätigt o.ä. Originell aber irgendwie bischen sinnlos.
Hallo guten Abend, leider bin ich außer der Bastelei noch anderweitig stark eingebunden... Mich wundert es, dass mein kleines Problemchen solche Wellen schlägt. Hat denn keiner der hier Mitschreibenden etwas von dem Wandel der Lautstärkeverstellung in den 90ern mitbekommen??? In den Radios der 80er (Auto, Radio) hatten die Radios die Poti Regelung. Danach in den 90ern kam die Tastenbedienung auf, weil es halt gerade "in" war, viele Tasten auf ein Gerät zu bretzeln. Davon kamen allerdings wieder viele namhafte Hersteller ab, weil einfach die Haptik nicht die gleiche war, im Auto z.B. kann man eben schneller aufdrehen, als auftasten. Moderne gute Geräte haben eben wieder den Drehknopf. Diesmal allerdings eben digital ausgewertet, als Drehencoder... Dies nur kurz als Begründung meines Wunsches. Ich möchte keine Mittelstellung, kein Poti mit Endlagen, sondern einfach nur beim Drehen des Rades nach rechts lauter, bzw. nach links leiser stellen wollen. Für mich stimmt damit die Optik und fürs Kind die Haptik (kein Überdrehen einer Endstellung möglich - nur eine Anzeige im Display, dass bei 100% wirklich Schluss mit laut ist). Dafür ist ein Drehencoder tatsächlich perfekt geeignet. Ich dachte nur, dass es das auch einfach als fertigen Dreh"taster" gibt und mir nur der richtige Suchbegriff für Google fehlt. Ist offensichtlich nicht so einfach wie ich anfangs dachte, _also habe ich mich umorientiert_. Wenn schon ein Board zwischen Android und Eingabe hängt, dann kann ich ein paar mehr Eingaben ermöglichen. Nun hat sich meine ursprüngliche Fragestellung geändert; kennt einer ein nach Möglichkeit ein Board, gerne auch als DIY Anleitung, welches mir ermöglicht, zwei Dreh-drück-encoder über USB an den Android USB Host zu stecken? Wenn es die Eingaben als Tastatureingabe sendet, kommt Android/Tasker locker damit zurecht und ich habe weniger Arbeit. Grundsätzlich ist programmieren und Feinmechanik kein Problem, nur der Tag ist leider immer zu kurz für meine vielen Wünsche... Für einzelne Drehencoder über USB gibt es einige Fertig und einige DIY Anleitungen, z.B. https://www.thingiverse.com/thing:2035590. Geschaut habe ich mittlerweile bei Adafruit, Sparkfun oder beim Aliexpress, aber nichts gefunden. Leider habe ich so etwas wiederum nicht für mehrere Drehencoder gefunden, die wiederum Tastatur Eingaben weitergeben z.B. Drehencoder 1: nach rechts drehen - sendet Taste Q; nach links drehen - sendet Taste W. Zwei Dreh-drück-encoder würde ich nun nehmen für, Drehencoder 1: Drücken zum Ein/Ausschalten, drehen für das Menü und Drehencoder 2: Drücken für Mute, drehen für die Lautstärkeregelung. Ganz schön langer Text, aber ich möchte verhindern, dass hier noch die Fäuste fliegen... Vielen Dank, Torsten
Sowas ähnliches hat die "Mighty Mouse" von Apple in ihrer kleinen grauen Kugel, und ich glaube auch der Blackberry: für jede der Richtungen links/rechts/oben/unten wird eine eigene Achse gedreht. Auf der aber leider ein Magnet und daneben ein Hallsensor sitzt. Ich hätte sowas gerne für das Mäusekino meiner Klimaanlage im Auto. Von 16 auf 32°C in 0,5°-Schritten sind 32 Tastendrücke!!! Da man wegen der Entprellung nicht beliebig schnell tippen darf, braucht das mehrere Sekunden, die man einhändig fährt. Oder man hält die Taste 5-10 Sekunden fest. In dem Fall bräuchte man also eh eine elektronische Mimik, die ein beherzte Rundumdrehung in gebremste Einzeltastungen unterteilt. Im Prinzip wäre das eine wunderbare Anwendung für ein kleines IC. Wird nur keine Industriekunden geben, die sowas kaufen.
http://www.alps.com/prod/info/E/HTML/Encoder/Incremental/Incremental_list1.html Adafruit Itsy Bitsy 32u4 - 3V 8MHz https://www.adafruit.com/product/3675 "USB uploading and debugging" "Can act as a USB HID Keyboard, Mouse, MIDI or plain USB 'CDC' serial device (default)" Hat genügend I/O, kann als USB-Keyboard dienen. Allerdings sind das "Prospektangaben" somit kann ich keine Aussage zur Eignung und zum Programmieraufwand machen.
Neben dem Adafruit Teil könnte auch der IO Warrior oder ein eigenes Projekt mit V-USB geeignet sein, wenn du AVRs programmieren kannst. Ich würde aber erstmal ausprobieren, ob z.B. eine USB Tastatur vom Telefon akzeptiert wird und welche Tasten die Lautstärkefunktion tragen - wenn überhaupt. https://www.codemercs.com/de/io-warrior https://www.obdev.at/products/vusb/index-de.html
Torsten S. schrieb: > Mich wundert es, dass mein kleines Problemchen solche Wellen schlägt. Das liegt daran, daß es - zumindest unter den von dir vorgegebenen Randbedingungen - eben gerade nicht klein ist. > In den Radios der 80er (Auto, Radio) hatten die Radios die Poti > Regelung. Danach in den 90ern kam die Tastenbedienung auf, weil es halt > gerade "in" war, viele Tasten auf ein Gerät zu bretzeln. > Davon kamen allerdings wieder viele namhafte Hersteller ab, weil einfach > die Haptik nicht die gleiche war, im Auto z.B. kann man eben schneller > aufdrehen, als auftasten. Moderne gute Geräte haben eben wieder den > Drehknopf. > Diesmal allerdings eben digital ausgewertet, als Drehencoder... Genau. An einem Mobiltelefon ist aber kein Platz für einen solchen Drehgeber. Deswegen dort wieder Tasten, statt des haptisch besseren Drehgebers. > Ich möchte keine Mittelstellung, kein Poti mit Endlagen, sondern einfach > nur beim Drehen des Rades nach rechts lauter, bzw. nach links leiser > stellen wollen. Für mich stimmt damit die Optik und fürs Kind die Haptik > (kein Überdrehen einer Endstellung möglich - nur eine Anzeige im > Display, dass bei 100% wirklich Schluss mit laut ist). > Dafür ist ein Drehencoder tatsächlich perfekt geeignet. Korrekt. Nur ist ein Drehgeber eben ein Drehgeber. Der will elektrisch anders ausgewertet werden als zwei Tasten. Mit einem kleinen µC - 4 I/Os reichen ja schon - wäre die Umsetzung von Drehgeber auf zwei Tasten trivial. Aber wenn du forderst: Torsten S. schrieb: > ohne irgendwelche Zusatzhardware zwischen Smartphone und Drehencoder dann geht es halt nicht so einfach. > Nun hat sich meine ursprüngliche Fragestellung geändert; kennt einer ein > nach Möglichkeit ein Board, gerne auch als DIY Anleitung, welches mir > ermöglicht, zwei Dreh-drück-encoder über USB an den Android USB Host > zu stecken? Wenn es die Eingaben als Tastatureingabe sendet, kommt > Android/Tasker locker damit zurecht und ich habe weniger Arbeit. Fertig wäre mir das nicht bekannt. Mit sehr viel mehr Knöpfchen und Rädchen gibt es das als Bedienpult für DJ's. Aber für nur zwei Encoder macht sich keiner die Mühe. Andererseits ist das halbwegs trivial. Für den Software-USB-Stack für AVR gibt es schon fertigen Code [1] für ein HID-Device. Da müßte man nur noch die Auswertung für zwei Drehgeber anflanschen und das Ganze auf einen ATMega brennen. > Zwei Dreh-drück-encoder würde ich nun nehmen für, > Drehencoder 1: Drücken zum Ein/Ausschalten, drehen für das Menü und > Drehencoder 2: Drücken für Mute, drehen für die Lautstärkeregelung. Dein Problem ist, daß du nicht nur Sonderwünsche hast, sondern auch noch erwartest, daß andere vor dir genau die gleichen Sonderwünsche gehabt haben. Ich würde ja schon die Prämisse in Frage stellen, ob ein Smartphone überhaupt eine sinnvolle Basis für ein "Radio" darstellt. Immerhin konnte man gut 100 Jahre vor der Erfindung des Smartphones schon Radios bauen. Und die hatten auch haptisch geeignete Bedienelemente. [1] https://www.obdev.at/products/vusb/prjhid.html
:
Bearbeitet durch User
Ich glaub die Leute kommen einfach gar nicht mehr auf die Idee, ein Problem mit irgendwas anderem als einer App zu lösen. Daß man ein Radio als Radio verwendet, paßt da schon nicht mehr ins Weltbild.
Ich verstehe leider nicht, warum ich mich und meine Beweggründe erklären muss. Ich habe doch versucht, beim zweiten Post zu erklären, warum ich meine Meinung mittlerweile geändert habe zum geplanten Aufbau. Wenn dann natürlich Aussagen des ersten Posts gegen Aussagen des zweiten Posts gestellt werden, dann verstehe ich das ehrlich nicht. Oder Aussagen wie, ein Radio per Smartphone passe nicht zum "Weltbild". Das passt wiederum nicht in mein Weltbild. Oder eben die Frage, warum das Radio "neu" erfunden werden müsse, da es das ja bereits vor 100 Jahren gegeben hätte. Wenn man so an das Thema ran geht, dann könnten ja sämtliche Entwickler/Architekten/Planer/Visionäre einpacken, da es quasi alles schon gibt. Bestes Beispiel: Hyperloop - Dampflokomotive... Meine Lösung mit dem Smartphone ist für mich deshalb die beste, weil es am Ende ein Netzwerkradio und Teil des Smart Home ist. Sämtliche Musik kommt vom NAS, kein Hantieren und Zerkratzen von CDs möglich. Radio Sender sind weltweit möglich, was ich mit UKW/DAB nunmal nicht hin bekomme. Aktuell sind lokale Radiosender (Sachsen) genauso auf der Liste, wie auch Sender aus Berlin bzw. aus Amerika von reinen Internetradios. Oder die Steuerung von mir über das Netzwerk, wenn das Kind z.B. wieder mal partout nicht einsieht, dass es eine sogenannte "Zimmerlautstärke" gibt. Oder die Option für später problemlos ein Bluetooth Kopfhörer nutzen zu können. Oder die Option, dass dieses Endprodukt "Radio" Teil meines Smart Home ist. Bestes Beispiel ist die Vernetzung der Rauchmelder im Keller, mit einem lauten Warnsignal im Kinderzimmer. Ebenso, dass die bunte SMD Strip Beleuchtung im Kinderzimmer über das Endprodukt "Radio" mit gesteuert wird. Sei es, über das Radiodisplay (Smartphonedisplay), über mich von der Stube aus, über das Smart Home zur Signalisierung von Events (Feueralarm/jemand klingelt an der Haustür/das Festnetztelefon klingelt/etc...) Die genannten Beispiele sind übrigens keine Fantasie, sondern bereits im Einsatz. Wie ich bereits im Eingang geschrieben habe, will ich nur ein schöneres Gehäuse für mein Radio/Gerät mit der Option einer Drehregelung für die meistgenutzte Eingabe an einem Radio: Der Lautstärkeverstellung. Mir ist absolut klar, dass es für all das keine Notwendigkeit gibt, daß es alles bereits als Einzellösung im Handel zu erwerben gibt. Vernetzte Rauchmelder, SMD Strip mit Fernbedienung, Bluetooth Kopfhörer mit Sendeeinheit, fertige Radios mit Internetanbindung... Wie gesagt, es ist mein kleines Projekt, und damit mein kleines Problemchen. Mir muss auch keiner sagen, was mein "wahres" Problem wäre. ################## *Ich danke auf jeden Fall allen Mitschreibern für die guten Tips und Hinweise*, die mich zum Umdenken bei der Planung bewegt haben. Dadurch haben sich tatsächlich Lösungen aufgetan, *auf die ich selber nicht gekommen bin*.
Ich würde ja sagen, gib deinem Kind lieber etwas Taschengeld, damit es sich selbst ein Radio kaufen kann. :)
Torsten S. schrieb: > Dafür ist ein Drehencoder tatsächlich perfekt geeignet. Ich dachte nur, > dass es das auch einfach als fertigen Dreh"taster" gibt und mir nur der > richtige Suchbegriff für Google fehlt. Also, hättest du gleich zum Anfang das Zauberwort "Drehencoder" geschrieben, dann hätte dies den ganzen Thread wesentlich vereinfacht. Allerdings ist mir noch schleierhaft, wie du so ein Android-Smartphone zum Kinder-Radio umbauen willst. Eigentlich müßtest du ja entweder in dessen Firmware herumändern, um die ganze Bedienung von Touchscreen auf drangebastelte Tasten und Knöpfe zu ändern - oder du müßtest eben die Touches mit einer Mechanik nachempfinden, also auf Knopfdrehen außen dann drinnen in geeigneter Weise auf dem Display herumwischen. Sowas kommt mir doch sehr abenteuerlich vor. W.S.
W.S. schrieb: > Also, hättest du gleich zum Anfang das Zauberwort "Drehencoder" > geschrieben, dann hätte dies den ganzen Thread wesentlich vereinfacht. Wer lesen kann, ist klar im Vorteil: Torsten S. schrieb: > Ich suche einen Drehencoder/Drehtaster der sich 360° dreht und > eigentlich nur 2 Taster ersetzen soll. > Allerdings ist mir noch schleierhaft, wie du so ein Android-Smartphone > zum Kinder-Radio umbauen willst. Ist doch super als Recycling. Was soll man sonst mit den ganzen alten Dingern anfangen? Viele haben ein UKW Radio eingebaut, Netzwerkanbindung ist auch da, IP Radio gibts als App. Bedienung läuft über den Touchscreen, nur eben die Lautstärke liegt ja meistens auf Hardware Tasten.
:
Bearbeitet durch User
Ist aber ein komisches "Radio". Ein nostalgisches Holzgehäuse mit unzerstörbarem Lautstärkeregler und ääh Touchscreen.
W.S. schrieb: > Allerdings ist mir noch schleierhaft, wie du so ein Android-Smartphone > zum Kinder-Radio umbauen willst. Eigentlich müßtest du ja entweder in > dessen Firmware herumändern, um die ganze Bedienung von Touchscreen auf > drangebastelte Tasten und Knöpfe zu ändern - oder du müßtest eben die > Touches mit einer Mechanik nachempfinden, also auf Knopfdrehen außen > dann drinnen in geeigneter Weise auf dem Display herumwischen. Die meisten Smartphones haben echte Tasten für die Lautstärke, und die Auswahl der "Sender" (also Server) und lokalen Files wird man eh am besten über den Touchscrenn machen.
ungetestet
1 | /* ATtiny25 */
|
2 | |
3 | #include <avr/io.h> |
4 | #include <stdint.h> |
5 | |
6 | /* IO - Konfiguration */
|
7 | #define PIN_IN_A (3)
|
8 | #define PIN_IN_B (4)
|
9 | #define PIN_OUT_UP (1)
|
10 | #define PIN_OUT_DN (0)
|
11 | #define OUT_ACTIVE_LOW (0)
|
12 | |
13 | #define STEPS_TO_START (2)
|
14 | #define STEPS_TO_DEC (5)
|
15 | #define DURATION_PRESS ms(100.0)
|
16 | #define DURATION_RELASE ms(100.0)
|
17 | #define DURATION_STARTUP ms(200.0)
|
18 | |
19 | /* Makros */
|
20 | #define ENCODER_IN_A (PINB & _BV(PIN_IN_A))
|
21 | #define ENCODER_IN_B (PINB & _BV(PIN_IN_B))
|
22 | #if (OUT_ACTIVE_LOW)
|
23 | #define OUT_UP() do {PORTB=(PORTB & ~_BV(PIN_OUT_UP))|_BV(PIN_OUT_DN);} while (0)
|
24 | #define OUT_DN() do {PORTB=(PORTB & ~_BV(PIN_OUT_DN))|_BV(PIN_OUT_UP);} while (0)
|
25 | #define OUT_NEITHER() do {PORTB=PORTB | _BV(PIN_OUT_UP) | _BV(PIN_OUT_DN);} while (0)
|
26 | #else
|
27 | #define OUT_UP() do {PORTB=(PORTB & ~_BV(PIN_OUT_DN))|_BV(PIN_OUT_UP);} while (0)
|
28 | #define OUT_DN() do {PORTB=(PORTB & ~_BV(PIN_OUT_UP))|_BV(PIN_OUT_DN);} while (0)
|
29 | #define OUT_NEITHER() do {PORTB=PORTB & ~(_BV(PIN_OUT_UP) | _BV(PIN_OUT_DN));} while (0)
|
30 | #endif
|
31 | |
32 | #define ms(X) ((uint_fast8_t)(((X)/32.768)+0.5))
|
33 | #define IST_A ((uint_fast8_t)1U)
|
34 | #define IST_B ((uint_fast8_t)2U)
|
35 | #define WAR_A ((uint_fast8_t)4U)
|
36 | #define WAR_B ((uint_fast8_t)8U)
|
37 | |
38 | /* Config Bits */
|
39 | FUSES = |
40 | {
|
41 | .low = (FUSE_CKSEL1 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0), |
42 | .high = (FUSE_SPIEN & FUSE_DWEN & FUSE_BODLEVEL1), |
43 | .extended = (EFUSE_DEFAULT) |
44 | };
|
45 | |
46 | LOCKBITS = (LB_MODE_1); |
47 | |
48 | |
49 | int main(void) |
50 | {
|
51 | uint_fast8_t warte = 0U; |
52 | uint_fast8_t encoder_ist; |
53 | uint_fast8_t encoder_war; |
54 | int_fast8_t steps_to_go = 0; |
55 | enum {AUST_IN_RUHE, AUST_NACH_UNBEKANNT, AUST_BEI_HOCH, AUST_BEI_RUNTER, AUST_NACH_HOCH, AUST_NACH_RUNTER, AUST_GESTARTET} ausgabe_state = AUST_GESTARTET; |
56 | /* Port Init */
|
57 | #if (OUT_ACTIVE_LOW)
|
58 | PORTB = _BV(PIN_IN_A) | _BV(PIN_IN_B) | _BV(PIN_OUT_DN) | _BV(PIN_OUT_UP); |
59 | #else
|
60 | PORTB = _BV(PIN_IN_A) | _BV(PIN_IN_B); |
61 | #endif
|
62 | DDRB = (uint8_t)(~(_BV(PIN_IN_A) | _BV(PIN_IN_B) | _BV(6) | _BV(7))); |
63 | /* Timer Init */
|
64 | TIMSK = 0x00U; |
65 | TCCR1 = 0x0cU; |
66 | /* */
|
67 | if (0U != ENCODER_IN_A) |
68 | {
|
69 | encoder_war = WAR_A; |
70 | }
|
71 | else
|
72 | {
|
73 | encoder_war = 0U; |
74 | }
|
75 | if (0U != ENCODER_IN_B) |
76 | {
|
77 | encoder_war |= WAR_B; |
78 | }
|
79 | while (1) |
80 | {
|
81 | /* Timing Wartezeiten */
|
82 | if (0U != (TIFR & _BV(TOV1))) |
83 | {
|
84 | TIFR = _BV(TOV1); |
85 | if (0U != warte) |
86 | {
|
87 | warte--; |
88 | }
|
89 | }
|
90 | /* Encoderauswertung */
|
91 | if (0U != ENCODER_IN_A) |
92 | {
|
93 | encoder_ist = IST_A; |
94 | }
|
95 | else
|
96 | {
|
97 | encoder_ist = 0U; |
98 | }
|
99 | if (0U != ENCODER_IN_B) |
100 | {
|
101 | encoder_ist |= IST_B; |
102 | }
|
103 | switch (encoder_ist | encoder_war) |
104 | {
|
105 | case WAR_B : /* fallende Flanke auf B, waehrend A Low bleibt */ |
106 | case IST_A : /* steigende Flanke auf A, waehrend B Low bleibt */ |
107 | case WAR_A|WAR_B|IST_B : /* fallende Flanke auf A, waehrend B High bleibt */ |
108 | case IST_B|WAR_A|IST_A : /* steigende Flanke auf B, waehrend A High bleibt */ |
109 | if (steps_to_go < INT8_MAX) |
110 | {
|
111 | steps_to_go++; |
112 | }
|
113 | break; |
114 | case IST_B : /* steigende Flanke auf B, waehrend A Low bleibt */ |
115 | case WAR_A : /* fallende Flanke auf A, waehrend B Low bleibt */ |
116 | case IST_A|WAR_B|IST_B : /* steigende Flanke auf A, waehrend B High bleibt */ |
117 | case WAR_B|WAR_A|IST_A : /* fallende Flanke auf B, waehrend A High bleibt */ |
118 | if (steps_to_go > INT8_MIN) |
119 | {
|
120 | steps_to_go--; |
121 | }
|
122 | break; |
123 | default : |
124 | break; |
125 | }
|
126 | encoder_war = encoder_ist << 2U; |
127 | /* Statemachine Ausgabe */
|
128 | switch (ausgabe_state) |
129 | {
|
130 | case AUST_IN_RUHE : |
131 | if (steps_to_go > STEPS_TO_START) |
132 | {
|
133 | warte = DURATION_PRESS; |
134 | OUT_UP(); |
135 | ausgabe_state = AUST_BEI_HOCH; |
136 | }
|
137 | else if (steps_to_go < -STEPS_TO_START) |
138 | {
|
139 | warte = DURATION_PRESS; |
140 | OUT_DN(); |
141 | ausgabe_state = AUST_BEI_RUNTER; |
142 | }
|
143 | else
|
144 | {
|
145 | OUT_NEITHER(); |
146 | }
|
147 | break; |
148 | case AUST_BEI_HOCH : |
149 | OUT_UP(); |
150 | if (0U == warte) |
151 | {
|
152 | warte = DURATION_RELASE; |
153 | ausgabe_state = AUST_NACH_HOCH; |
154 | }
|
155 | break; |
156 | case AUST_BEI_RUNTER : |
157 | OUT_DN(); |
158 | if (0U == warte) |
159 | {
|
160 | warte = DURATION_RELASE; |
161 | ausgabe_state = AUST_NACH_RUNTER; |
162 | }
|
163 | break; |
164 | case AUST_NACH_HOCH : |
165 | OUT_NEITHER(); |
166 | if (0U == warte) |
167 | {
|
168 | if (steps_to_go > 0) |
169 | {
|
170 | if (steps_to_go > STEPS_TO_DEC) |
171 | {
|
172 | steps_to_go -= STEPS_TO_DEC; |
173 | }
|
174 | else
|
175 | {
|
176 | steps_to_go = 0; |
177 | }
|
178 | }
|
179 | ausgabe_state = AUST_IN_RUHE; |
180 | }
|
181 | break; |
182 | case AUST_NACH_RUNTER : |
183 | OUT_NEITHER(); |
184 | if (0U == warte) |
185 | {
|
186 | if (steps_to_go < 0) |
187 | {
|
188 | if (steps_to_go < -STEPS_TO_DEC) |
189 | {
|
190 | steps_to_go += STEPS_TO_DEC; |
191 | }
|
192 | else
|
193 | {
|
194 | steps_to_go = 0; |
195 | }
|
196 | }
|
197 | ausgabe_state = AUST_IN_RUHE; |
198 | }
|
199 | break; |
200 | case AUST_NACH_UNBEKANNT : |
201 | OUT_NEITHER(); |
202 | if (0U == warte) |
203 | {
|
204 | ausgabe_state = AUST_IN_RUHE; |
205 | }
|
206 | break; |
207 | default:
|
208 | OUT_NEITHER(); |
209 | warte = DURATION_STARTUP; |
210 | ausgabe_state = AUST_NACH_UNBEKANNT; |
211 | break; |
212 | }
|
213 | }
|
214 | }
|
kann doch nicht so schwer sein...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.