• 07.07.2025, 00:55
  • Register
  • Login
  • You are not logged in.

 

Defence1

Senior Member

Touchscreen Taster ?

Thursday, September 10th 2009, 5:50pm

Hi zusammen, ich möchte mich mal an ein neues Thema ranwagen:
es gibt ja solche Taster die man unter Glas anbringen kann.
Wie kann ich sowas für on off und reset am pc realisieren ?
Ich bitte euch auch um eventuelle taszervorschläge und sonstiger benötigter Teile, am besten von Conrad da der bei mir um die Ecke ist...
Danke für eure Hilfe...
Mein System:
ASUS Crosshair II, AMD Phenom II X4 940 BE, ASUS GTX 295, CREATIVE X-FI Elite Pro, Silverstone RAVEN, Aquastream XT USB Ultra, Aquaero, Dualradi, MO-RA, Graka wassergekühlt, CPU wassergekühlt.

LotadaC

God

Thursday, September 10th 2009, 8:04pm

Hi,

Afaik gibt es solche Taster(systeme) schon als komplettes (fertiges) Bauteil - such mal nach "kapazitive Taste" oä.

Ansonsten hatte ich mir hier mal Gedanken zu was ähnlichem gemacht, allerdings mit nicht wirklich brauchbaren Resultaten. Ich hatte dafür aber bisher keine Zeit mehr - jedoch noch ein paar Ansätze (Korrekturen/Versuche) dazu:

1.:Taktfrequenz des Mikrokontrollers erhöhen

2.:einen geeigneten (hochohmigen) Widerstand parallel zum Sensor-Kondensator (um ein sicheres entladen zu gewährleisten, und das Laden zu verzögern)

3.:hatte ich den entsprechenden Prozessorpin als Eingang programmiert (DDRx.n=0) und dann den PORT an/abgeschaltet - bei PORT=0 und DDR=0 liegt der Pin aber nicht auf masse, sondern ist hochohmig - somit bin ich (durch selbstentladung etc...) also immer grad so unter der high-Pegel-Schwelle gewesen, statt auf Masse -> kein messbarer Unterschied. Zum Entladen muß der entsprechende Pin also ein Ausgang sein - zum Laden wegen des verwendeten internen Pullup jedoch Eingang. (sollte Punkt 2 ersetzen).

(4.:Kapazität des Sensor-Kondensators erhöhen. Dazu wären aber entweder mehr (feinere) Leiterbahnen nötig, und/oder generell eine größere (Taster-)Fläche. Ich selbst bekomme (auf Folie) keine feineren Ausdrucke hin, zumal ich wegen Deckfähigkeit die Folie doppelt lege - und `ne professionelle Fertigung ist mir diese "Vielleich-gehts-Spielerei" nicht wert...)



Edit: Achso, Deine Frage kann man ja auch so verstehen, daß Du solch einen (fertigen) Taster schon (gefunden) hast...

wenn ja: Datenblatt?

(Die Dinger sollten eigentlich einen Stromanschluß (Versorgungsspannung für den "Taster" selbst und Masse) und den Schaltkontakt (also 2 weitere Anschlüsse) haben - dazu kann dan nat noch mehr kommen (Kalibration, mehrpolige Schaltkontakte, was weiß ich...))

This post has been edited 1 times, last edit by "LotadaC" (Sep 10th 2009, 8:09pm)

Defence1

Senior Member

Thursday, September 10th 2009, 8:22pm

Hi,
also ich habe sowas schonmal in nem Forum gesehen, der hatte fertige Taster, leider weiß ich nicht mehr welches forum und auch nicht mehr woher :-(( allerdings gibt's in aerocoolgehäusen so nen touchpanel und ich hab schon überlegt eins zu Schlachten ....
Mein System:
ASUS Crosshair II, AMD Phenom II X4 940 BE, ASUS GTX 295, CREATIVE X-FI Elite Pro, Silverstone RAVEN, Aquastream XT USB Ultra, Aquaero, Dualradi, MO-RA, Graka wassergekühlt, CPU wassergekühlt.

Manni24

Senior Member

Friday, September 11th 2009, 4:54pm

Wie wärs mit einer Photozelle? müsste durch Glas eigentlich funktionieren und ist soweit ich weiss bei Conrad oder so erhältlich (gibts als fertige öffner oder schliesser Kontakte), die reagiert auf Bewegungen in einem Bestimmten Abstand vor dem Sensor, als reset nur etwas schlecht wenn da grad eine Fliege ist... :P
Sicherer wäre ein Initiator, die müssten eigentlich auch durch Glas funktionieren, reagieren allerdings nur auf Metallische Gegenstände, wenn du sowieso immer eine Uhr oder n Ring trägst kein Problem, sonst eher doof^^

Ich such die Bauteile mal raus, kann aber dauern...

Gruss

Aber hey! wenn schon dann richtig! ein Chipkartenleser hinter die Scheibe bauen, am Relaisausgang den Power-on switch aufs Mainboard, Rechnerstart mit Chipkarte wär mal was neues :D

LotadaC

God

Friday, September 11th 2009, 6:44pm

Dann schon lieber RFID. Aber blöd, wennst zum resetten die Karte grad net findest :thumbdown:

Manni24

Senior Member

Friday, September 11th 2009, 7:28pm

Auch cool wär natürlich ein tastenfeld, dann braucht man pincodes für start und reset 8o
Ich glaub ich hab grad Verwendung für das OP7 Terminal das hier noch rumgammelt, irgendwie muss das doch zu schaffen sein :rolleyes:

[edit]
um beim Thema zu bleiben:

Als Photozelle käme sowas in Frage:
http://sensor.baumerelectric.com/productnavigator/scripts/product.php?pid=FEG_14_24_35&cat=CONFOptoelektronische_Sensoren&psg=opReichweite|920607365,opBauform|Bauform_zylindrisch&language=de&r=1&ptk=&country=CH&header=Switzerland+%2F+Baumer+Electric+AG

Bei den Initiatoren bin ich unsicher ob der kapazitive Sensor durch die Scheibe schalten kann oder die Scheibe ihn dauernd auslöst, mit Induktiven Sensoren (reagieren nur auf Leitfähiges Material) gehts auf jeden Fall.
http://sensor.baumerelectric.com/productnavigator/scripts/level2.php?cat=CONFInduktive_Sensoren&psg=inBauform|Zylindrisch_6_5_bis_8_mm,inProduktgruppe|_3_Leiter_Schaltausgang_alle&pid=Induktive_Naeherungsschalter_IFRM_06_kurz&language=de&country=CH&header=Switzerland+%2F+Baumer+Electric+AG&ptk=

Die beiden verlinkten Produkte sind nur als Beispiele gedacht, gibts auch von Siemens oder einigen 100 anderen Herstellern (auch in anderen Formen als die Stäbe), hab einfach den erstbesten genommen^^ wichtig zu wissen wär halt welche Spannungen und Ströme das Mainboard zum schalten braucht da man die Sensoren nicht einstellen kann.

[und nochmals edit]

grad gefunden, http://sensor.baumerelectric.com/product…mer+Electric+AG
das Ding arbeitet mit 2 Kontakten und begnügt sich mit 5V / 10mA, das müsste das Mainboard (grob geschätzt) doch aushalten.

This post has been edited 2 times, last edit by "Manni24" (Sep 11th 2009, 8:04pm)

Defence1

Senior Member

Saturday, September 12th 2009, 11:16am

Hi,
dann am ehesten noch RFID, dann lässt wenigstens meine Frau die Finger vom PC wenn ich auf Arbeit bin - kei Wunder wenn Sie Ihn net an bekommt....
Mein System:
ASUS Crosshair II, AMD Phenom II X4 940 BE, ASUS GTX 295, CREATIVE X-FI Elite Pro, Silverstone RAVEN, Aquastream XT USB Ultra, Aquaero, Dualradi, MO-RA, Graka wassergekühlt, CPU wassergekühlt.

LotadaC

God

Tuesday, September 15th 2009, 12:19pm

So, ich hab jetzt nochmal den hier



zwischen den Prozessorpin und Gnd gehängt, und dann das hier korrigiert

3.:hatte ich den entsprechenden Prozessorpin als Eingang programmiert (DDRx.n=0) und dann den PORT an/abgeschaltet - bei PORT=0 und DDR=0 liegt der Pin aber nicht auf masse, sondern ist hochohmig - somit bin ich (durch selbstentladung etc...) also immer grad so unter der high-Pegel-Schwelle gewesen, statt auf Masse -> kein messbarer Unterschied. Zum Entladen muß der entsprechende Pin also ein Ausgang sein - zum Laden wegen des verwendeten internen Pullup jedoch Eingang. (sollte Punkt 2 ersetzen).




Das ganze läuft immer noch im Polling - also Pin auf Masse (warten), dann erst DDR auf 0, danach PORT auf 1 (also GND -> Tristate -> High über Pullup). Jetzt in einer endlosschleife solange einen Zähler inkrementieren, bis am PIN (!) ein High-Pegel anliegt, Zähler über UART ausgeben und umschalten auf Masse (wieder über Tristate)...

Bringt aber alles keinen Unterschied zu vorher: Zähler ist 1 ("offen"), bei Berührung (!) irgendwo zw 10 und 100, aber es wird eben keine Annäherung detektiert.



Hab ich das so richtig verstanden? Der tatsächlich am Prozessorpin liegende Pegel wird über das PIN-Register gelesen, das "Ausgabeverhalten" wird über das DataDirectionRegister (DDR) und das PortLatchRegister (PORT) gesteuert. Dabei gilt:

DDR--------PORT--------Zustand am Prozessorpin

---0--------------0------------hochohmig (tristate)

---0--------------1------------über internen Pullup an Vcc (klar, Pullup)

---1--------------0------------Gnd

---1--------------1------------Vcc



Der Mega8 läuft mit den maximalen 8MHz, die der interne Taktgeber hergibt.

so, jetzt mal ein etwas veränderter Ansatz: als Zähler wird Timer1 mit InputCapture (steigende Flanke) verwendet. Das PORT-Register bleibt (immer) low, bei jedem TimerOverflow wird in der entsprechenden ISR das DDR getoggelt - somit schalte ich den Pin also zwische Gnd und Tristate hin und her. Verwendet wird also der InputCapturePin von Timer1 (ICP1) = PB0 beim Mega8. Am Pin liegt jetzt mein Sensor gegen Gnd, und ein (externer) hochohmiger (einige hundert kOhm?) Pullup (gegen Vcc). Bei jeder steigenden Flanke am ICP1 wird ja der Timer-Wert (automatisch) in das InputCaptureRegister geschrieben (ICR1), welches im Hauptprogramm ausgewertet/-gegeben werden kann. Der entsprechende Code sollte zB in Bascom in etwa so aussehen können:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'Kapataster-Test 
' D0,D1 = UART 
' B0 = ICP1 

$regfile = "m8def.dat" ' ATmega8 
$crystal = 8000000 ' @ 8MHz 
$baud = 19200 ' Programmer Baudrate 
$hwstack = 32 ' default use 32 for the hardware stack 
$swstack = 10 ' default use 10 for the SW stack 
$framesize = 40 ' default use 40 for the frame space 
Baud = 19200 ' COM Baudrate (HW-UART) 

Portb.0 = 0 
Ddrb.0 = 1 'erfordert externen Pullup, sonst ddr und port toggeln 
Config Timer1 = Timer , Prescale = 1 , Capture Edge = Rising 
Start Timer1 
On Ovf1 Pinstatechange 
Enable Int1 
Enable Interrupts 

Do 
Print Icr1 
Waitms 400 
Loop 

Pinstatechange: 
Toggle Ddrb.0 
Return


Hmm... vielleicht heut abend mal zusammenstecken und testen...



Edit:

Arghh... DIEBE!!! MÖRDER!!! VERRÄTERISCHES PACK!!! Wo sind denn Die tabulatoren im Quellcode geblieben? In der POST-Vorschau waren sie noch da - jetzt sindse wech...

This post has been edited 1 times, last edit by "LotadaC" (Sep 15th 2009, 12:45pm)

Defence1

Senior Member

Tuesday, September 15th 2009, 12:41pm

Bestellt hab ich bei Conrad schon :-)
sobald meine Ware da ist hab ich bestimmt auch resultate :-)
Mein System:
ASUS Crosshair II, AMD Phenom II X4 940 BE, ASUS GTX 295, CREATIVE X-FI Elite Pro, Silverstone RAVEN, Aquastream XT USB Ultra, Aquaero, Dualradi, MO-RA, Graka wassergekühlt, CPU wassergekühlt.

LotadaC

God

Tuesday, September 15th 2009, 4:11pm

Ähem... kann mir mal wer erklären, warum ich (*nicht jugendfreies Wort*) da oben in Zeile 18 den INT1 freigegeben hab? Muß doch Timer1 sein :cursing:

jetzt gehts jedenfalls, allerdings nicht mit meinem Sensor direkt - die verbindung zu Gnd abgezogen ist jetzt der Draht/die Fläche der Sensor. mit 1 MOhm als Pullup hab ich im Capture-Register so um die 330 zu stehen, nähere ich mich dem Drahtknäuel (ohne Berührung) bis auf wenige cm, gehts auf ca 350/60, bei Berührung der Isolation des Drahtes über 400, bei berührung des blanken Drahtes (Bein des Pullup) weit über 500. Durch ein Holzlineal gehts auch. Mit ner ordentlichen Sensorfläche sollte es also eigentlich klappen (also zB durch Glas), einen brauchbaren schwellwert muß man dann nat. noch Äh... experimentell ermitteln....

Similar threads