ich bin etwas mit der Programmierung von Arduinos vertraut, aber auf der elektrotechnischen Seite wesentlich besser aufgehoben.
Für mein Hobby als Cacher bin ich immer wieder auf der Suche nach neuen kniffligen Cachebehälter und somit bin ich in der Elektronikecke gelandet.
Aktuell schwebt mir folgendes vor, ich habe eine Anzahl (x) an Kippschalter, welche 0 oder 1 darstellen sollen. Vermutlich werden es jeweils bis zu 8 Schalter.
Diese sollen auf 0 oder 1 gesetzt werden und mit einem 9ten Taster dann ausgelesen und mit verschiedenen Zahlen bestückt zusammengerechnet werden.
Die Ausgabe muss über ein kleines Display erfolgen. Einzeilig sollte hier reichen.
Zur Verfügung hätte ich einen Arduino Nano und einen Arduino Uno. Der Nano wäre mir lieber, da ich den Behälter nicht unnötig vergrößern will und ein Nano auch günstiger zu ersetzen ist, wie ein Uno.
Ist meine Idee so überhaupt umsetzbar, oder verrenne ich mich hier in eine Idee? Also wäre es allein aus technischer Sicht überhaupt möglich, 9x Taster plus Display an Arduino Nano bzw. Uno anzuschließen?
Bzw. wie sieht es mit dem Speicherplatz aus? Es sollen nicht nur Zahlen sondern auch alle sonstige Ascii Zeichen dargestellt werden können.
Vermutlich müsste jeder der Schalter abgefragt werden, ob true/false und das Ergebnis dann in eine Variable übergeben werden. Diese Werte sollten dann ja zusamen addiert werden und als Variable an das Display bzw. als Zeichen im Ascii Code ausgegeben werden können.
Vielen Dank für alle eure Mühen
und Grüße aus Oberfranken
Chris
Das ist überhaupt kein Problem, weder mit Uno noch mit Nano.
Man könnte es auf verschiedene Arten lösen. Z.B. könntest du für die Schalter eine Widerstandsleiter bauen und sie über einen einzigen analogen Eingang auswerten, ähnlich wie hier:
Bedenke nur dass du deine Widerstände für Schalter die gleichzeitig betätigt sind, vielleicht etwas anders auslegen musst als für einzeln betätigte Taster.
Alternativ kannst du auch ein Schieberegister verwenden, und alle Taster und Schlater über nur 3 Arduino pins auswerten:
Eine weitere Alternative wäre multiplexing, was sich bei so wenigen Buttons aber noch nicht so recht lohnt.
Oder du benutzt einen I/O Expander, aber das fände ich eine Verlegenheitslösung - mit Kanonen auf Spatzen geschossen.
Wenn alle Stricke reißen kannst du ein Display mit serieller I²C Schnittstelle verwenden. Das belegt statt der 7(?) digitalen Pins die ein LCD benötigt nur zwei. Sollte aber gar nicht nötig sein.
Und ganz nebenbei: Die Analogen Eingänge können auch als digitale I/O Ports verwendet werden. Ich glaube wenn du das machst müsstest du schon ganz ohne weitere Tricks auskommen.
Und noch eine Anmerkung:
Mit den ASCII Zeichen bist du, vielleicht ohne es zu wissen, auf einem sehr guten Weg. Ein ASCII Zeichen (char) ist eine Variable in der Größe von 1Byte. 1Byte = 8Bit. 8 Bit = 8 Werte die jeweils 1 oder 0 sein können = 8 Schalter die an oder aus sein können. Was du da vor hast ist eine Binäre Eingabe für 1Byte große Werte (=ASCII Zeichen). Frühe Computer haben genau so funktioniert.
Es kommt natürlich darauf an was du genau vor hast.
Das Hauptproblem könnte die LED auf dem Arduino sein - Die saugt Dir die Batterie leer.
Klar kannst Du den Arduino auch schlafen schicken, die Power-LED bleibt davon aber unbeeindruckt.
Beim Display wäre die Hintergrundbeleuchtung ebenfalls sehr hungrig, kann aber meist abgeschaltet werden.
Für einen Nano, Den man wohl nie wieder sieht, ein sparsames ePaper verbauen (braucht nur Strom zum Wechseln der Anzeige), macht finanziell aber nun gar keinen Sinn.
Wenn's auch ein Cache wäre, Der Seines Gleichen sucht.
Danke schon mal für die konstruktiven Beiträge.
Ja mit Ascii kenn ich mich soweit aus (daher auch die max. 8 Schalter mit denen ich ja 0-255 darstellen kann in Binär). Das wäre jetzt eine weitere Option, evtl bleibt es aber auch nur bei einer fixen Zahl die erraten werden muss durch Schalterstellung.
Da bin ich mir noch nicht so ganz sicher.
Ich bin so oft auf Instructables.com, dieses mal NULL dran gedacht, dort zu schauen ;-). Danke!
Die Stromversorgung ist jetzt erst einmal Nebensache, denn entweder muss jeder selbst etwas mitbringen (Powerbank) oder ist mit einer festen Spannungsversorgung verdrahtet. Wie gesagt, da bin ich soweit schon fix genug ;-).
Ein USB-Anschluß zum Anschließen einer externen, geladenen Powerpack ist sicher die beste Idee für die Stromversorgung.
Man könnte es auf verschiedene Arten lösen. Z.B. könntest du für die Schalter eine Widerstandsleiter bauen und sie über einen einzigen analogen Eingang auswerten, ähnlich wie hier:
Geht gar nicht da so nicht mehrere Schalter (Taster) gleichzeitig abgefragt werden können. Wenn man I2C Display nimmt und ein Pin für die Magnetspule der Deckelverriegelung dann bleiben immernoch 17 Pins übrig, die man für das Auslesen der Schalter/Taster nehmen kann (Arduino UNO oder NANO oder Mini oder MICRO)
Alternativ kann man ienen Drehencoder (vor, zurück, enter) oder 4 Tasten (vor, zurück, enter und esc) nehmen und so ein Code-Wort einstellen und bestätigen. Dadurch reduziert sich der Pinaufwand auch. Alternativ können I2C Expander oder Schieberegister oder Analogmultiplexer jede menge Taster abfragen (si viele bekommst Du gar nicht ins Gehäuse montiert).