Forum: Mikrocontroller und Digitale Elektronik Taste drücken bei Tastenatrix


von Gerald M. (gerald_m17)


Lesenswert?

Hallo,

ich bastle gerade mit den AVRs herum, und stehe hier vor einem Problem.
Ich möchte ein "Sautelefon" bauen, was mein Papa in den Wald auf Futter 
legt, und sobald es umfällt (wenn es eine Sau umwirft), ruft es meinen 
Dad an (grüne Hörertaste zwei mal).
Bis jetzt hatte ich das immer ohne µC, einfach einen 
Erschütterungsschalter an die grüne Taste gelötet, und beim umfallen hat 
es wegen dem prellen mehrmals auf den grünen Hörer gedrückt.
Das Problem daran ist die Akkulaufzeit, da das Handy an sein musste.

Deswegen soll jetzt der µC helfen.

Das Programm soll folgendermaßen ablaufen:

Interrupts aktivieren
PowerDown Modus
Bei Erschütterung (Interrupt) Handy anschalten
warten
2x grüne Hörertaste drücken
warten
Ausschalten

Soweit ist das kein Problem, doch folgendes Problem kann ich nicht 
lösen:

Wie drücke ich die Handytaste, wenn diese eine Matrix ist?
Ein Relais ist relativ groß und teuer (mehrere Handys)
Funktioniert eventuell schon ein Transistor?
Matrix Signal in der Tastaturzeile abpassen und ein Signal auf die 
entsprechende Spalte geben?
Gibt es da ein "normales" vorgehen?
Danke schonmal

Grüße
Gerald

von Edi R. (edi_r)


Lesenswert?

Nimm doch einfach ein Reedrelais, das ist weder groß noch teuer. Eine 
andere Möglichkeit wäre ein Optokoppler, aber ob das mit Deiner Matrix 
funktioniert, musst Du ausprobieren.

von Anja (Gast)


Lesenswert?

Hallo,

Falls maximal 1mA Strom benötigt wird reicht auch ein CMOS-Schalter

z.B. http://www.conrad.de/ce/de/product/171735/

Gruß Anja

von Wolfgang H. (frickelkram)


Lesenswert?

Hallo,
ich habe mal eine Fernsteuerung für ein Handy gebaut und dafür mehrere 
Analogschalter vom Typ CD4066 genommen. Das hat gut funktioniert.
Da in jedem IC vier Schalter drin sind könntest Du noch drei Tasten 
zusätzlich nutzen.
http://www.instructables.com/id/Samsung-MOD-fixed-...-mobile-...-TV/step2/Hairy-device-/
Der Link zeigt einen frühen Prototypen. Später hing das am USB-BUS eines 
Servers.

von Gerald M. (gerald_m17)


Lesenswert?

Hallo,

also ich habe das nun mit einem cd4066 realisiert. Das funktioniert auch 
gut. Nur ist der Platz im Handy etwas gering (der ist größer wie der 
ATTiny).

Was spricht denn dagegen, einfach einen Transistor zu nehmen? Da der 
ATTiny ja die Spannung vom Handy bekommt (also gleiche Masse haben) 
sollte das doch funktionieren, oder?
Das würde halt die Extra Spannungsversorgung sparen, und eben mehr 
Platz.

von holger (Gast)


Lesenswert?

>Das würde halt die Extra Spannungsversorgung sparen, und eben mehr
>Platz.

Wofür brauchst du mehr Platz?

von Gerald M. (gerald_m17)


Lesenswert?

Ich brauche nicht mehr Platz, sondern der vorhandene ist stark begrenzt.
Mich würde aber einfach das technische daran interessieren, warum kein 
Transistor.

von holger (Gast)


Lesenswert?


von Gerald M. (gerald_m17)


Lesenswert?

Danke, CMOS Schalter habe ich auch hier. Der cd4066 ist im Prinzip 4 
davon. Hier müssen, da ich 2 Schalter brauche, noch einmal 2 zusätzliche 
Leitungen gelegt werden.

Wie gesagt, würde mich interessieren warum man keinen transistor benutzt

von MaWin (Gast)


Lesenswert?

> warum man keinen transistor benutzt

Da niemand weiss, auf welche Art und Weise die Tasten in der 
Tastenmatrix des Telefons abgefragt werden, und du es auch nicht 
ausgemessen hast und hier beschrieben hast, mit welchen Spannungen 
welcher Polarität ob im Multiplex oder statisch oder analog als 
Spannungsteiler, und man nur weiss, daß wenig Strom bei geringer 
Spannung fliesst, nimmt man den Analogschalter, denn der schafft es 
ziemlich sicher.

Ein Transistor leitet nur in eine Richtung, also wäre schon mal die 
Polarität der Tasten wichtig, und ist nicht potentialfrei, also müsste 
man eruieren, an welchen Anschluss (nicht unbedingt Minus) die Masse des 
schaltenden uC muss, und eignet sich nicht für alle üblichen 
Tastenabfrageverfahren.

von Wolfgang H. (frickelkram)


Lesenswert?

Hi Gerald,

Gerald m. schrieb:
> Hallo,
>
> also ich habe das nun mit einem cd4066 realisiert. Das funktioniert auch
> gut. Nur ist der Platz im Handy etwas gering (der ist größer wie der
> ATTiny).

stimmt, aber dafür hast Du 4 Analogschalter in einem Gehäuse. Ich habe 
in der endgültigen Version die SMD-Variante vom 4066 genutzt;
http://www.reichelt.de/ICs-C-MOS-SMD/SMD-4066/3/index.html?&ACTION=3&LA=446&ARTICLE=18483&GROUPID=2925&artnr=SMD+4066
Meiner Meinung nach ist der kleiner als wenn Du es mit normalen 
Transistoren aufbauen würdest. Ich glaube sogar das es kleiner ist als 
wenn Du versuchst das mit SMD-FETs nach zu bauen. Da gehören dann ja 
auch noch ein paar Widerstände dazu. Wenn Du nicht weist wie die 
Tastatur-Matrix funktioniert musst Du unter Umständen 2 FETs für jeden 
Matrixknoten verwenden, das ist dann bestimmt größer als ein 4066 in SMD 
Bauform.

> Was spricht denn dagegen, einfach einen Transistor zu nehmen? Da der
> ATTiny ja die Spannung vom Handy bekommt (also gleiche Masse haben)
> sollte das doch funktionieren, oder?

Das ist eben die Frage. Wie funktioniert die Matrix denn? Du müsstest 
erst mal heraus finden wie die Zeilen und Spalten geschaltet werden. An 
jeder Taste musst Du heraus finden an welchem Pin die Zeile bzw. die 
Spalte angeschlossen ist.

> Das würde halt die Extra Spannungsversorgung sparen, und eben mehr
> Platz.

Wofür hast Du eine extra Spannungsversorgung? Der CD4066 kann doch an 
die Spannungsversorgung des Tiny angeschlossen werden. GND solltest Du 
zw. Handy und Tiny incl. 4066 verbinden. Aber eine extra 
Spannungsversorgung benötigst Du meiner Meinung nach nicht. Ich habe das 
Ganze Zeug damals aus dem USB-Port mit 5V versorgt (die finale Version 
hat nicht mehr auf dem Parallelport des PC basiert).

"Leitungen" habe ich nicht verwendet, sondern "Fädeldraht". Das ist sehr 
dünner lackierter Kupferdraht. Der braucht nicht viel Platz. Der Lack 
brennt beim Löten ab, dadurch ist der Draht sehr leicht zu verwenden.

von Gerald M. (gerald_m17)


Lesenswert?

Danke schon mal.
Der attiny und der cd4066 sind bereits in SMD Größe verbaut.
Mit zusätzlicher Stromversorgung waren nur die zusätzlichen kabel 
gemeint, um die Spannung an den cd4066 zu bringen.
Schalter brauche ich nur 2 Stück.
Mit einem transistor könnte ich eben kollektor und emitter an die tasten 
anschließen, eine Nische für einen SMD Transistor findet sich schnell. 
Dann muss nur noch ein kabel vom Gate an den ATTiny. Das ganze 2 mal. So 
muss ich über das ganze Handy (da der cd4066 nur an eine stelle passt) 
Plus und Minus legen und zu dem Schalter wieder über das ganze Handy 4 
Leitungen zu den Tasten legen. Das sieht insgesamt so schlecht aus, dass 
ich mich nicht einmal traue ein Bild davon herein zu stellen :D

Die Tastenmatrix ist insgesamt relativ gut dokumentiert ( wie bei allen 
alten nokia handys, die service manuals und schemata gibt esim internet)

Sie ist digital, und es gibt sogar direkte abgriffpads unter dem 
display. Wenn ich zuhause bin kann ich das Schema anhängen.
Die polarität sollte ich ja mit einem einfachen true RMS Multimeter 
messen können.
Brauche ich sonst nich etwas? Der Basiswiderstand kann ja wahrscheinlich 
relativ frei gewählt werden, da ja eh nicht viel Strom fließt und der 
Transistor im Sättigungsbereich schalten soll (niedrigster Widerstand)

von Gerald M. (gerald_m17)


Angehängte Dateien:

Lesenswert?

Den alten Beitrag kann ich leider nicht mehr editieren.
Das Schema ist angehängt. Die Pads mit den Nummern J24xx sind unterm 
Display zugänglich.

von Reinhard Kern (Gast)


Lesenswert?

Gerald m. schrieb:
> Das Schema ist angehängt.

Und wo siehst du da ob Rows und Columns positiv oder negativ sind? Das 
solltest du wissen bevor du irgenwo irgendwie einen Transistor anlötest.

Gruss Reinhard

von Gerald M. (gerald_m17)


Lesenswert?

Reinhard Kern schrieb:
> Und wo siehst du da ob Rows und Columns positiv oder negativ sind? Das
> solltest du wissen bevor du irgenwo irgendwie einen Transistor anlötest.


Gerald m. schrieb:
> Die polarität sollte ich ja mit einem einfachen true RMS Multimeter
> messen können.

Grüße
Gerald

von Wolfgang H. (frickelkram)


Lesenswert?

Hallo Gerald,

Gerald m. schrieb:
> Danke schon mal.
...
> Die polarität sollte ich ja mit einem einfachen true RMS Multimeter
> messen können.

Ich denke Du kannst das nur mit einem Oszilloskop messen. Da die Matrix 
im Multiplex-Betrieb läuft, wird Dir Dein Multimeter nicht viel nützen.

> Brauche ich sonst nich etwas? Der Basiswiderstand kann ja wahrscheinlich
> relativ frei gewählt werden, da ja eh nicht viel Strom fließt und der
> Transistor im Sättigungsbereich schalten soll (niedrigster Widerstand)

Ich würde es mit SMD-FETs versuchen, dann sparst Du Dir die Widerstände 
auch noch. Ob High- oder Lowside-Switch muss dann die Messung zeigen.
Das Ganze scheint mit recht kleiner Spannung betrieben zu werden. Im 
Plan steht 1,8 und 2,8 Volt. Da wirst Du schon spezielle FETs nehmen 
müssen damit die bei den mickrigen Spannungen durch schalten.

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.