Keypad.h in Extrem

Liebe Gemeinde,
ich spiele gerade mit einem DF Player mini und bin über die Möglichkeiten der Kommunikation gestolpert.
Man kann dem Kleinen u.a. mit Tasten und Widerständen sagen was man möchte.

Ein Eingang, wenn dieser mit einem 100k Widerstand auf GND gezogen wird, startet Werbung, aber wenn am selben Eingang GND über 10k kommt, wird Lauter gestellt.

Oder so ähnlich, habe die Funktionen gerade nicht hier.

Vom Grunde her funktioniert das doch auch mit dem Arduino und der Keypad.h Idee?

Im Anhang habe ich mal eine Verdratung skizziert. Gibt es dafür schon eine Bibliothek? So kann ich nahezu unendlich Taster an einem Arduino abfragen.
Anzahl DO * Anzahl AI * 1024 (wenn man es übertreibt).

Liebe Grüße

raznz_snasna:
So kann ich nahezu unendlich Taster an einem Arduino abfragen.

Wegen der Rechengenauigkeit und Auflösung immer nur endlich.

raznz_snasna:
Anzahl DO * Anzahl AI * 1024 (wenn man es übertreibt).

Das wäre tatsächlich übertrieben. Mach mal praktische Tests, ob das überhaupt mit dieser Schaltung funktioniert. Möglicherweise benötigst Du noch einen Widerstand von A1 nach GND.

Vergleichbare Idee: Kommandozeilen-Berechnung einer 12-er und 16-er Tastatur an einem AVR

und warum steuerst du den Player nicht seriell an, wenn er doch schon am Arduino hängt?

Hi

Hier geht Es darum, ob man SO auch nicht Taster am Arduino unterscheiden kann.
Klares: Ja
Aber die Messwerte werden wackeln - die 1024 Möglichkeiten sind also bei Weitem nicht ausschöpfbar.
Auch musst Du mit den Widerstandswerte experimentieren - Papier ist geduldig und der Widerstandswert auf die 20.te Nachkommastelle bekannt (nämlich 0) - in der Realität sind die Werte 'etwas' gestreut und somit ergeben sich abweichende Spannungsteiler.

Machbar Ja, aber ob man mit einer externen Port-Erweiterung (MCP irgendwas, 8/16 I/Os) nicht schneller und sicherer am Ziel ist?
Was ich bereits hatte: Offene Verdrahtung in Nähe einer Klein-CNC lässt den MCP ALLES machen, nur nicht Das, was Er soll (oder Das geht in dem Chaos unter) - wie sich der Chip in direkter Nachbarschaft verhält, ist bei mir ungetestet, da I²C aber für 'auf gleicher Platine' und nicht 'auf gleichem Planeten' erschaffen wurde, dürften hier die Ergebnisse besser sein.

MfG

Das Prinzip mit den verschiedenen Widerstandswerten an Tastern (oder Stufenschaltern) an einem Analogeingang wird in der Praxis oft genutzt. Sogar im Kfz.
Oder im Modellbau bei z.B. Taranis

Hi

Dort spielt ja auch der Preis eine Rolle und nicht mein Frust-Potential :slight_smile:
Aber auch klar, daß man so an einem freien A6/A7 des Nano noch prima 'eine Hand voll Taster' angefriemelt bekommt - oder andere digitale Sensoren, Die den Taster via OptoKoppler o.Ä. 'betätigen' - Bei möglicher (und gewollter) Mehrfach-Betätigung wird man aber nicht um eine ganze Menge Messungen herum kommen, bevor die Grenzwerte im Programm festliegen.

MfG

ElEspanol:
und warum steuerst du den Player nicht seriell an, wenn er doch schon am Arduino hängt?

Hallo ElEspanol,
das tue ich schon. Für dieses Projekt benötige ich keine Taster am Arduino, geht alles über RFID.

postmaster-ino:
Machbar Ja, aber ob man mit einer externen Port-Erweiterung (MCP irgendwas, 8/16 I/Os) nicht schneller und sicherer am Ziel ist?

Als nächstes möchte ich eine "Spielesammlung" bauen.
Das Unterteil soll eine LED-Feld aus 10x10 WS2812 haben und drum herum sollen 4 "Bedienplätze" sein mit je 10 Status-LED (auch WS2812) und ein paar beleuchtete Taster (Beleuchtung natürlich auch mir WS2812)

Als Spielfeld soll es dann mehrere Auflagen geben, die Verschiedene Spielfelder darstellen.

4 Gewinnt
Reaktionsspiele
Farben zählen
....

Mit dem Nano und seinen 12 Ds bin ich auf 36 Taster beschränkt, ich möchte aber auch noch die Spielfelder per Read-Kontakte erkennen.

Hier werde ich wohl die Möglichkeit nutzen Widerstände perrallel anzuwerfen und zu sagen "wenn Read 1,3 und 4 an sind, kommt der AnalogWert 548 raus, dann ist es "4-Gewinnt"

Aber ich denke zu dem ganzen Spiel-Programm werden wir uns hier noch oft lesen.

ja, und vor allem wirst du auf einen anderen uC umsteigen müssen. Mega2560 oder ein Teensy sind da mit sicherheit eine bessere Basis, was Pins und Speicher angeht.