Autor |
[Projekt] Tasten + Speicherung udn PC Anbindung |
|
|
|
|
BID = 712810
TheQu Gerade angekommen
Beiträge: 5
|
|
Hallo Liebe Forumsgemeinde,
Mein erster Beitrag also
Ich würde gerne ein privates Projekt realisieren, welches Folgendes Ziel hat:
Einen Microcontroller, welcher auf 10 Taster geschaltet ist und alle Tastereingaben speichern soll. Des Weiteren sollte es möglich sein, die Speicherung der Taster irgendwie auf den PC zu bekommen. (USB Anshcluss, Serieller Anschluss wie auch immer). Ich möchte das Projekt so klein wie möglich halten. (Also keine großen Plastikumbauten etc.)
Mein Wissen ist folgendes:
- Microcontroller kaufen
- Taster kaufen
- Taster können auf die IO Ports des Microcontrollers gelegt werden
- Microcontroller kann so programmiert werden, dass er die Tasteneingaben speichert.
Form der Speicherung muss eigentlich nur 1 für gedrückt sein.
Also so in der Art:
Taster1 - 1
Taster2 - 1
Taster5 - 1
Rahmenbedingungen:
Ich hätte gerne einen MC welcher mit C oder einer nicht Assemblersprache programmierfähig ist. (C beherrsche ich). Atmel Controller eventuell?
Taster müssen nur zwei Zustände haben, gedrückt oder nicht-gedrückt, wobei eh nur der gedrückt zustand interessant ist.
Der MC benötigt irgend einen Anschluss, damit ich mit Hilfe eines Computers die gespeicherten Daten auslesen kann.
Erfahrungen:
- Programme seit Jahren in C
- Habe schon mal Hexapods gebaut und programmiert (auch mit nem ATMEL)
- Geringe elektronische Erfahrungen (Ohsches Gesetz etc. würde mal sagen eben Basisdinge)
Abschluss:
Vielen Dank schon mals für die Antworten und das Durchlesen!
Hoffe ich habe mich an den Text gehalten, und alle wichtigen Informationen preisgegeben, bei Fragen stehe ich gerne zur Verfügung
Danke! |
|
BID = 712813
Lucky Fu Gelegenheitsposter
Beiträge: 85 Wohnort: Zwickau
|
|
Nun, mit welcher sprache der Controller programmiert wird hängt in erster Linie von deiner vorhanden Software ab. Bei Atmel gibts den AVRGCC womit ein kostenloser C-Compiler vorhanden währe. Sofern du eine Serielle Schnittstelle hast ist es wohl das einfachste die UART des Controllers (haben mehr oder weniger alle Atmels) mittels Max 232 oder Derivat auf PC Pegel zu bringen und das direkt zu nutzen.
Wie willst du die Entprellung vornehmen? Ohne wird es auf jeden Fall Murks. Brauchst du nur die Reihenfolge der Taster oder auch den Zeitlichen Rahmen dafür? (Real Time Clock Baustein oder DCF77 Empfänger)
Weiters währe interessant zu wissen, ob du Batteriespannung oder Netzteil zur Verfügung hast. Das alles sind Punkte die die Wahl des passenden Controllers beeinflussen |
|
BID = 712816
TheQu Gerade angekommen
Beiträge: 5
|
Hallo,
Folgendes:
Genau AVR Studio wäre optimal für mich.
Entprellung? Sagt mir jetzt leider nichts
Brauche nur die Reihenfolge der Taster sprich.
Taster 1 wurde gedrückt
Taster 2 wurde gedrückt
Zeitmäßig benötige ich dabei nichts.
Kann natürlich eine kleine Batterie verwenden, Netzspannung kanns auch sein, am besten Batterie
Sonst hätte ich noch einen 12V Adapter da...
|
BID = 712821
Lucky Fu Gelegenheitsposter
Beiträge: 85 Wohnort: Zwickau
|
müssen es unbedingt 10 Taster sein? 8 währen besser *g*
Nun, etwas zum Entprellen: Ein Taster schaltet nur scheinbar ein, Tatsächlich "Flattert" der Kontakt in der Regel einige ms zwischen an und aus. Für ein Relais oder eine Lampe macht das keinen Unterschied, der Controller aber bekommt das mit und würde statt 1 Tastendruck dann z.b. 5 oder 10 hintereinander speichern. Daher muss man den Taster entprellen. Das kann per software geschehen, indem man einen Taster immer wieder abfragt (polling) und dann erst bei mehreren Übereinstimmungen des Zustandes diesen übernimmt oder man macht es per Hardware indem man mittels Widerstand - Kondensatorgruppe einen Tiefpaß aufbaut. Wenn dein Programm sonst nichts weiter macht würde es wohl Sinn machen das Entprellen in der Software zu verankern.
bei 10 Tastern würde ich 2 Byte nutzen und für jeden Taster ein Bit. d.h. du hättest bis zu 16 Taster frei. Diese liesen sich dann auch relativ leicht im EEPROM des Controllers abspeichern (hat den Vorteil, daß die Daten auch bei Betriebsspannungsverlust erhalten bleiben). Auslesen kann man die dann relativ Problemlos.
Wie willst du die Taster verschalten? jeden Taster an einen Port oder mit einer Matrix? bei letzterem könnte man im kleinsten Fall mit 7 Portpins auskommen, was leider für einen kleinen Tiny noch zu viel ist. Möglicherweise gibts aber da auch noch eine Möglichkeit, müsste ich mal genauer drüber Nachdenken
|
BID = 712934
clembra Inventar
Beiträge: 5404 Wohnort: Weeze / Niederrhein
|
Och, 10 sind doch noch überschaubar. Beim 2313 wird es erst ab 33 Tastern etwas umständlich.
Zur Verschaltung würde ich entweder einen Pin je Taster empfehlen oder eine Matrix 2x8, spricht 10 Port-Pins. Mit einem ATtiny2313 würde man in beiden Fällen auskommen, wobei bei der Matrix-Version die größere Reserve für zusätzliche Taster wäre.
Zum Thema Entprellung gibt es auf Mikrocontroller einen schönen Artikel
_________________
Reboot oder be root, das ist hier die Frage.
|
BID = 713189
TheQu Gerade angekommen
Beiträge: 5
|
Alles klaro, vielen Dank schonmals!
Jetzt habe ich noch ne Frage.
Wie kann ich die Signale von nem Flachbandkabel auslesen, welches am Input Bereich an einer Zahlensteuerung hängt.
Sprich ein Plastikteil, (Garagentor entriegelung) wo man einen Code eingeben kann, um die Garage zu öffnen. Von den Plastiktasten geht dann ein Flachbandkabel auf eine "Steuerplatine".
Kann man das Flachbandkabel auslesen? Bzw. die Pins beim Kabel?
Vielen Dank schomals!
|
BID = 713191
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Ohne Anschlussbelegung des Flachbahnkabels wird's schwierig ...
Ausmessen oder Schaltplan dazu posten, danke!
_________________
Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Wer einen Fehler findet, darf ihn behalten!
|
BID = 713206
clembra Inventar
Beiträge: 5404 Wohnort: Weeze / Niederrhein
|
Ist an diesem Tastenfeld bereits eine Steuerung aktiv? Falls ja wird es evtl. schwer. Zahleneingabefelder werden gerne als 3x4-Matrix ausgeführt, da einfach mitzuhören wird schwierig. Wie viele Kontakte hat das Flachbandkabel denn, und sind noch mehr "Funktionen" als die 10-12 Tasten vorhanden (LEDs zum Beispiel)?
_________________
Reboot oder be root, das ist hier die Frage.
|
BID = 713681
TheQu Gerade angekommen
Beiträge: 5
|
Hallo,
Danke für die Antworten.
Folgendes konnte ich in Erfahrung bringen:
Sind 16 Tasten.
0 - 9
und noch iwelche Funktionstasten.
LEDs oder andere Dioden etc. sehe ich keine.
Flachbandkabel hat 20 Pins.
Mehr ist leider nicht zu erkennen, da eine "Plastikschicht" von hinten auf den Tasten liegt, das Flachbandkabel kommt dort raus.
Grüße
|
BID = 713683
Lucky Fu Gelegenheitsposter
Beiträge: 85 Wohnort: Zwickau
|
Kannst du versuchen, mit einen Durchgangspüfer (oder Multimeter in Widerstandsmessung) herauszufinden wie die Steckerbelegung ist? Alles weitere ist dann vom Ergebnis dieser Messung abhängig.
|
BID = 715178
TheQu Gerade angekommen
Beiträge: 5
|
Hallo,
Danke für die Antworten :=)
War leider noch auf Urlaub.
Klar, kann ich das mal durchprüfen.
Also einfach Multimeter auf Durchgang stellen und jeden Pin durchprüfen?
Und mir die Werte aufschreiben?
Das eine Ende des Multis kommt in Pin X und das andere Ende?
Schöne Grüße
|
BID = 715472
Lucky Fu Gelegenheitsposter
Beiträge: 85 Wohnort: Zwickau
|
Mit dem Anderen nimmst du dir die freien Pins vor. Das machst du solange bis du alle möglichen Kombinationen durchgetestet hast. Das dahinterstehende Verdrahtungssystem sollte sich aber bereits nach wenigen "entschlüsselten" Tasten erkennen lassen.
|
BID = 716036
clembra Inventar
Beiträge: 5404 Wohnort: Weeze / Niederrhein
|
Genau, erstmal alle Pins ohne gedrückte Taste durchgesten, also den ersten Kontakt vom DMM in den ersten Pin, den zweiten in den zweite, dann den zweiten in den dritten Pin, ..., am ende den ersten Kontakt in den zweiten Pin und den zweiten Kontakt in den dritten, vierten, .....
Das ganze nachher bei einer gedrückten Taste, dann mit einer anderen gedrückten Taste usw. Am besten holt man sich jemand zweites dazu, alleine geht das nur schlecht.
Die Treffer dann jeweils aufschreiben.
_________________
Reboot oder be root, das ist hier die Frage.
|