Forum: Mikrocontroller und Digitale Elektronik Auswertung von Analog Sensor Mittels Arduino


von Christian B. (sourcecode)


Lesenswert?

Hallo.

Ich versuche einen Fischertechnik Taster an einem Analog Pin (A0) des 
Arduino Uno
Boards zu betreiben. Der ADC übersetzt die analogen Werte zwischen 0 und 
5 Volt in
digitale Werte zwischen 0 und 1023. Da sich die Werte mit jedem 
Schleifendurchlauf
ändern, weil sich die Spannung wohl an den Pins ändert, ist mir das 
nicht ganz
hilfreich. Wie kriege ich es hin, daß an den Pins ausschließlich eine 
Spannung von
0 Volt (also Taster nicht gedrückt) und 5 Volt (Taster gedrückt) 
anliegen ?.
Ich blicke da Momentan nicht ganz durch. Läßt sich das Hardwareseitig 
lösen oder
muß ich den Sensor in der bei der Programmierung irgendwie kalibrieren 
?.

Vielen Dank im voraus !.

von citb (Gast)


Lesenswert?

Ist das ein analoger Taster?
Taster -> wahrscheinlich nicht, also an einen digitalen Pin 
anschliessen.

citb

von Michael (Gast)


Lesenswert?

Liefert dein Taster überhaupt einen Analogwert?
Normalerweise versteht man unter einem Taster ein Ding, das einen 
geschlossenen oder offenen Kontakt hat. Die beiden Zustände lassen sich 
mit dem Standard Taster Anschluss aus
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Hardware
über einen digitalen Eingang prima unterscheiden.

von Christian B. (sourcecode)


Lesenswert?

Hallo.

Danke für Eure Antworten.
Ich gehe mal davon aus, daß es ein Analog-Taster ist. Er hat drei 
Anschlüsse von denen ich zwei benutze. Es ist ein Taster aus dem uralten 
Fischertechnik
Tech-In Roboter Baukasten.
Ich habe auch keine digitalen Pins mehr frei (alle in Benutzung), 
deshalb dachte ich, schließe ich den Analog Taster an einen Analog Pin 
an.

Hm. Brauch ich wohl ein Board mit mehr digitalen Pins :-(

Gruß
sourcecode

von Michael (Gast)


Lesenswert?

Christian B. schrieb:
> Er hat drei Anschlüsse von denen ich zwei benutze.

Dann wird das ein ganz normaler Umschalter sein: Zwei Schaltkontakte, 
von denen der eine beim Drücken öffnet und der andere schließt.

Ist das einer von denen hier?
http://www.ebay.de/itm/fischertechnik-Taster-Polwendeschalter-/320777193836

von digipin (Gast)


Lesenswert?


von Thomas L (Gast)


Lesenswert?

Autsch!

Die Taster von Fischertechnik sind umshalter.

Alle Pins vom Arduimo können als Digitaleingänge genutzt werden, auch 
die Analogeingänge.

A0 mit pinMode auf INPUT, und dann mit digitalRead einlesen.

von Christian B. (sourcecode)


Lesenswert?

Hallo.

Nein. Es ist so ein Schalter:

http://www.ebay.de/itm/Fischertechnik-Elektronik-MINI-Taster-grau-n-m-l-2x-/170786326170?pt=Bauk%C3%A4sten_Konstruktion&hash=item27c3a8869a

Mit A0 als INPUT und dann einlesen habe ich es versucht. Kriege trotzdem
irgendwie keine konstanten Werte. Kann im Moment aber auch nicht 
experimentieren, da ich nicht daheim bin. Werde es später nochmal 
ausprobieren.

sourcecode

von STK500-Besitzer (Gast)


Lesenswert?

Wie hast du den Taster denn angeschlossen?
Hast du einenPull-Up-Widerstand verwendet?

von Michael (Gast)


Lesenswert?

Christian B. schrieb:
> ... Es ist so ein Schalter:
Da ist doch seitlich sogar das Schaltzeichen drauf:
http://ft-datenbank.de/details.php?ArticleVariantId=a36825b2-f179-4626-9279-2dc2d13150d5

Christian B. schrieb:
> Kriege trotzdem irgendwie keine konstanten Werte.

Wie meinst du das? Da ändert sich von den 8 Bits, die normalerweise vom 
Port eingelesen werden, auch nur eines, das du herausmaskieren mußt. 
Vielleicht hattest du auch keinen Pull-Up Widerstand aktiviert bzw. 
angeschlossen.

von vielleichthilftes (Gast)


Lesenswert?


von Christian B. (sourcecode)


Lesenswert?

Hallo.

Vielen Dank für all' die Antworten.
Ich habe jetzt die Pullups eingeschaltet. (digitalWrite(A0,HIGH))
Den noch freien Anschluss des Tasters habe ich an Masse angeschlossen.
Jetzt habe ich bei nicht gedrücktem Taster Werte um 1020 und bei
gedrücktem Taster Werte um 20. Damit läßt sich jetzt etwas anfangen.

Gruß
sourcecode

von Eumel (Gast)


Lesenswert?

Wieso nimmt man für einen Taster den ADC?

von ... (Gast)


Lesenswert?

Besser so:

Thomas L schrieb:
> A0 mit pinMode auf INPUT, und dann mit digitalRead einlesen.

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.