• 28.04.2024, 06:30
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Touchscreen Taster ?

Donnerstag, 10. September 2009, 17:50

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.

Donnerstag, 10. September 2009, 20:04

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...))

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LotadaC« (10. September 2009, 20:09)

Donnerstag, 10. September 2009, 20:22

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.

Freitag, 11. September 2009, 16:54

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

Freitag, 11. September 2009, 18:44

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

Freitag, 11. September 2009, 19:28

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.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Manni24« (11. September 2009, 20:04)

Samstag, 12. September 2009, 11:16

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.

Dienstag, 15. September 2009, 12:19

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:

Quellcode

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...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LotadaC« (15. September 2009, 12:45)

Dienstag, 15. September 2009, 12:41

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.

Dienstag, 15. September 2009, 16:11

Ä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....

Ähnliche Themen