Ich suche nach einem Teil, mit dem ein Benutzer eine Konfiguration häufig ändern kann. Im Moment verwende ich einen SMD-DIP-Schalter, der an einen I2C-E / A-Expander angeschlossen ist.
Was mich stört, ist der große Platzbedarf dieser Komponenten (DIP-Schalter kombiniert mit IO-Expander-IC) sowie die recht langwierige Benutzeroberfläche. Gibt es DIP-Schalter oder etwas, das dieselbe Funktion erfüllt, mit der ich über einen digitalen Bus wie I2C sprechen kann, um seinen Status zu lesen?
Ich bin auch offen für ganz andere Ansätze. Ich brauche nur etwas, das dauerhaft mechanisch verändert werden kann und mindestens 64 verschiedene Zustände zulässt. Es ist wichtig, dass die Konfiguration vorgenommen werden kann, wenn die Schaltung nicht eingeschaltet ist, und dem Benutzer eine visuelle Rückmeldung über die genaue Konfiguration gibt. Die einzige Möglichkeit, die Schaltung einzuschalten, besteht darin, dass die Konfiguration und die visuelle Rückmeldung in sich geschlossen sind, ohne dass eine Steuerung durch einen Mikrocontroller oder SoC erforderlich ist.
Die Frage hat etwas mit dieser Frage von vor 6 Jahren zu tun: DIP-Schalter ersetzen
Bearbeiten: Es gibt einige großartige Vorschläge in den Antworten und ich denke, ich lasse diese Frage unbeantwortet. Community-Abstimmungen sollten entscheiden, was hilfreich ist und was nicht. Wenn Sie das gleiche Problem haben wie ich, lesen Sie alle Antworten durch.
Antworten:
Sie können einen SIP-Schalter anstelle eines DIP verwenden. Durch das Einsparen des Kartenbereichs erhalten Sie Platz für Ihre I2C-Schnittstelle (oder eine einfachere Schnittstelle wie ein Schieberegister mit Eingangsverriegelung):
Das Bild zeigt es horizontal, aber es wird tatsächlich vertikal montiert.
quelle
"DIP Schalter
Zunächst muss ein "DIP" -Schalter nicht groß sein. Hier ist ein 6-Bit-SMD-Switch mit J-Hook-Pins und einem Abstand von 1,27 mm:
Potentiometer
Wenn Sie den Platzbedarf unbedingt reduzieren möchten und den Benutzer ein wenig belästigen können, können Sie ein Potentiometer verwenden, das an einen A / D-Wandler angeschlossen ist. Da Sie 64 Einstellungen benötigen, sollte ein 12-Bit-Konverter mehr als genug Auflösungsspielraum haben, um zwischen den Schritten zu unterscheiden, da einige elektrische und Software-Filter und Schwellenwerte vorhanden sind. Hier ist eine 2 x 2 mm Lösung:
Ich habe jedoch noch nie ein analoges Potentiometer mit 64 physischen Arretierungen gesehen. Dies bedeutet, dass Sie bei der Konfiguration des Geräts kein zuverlässiges taktisches Feedback für den Benutzer erhalten. Es ist auch schwierig, die richtige Einstellung beim Booten zuverlässig zu finden, da sie auf einem Schwellenwert zwischen zwei Einstellungen belassen werden kann. Ich würde die vorherige Einstellung in einem EEPROM speichern, und wenn das Potentiometer nahe genug am gespeicherten Wert beim Booten liegt, I. würde sie als gleich betrachten.
Außerdem würde ich diesen 2 x 2 mm Trimmer wahrscheinlich nicht verwenden, aber es gibt Tausende verschiedener Trimpots.
quelle
Haben Sie einen Ersatz-ADC?
Wenn Sie einen 8-Bit-Ersatz-ADC auf einem nahe gelegenen Mikrocontroller haben, könnten Sie den E / A-Expander wahrscheinlich zugunsten eines Widerstandsnetzwerks fallen lassen - entweder einer R-2R-Leiter oder einer binär gewichteten Leiter. Das würde die Schalterpositionen als Analogpegel codieren. Widerstandsleitern sind in sehr kleinen Paketen erhältlich, aber ich weiß nicht, ob Sie eine kleiner als Ihren I2C-Expander erhalten.
Wie viele Allzweck-E / A-Leitungen haben Sie?
Wenn Sie mit weniger E / A-Leitungen auskommen, können Sie vielleicht den E / A-Expander fallen lassen und die verwenden, die Sie haben? Sie können die Switches auf weniger als sechs E / A-Leitungen multiplexen. Wenn Sie Platz für 3 Dioden haben und Ihr Mikrocontroller über Tristate-Pins verfügt, können Sie mit nur 3 Pins auskommen.
Können Ihre Benutzer etwas Technisches verwalten?
Wenn Ihre Benutzer den Anweisungen folgen können und sich die Konfiguration nur selten ändert, können offene Klemmen vorhanden sein, an denen sie einen Widerstand einsetzen können. Sie würden den Widerstand mit einem ADC oder durch Messen der Zeitkonstante messen, die er gegen einen Kondensator erzeugt. Sie müssten in der Lage sein, 64 Widerstandswerte zu unterscheiden, was bei letzterem Ansatz schwierig sein könnte. Und natürlich müssten Ihre Benutzer die richtigen Widerstandswerte / Gehäusestile zur Hand haben.
quelle
Ein oder mehrere codierte Drehschalter sind das, wonach Sie suchen.
Theoretisch bieten Jumper mehr Konfigurationen, wenn Sie Hunderte von Optionen benötigen, da Benutzer eine beliebige Anzahl von Optionen in verschiedenen Konfigurationen kurzschließen, Widerstände, Kondensatoren, Dioden usw. hinzufügen können. Dies ist jedoch sehr technisch für Benutzer und für die Entschlüsselung der Karte!
quelle
NFC NTAG vom NXP + Smartphone. Grundsätzlich handelt es sich um ein I2C-EEPROM, das auch ohne Systemstromversorgung über NFC gelesen und geschrieben werden kann.
quelle
Viele tolle Möglichkeiten hier! Noch etwas Unklares: Verwenden Sie einen IR-Empfänger und dann eine TV-Fernbedienung oder einen Computer, um über die Einstellungen zu strahlen. So machen es die RGB-Lichter.
quelle
Während ich dies recherchierte, bekam ich eine Empfehlung für Drehschalter. Ihr Platzbedarf ist vergleichbar mit einem etwas äquivalenten 1,27-mm-DIP-Schalter. Obwohl sie meiner Meinung nach im Vergleich zu DIP / SIP-Switches eine weitaus bessere Benutzeroberfläche bieten.
Anstatt eine Dezimal- oder Hexadezimalzahl in eine Binärzahl umzuwandeln und eine Menge kleiner Schalter zu betätigen, können Sie einfach 1 oder 2 dieser Drehschalter drehen und mit Hexadezimalzahlen arbeiten. Es ist viel einfacher, einen Benutzer anzuweisen, E6 "einzugeben", als ihn anzuweisen, viele Schalter in einem bestimmten Muster zu betätigen.
quelle
Ein anderer Ansatz könnte ein Drehgeber, ein EEPROM und 6 kleine LEDs sein.
Der Status wird im EEPROM gespeichert und die LEDs zeigen den aktuell ausgewählten Modus an.
Durch Drehen des Encoders wird zwischen den Modi gewechselt.
Wahrscheinlich sparen Sie auch nicht viel Platz - Ihr typischer Encoder hat eine 6-mm-Welle und dann benötigen Sie auch Platz für die LEDs.
Nur einen einzigen Drehschalter zu verwenden, sieht nicht vielversprechend aus. Bei 64 Positionen würden Sie knapp 6 ° pro Position haben, da Sie das Gefühl haben oder dass das Beschriften schwierig wird.
Lesen Sie einfach Ihren Kommentar @Trevors Antwort, so ist dieser Ansatz auch nutzlos.
quelle
Drei Optionen.
Analog. Ein einstellbarer Spannungsteiler. Der Benutzer liefert seine eigenen Standardwiderstände im Bereich von 5%, um den Wert einzustellen.
PWM. Eine optisch isolierte PWM- oder RC-Schaltung mit 64 Schritten, die Ihr Gerät liest. Sie können separat oder von derselben Quelle mit Strom versorgt werden. Da sie jedoch optisch isoliert sind, ist Ihr Gerät nicht eingeschaltet. Sie können die PWM-Schaltung nach dem Start deaktivieren.
Digital. Ein digitales Potentiometer mit Druckknopfsteuerung. Auch hier kann die Schaltung unabhängig von Ihrem Gerät mit Strom versorgt werden.
quelle
Daumenradgeber? Diese reichen von 0 bis 9, sind stapelbar und haben Binärausgänge:
quelle
Sie können jederzeit das I2C oder eine andere Schnittstelle, möglicherweise USB, herausbringen und den Benutzer sein Telefon mit einer benutzerdefinierten App anschließen lassen, mit der Sie eine interne EEPROM-Adresse konfigurieren können.
Die Verwendung einer Telefonanwendung kann jedoch recht problematisch sein. Sie müssten die App unterstützen und sich über die neuesten Technologien auf dem Laufenden halten, und Sie müssten viele Telefonanbieter unterstützen.
Oder Sie können einen benutzerdefinierten "Dongle" liefern, der angeschlossen wird, damit Sie ähnliche Aktionen ausführen können.
Aber ich bezweifle, dass es Ihnen viel Platz sparen würde.
Wenn Sie andere Benutzereingaben haben, z. B. zwei oder drei Tasten und eine Art Anzeige, können Sie das Gerät bei entsprechender Benutzereingabe auf den Tasten (Haltezeit usw.) auch in einen Programmiermodus versetzen und konfigurieren dieser Weg. Das Gleiche gilt für Haushaltsgeräte wie Thermostate, Wasserenthärter, Dosencomputer usw.
Mit zwei oder drei Tasten und einer LED können Sie eine Menge tun.
Wenn es konfiguriert werden muss, während es nicht mit Strom versorgt wird, stecken Sie ziemlich fest mit Schaltern oder Jumpern.
quelle