Forum: Mikrocontroller und Digitale Elektronik Drucktaster in Arduino simulieren


von Werner S. (globi)


Lesenswert?

Ist es möglich einen Drucktaster in einem Arduino Sketch zu simulieren 
d.h. kein Kippschalter (ein/aus bzw. digitalWrite) sondern nur ein 
Impuls wie ein Drucktaster. Ich möchte damit einen Song auf einem MP3 
Player abspielen lassen. Der MP3 Player benötigt einen Tastendruck zur 
Wiedergabe eines Songs - ein weiterer Tastendruck stoppt den Song dann 
wieder.

von Martin S. (mmaddin)


Lesenswert?

Pin an schalten
halbe Sekunde warten
Pin aus schalten

M

von Werner S. (globi)


Lesenswert?

Danke - damit ist wohl gemeint:

digitalWrite(x,HIGH);
delay(500);
digitalWrite(x,LOW);

das funktioniert leider nicht.

von Jörg R. (solar77)


Lesenswert?

Werner S. schrieb:
> Danke - damit ist wohl gemeint:
>
> digitalWrite(x,HIGH);
> delay(500);
> digitalWrite(x,LOW);
>
> das funktioniert leider nicht.

Du solltest schon den kompletten Sketch zeigen.

von Falk B. (falk)


Lesenswert?

Werner S. schrieb:
> digitalWrite(x,HIGH);
> delay(500);
> digitalWrite(x,LOW);
>
> das funktioniert leider nicht.

Und wo ist dein Schaltplan?

von Werner S. (globi)


Lesenswert?

Danke vorerst einmal. Ich werde das aufbereiten (Schaltplan, Sketch) und 
mich später wieder melden.

von Martin S. (mmaddin)


Lesenswert?

Werner S. schrieb:
> damit ist wohl gemeint:

zum Beispiel, ja.

Abgesehen davon das alles fehlt aber dennoch ein paar Hinweise.

- Die Pin direction muss gesetzt werden f.d. arduino
- Es muss klar sein ob die Taste Low-aktiv oder High-aktiv ist.
- Die Massen von Player und Arduino müssen verbunden sein
- Die Spannungen von beiden müssen berücksichtigt werden
- ggf. Pullups beachten
. Manchmal sind Tasten in einer Matrix abgefragt, dann geht da so 
sowieso nicht...


Viel Erfolg

von HildeK (Gast)


Lesenswert?

Werner S. schrieb:
> das funktioniert leider nicht.

Die Punkte, die mmaddin schon schrieb, müssen geklärt werden.

Ein Taster ist üblicherweise offen und beim Drücken wird er geschlossen. 
Das muss man nachbilden. Mit:
> digitalWrite(x,HIGH);
> delay(500);
> digitalWrite(x,LOW);
ist das nicht die richtige Nachbildung, denn das liefert kein 'Offen', 
sonder niederohmig HIGH oder LOW.
Aber mit dem Code könnte man einen bipolaren Transistor oder einen 
MOSFET ansteuern. Am wichtigsten dabei ist (siehe mmaddin):

- Es muss klar sein ob die Taste Low-aktiv oder High-aktiv ist.
- Die Massen von Player und Arduino müssen verbunden sein

Hier muss ich aber widersprechen, zumindest mit einem der genannten 
Transistoren geht auch das:
- Manchmal sind Tasten in einer Matrix abgefragt, dann geht da so
sowieso nicht...

von HildeK (Gast)


Lesenswert?

Werner S. schrieb:
> Ich werde das aufbereiten (Schaltplan, Sketch) und
> mich später wieder melden.

Meiner Ansicht nach am Wichtigsten: wie ist der Taster des Players 
angeschlossen? Messe einfach mal die Spannung an den beiden Tasterpins 
in Bezug zur Masse (offen und geschlossen) ...

von Jester (Gast)


Lesenswert?

HildeK schrieb:
> Werner S. schrieb:
>> Ich werde das aufbereiten (Schaltplan, Sketch) und
>> mich später wieder melden.
>
> Meiner Ansicht nach am Wichtigsten: wie ist der Taster des Players
> angeschlossen? Messe einfach mal die Spannung an den beiden Tasterpins
> in Bezug zur Masse (offen und geschlossen) ...

Weils nicht für mich, oder zumindest nicht für jemandem mit 
verlässlichem Grundwissen ist, würde ich ganz pragmatisch zu einem 
Relais (fertigen Shield für 1€50) raten.

Weg-optimieren kann der TO - so er kann - den "Shield" danach noch 
immer.

von Schlaumaier (Gast)


Lesenswert?

Wechsel den mp3-Player.

Wenn ich schon ein Arduino einsetze dann kann ich auch die 3 Euro für 
den mp3-Player opfern. ;)

Und da brauche ich so Spielereien nicht. Entweder ich löse den Befehl 
mit einen richtigen Taster aus, oder einfach mit den Aufruf einer 
sub_routine.

von Forist (Gast)


Lesenswert?

Werner S. schrieb:
> Danke vorerst einmal. Ich werde das aufbereiten (Schaltplan, Sketch) und
> mich später wieder melden.

Das hätte dir auch 36 Minuten früher einfallen können.

Warum stellst du hier eine Frage, bevor du die Informationen dazu 
zusammen hast?

von Martin S. (mmaddin)


Lesenswert?

Forist schrieb:
> Das hätte dir auch 36 Minuten früher einfallen können.

https://www.quarks.de/gesellschaft/psychologie/darum-halten-wir-uns-im-nachhinein-fuer-schlauer/

"Wer ist anfällig für den Rückschaufehler?" dort den zweiten Absatz mal 
lesen.

Was den Kommentar angeht, einfach mal in Erwägung ziehen dass der 
Fragensteller vielleicht gerade mit einem technischen Problem zu kämpfen 
hat und nicht bis ins Detail darauf bedacht ist hier direkt eine zu 100% 
lupenreine und komplette Fragestellung zu präsentieren. Mit etwas 
Empathie für diese Situation könnte man auch von allein auf diese Idee 
kommen. Zudem führen selbst sehr gut ausgeführte Fragen zu 
minderwertigen Antworten, es ist eben ein Stück weit einfach nur 
menschlich sich dem Problem zu nähern.

Am Rande bemerkt könntest du es im gleichen Zuge auch positiv heißen, 
dass der Fragensteller sehr schnell von sich aus angeboten hat es 
genauer zu beschreiben, leider fehlt das aber in deinem Beitrag 
gänzlich.
Du solltest dich mal fragen warum und ggf. erstmal in deinem Vorgarten 
aufräumen.

M.

von energieberatender (Gast)


Lesenswert?

M. schrieb:

> Was den Kommentar angeht, einfach mal in Erwägung ziehen dass der
> Fragensteller vielleicht gerade mit einem technischen Problem zu kämpfen
> hat und nicht bis ins Detail darauf bedacht ist hier direkt eine zu 100%
> lupenreine und komplette Fragestellung zu präsentieren. Mit etwas
> Empathie für diese Situation könnte man auch von allein auf diese Idee
> kommen.

Es sind doch hier immer die gleichen Gestalten, die immer alles ganz 
genau wissen möchten um im Anschluss dann doch nie zielführende Hilfe 
anbieten.
Sondern sich, wohl zum Zwecke der Selbstbestätigung, auf jeden winzigen 
Fehler stürzen, das ganze Projekt in Frage stellen und im Endeffekt für 
sinnlos erklären.

Da kann man dem TO nur den gut gemeinten Ratschlag geben, in die 
"forumsgerechte" Aufbereitung nicht zu viel Zeit zu investieren. 
Hilfsbereite Teilnehmer werden auch so versuchen zu helfen, die üblichen 
Pöbler auch mit den ausführlichsten Infos nicht.

Aufgabe an den TO zur Eingrenzung des Fehlers: Statt des MP3 Players 
eine LED nebst Vorwiderstand an Pin x anschließen. Blinkt diese mit dem 
aktuellen Sketch kurz auf?

von Wolfgang (Gast)


Lesenswert?

energieberatender schrieb:
> Aufgabe an den TO zur Eingrenzung des Fehlers: Statt des MP3 Players
> eine LED nebst Vorwiderstand an Pin x anschließen. Blinkt diese mit dem
> aktuellen Sketch kurz auf?

Vielleicht schaltet der Taster am MP3-Player gar nicht gegen Masse.
Ein Optokoppler/OptoMOS könnte dann helfen.

von energieberatender (Gast)


Lesenswert?

Wolfgang schrieb:
> energieberatender schrieb:
>> Aufgabe an den TO zur Eingrenzung des Fehlers: Statt des MP3 Players
>> eine LED nebst Vorwiderstand an Pin x anschließen. Blinkt diese mit dem
>> aktuellen Sketch kurz auf?
>
> Vielleicht schaltet der Taster am MP3-Player gar nicht gegen Masse.

Mir ging es zunächst einmal nur darum, festzustellen ob der Fehler auf 
der Seite der Software/Sketch/Arduino liegt oder in der Hardware zur 
Ansteuerung des Players.

> Ein Optokoppler/OptoMOS könnte dann helfen.

Wenn der Fehler in der Ansteuerung des Players liegt, dann ist das eine 
Möglichkeit.

von Werner S. (globi)


Lesenswert?

Vielen Dank an alle Antwortenden - einige Antworten haben mich weiter 
gebracht. Ich konnte das Problem in der Zwischenzeit lösen und starte 
und stoppe nun via einen Optokoppler mit dem eingangs des Threads 
erwähnten Ansatz einzelne Lieder ein und aus, wie ich das von Anfang an 
geplant hatte. Ein Reset des Arduino und des MP3-Players brachte die 
Lösung!
PS: dies war meine erste Frage in diesem Forum. Ich bin überaus 
begeistert, wie schnell und hilfsbereit Einige waren. Von andern 
Antworten, bin ich immer noch schockiert! Danke, dass dies nochmals 
aufgenommen wurde und ich mich vielleicht nochmals getraue eine Frage zu 
stellen.

von HildeK (Gast)


Lesenswert?

Werner S. schrieb:
> Von andern
> Antworten, bin ich immer noch schockiert! Danke, dass dies nochmals
> aufgenommen wurde und ich mich vielleicht nochmals getraue eine Frage zu
> stellen.

Du darfst dich gerne trauen, musst halt ein dickes Fell mitbringen und 
imstande sein, die Spreu vom Weizen zu trennen. 😀
Dann ist eigentlich immer was dabei, was weiter hilft. Wenn es zu weit 
abdriftet, kann es auch daran liegen, dass sich jeder was anderes 
vorstellt, d.h. die Frage war zu ungenau gestellt. Dann hilft, auf die 
Rückfragen zügig und genau einzugehen, bevor die halbe Elektronik durch 
diskutiert wurde.😉

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
Noch kein Account? Hier anmelden.