In diesem Beitrag möchte ich zeigen wie man mit einem Arduino die Spannung bis 5V messen kann. Arduino Uno
Rückblick
In dem Beitrag Arduino Lektion 4: LED mit Fotowiderstand habe ich gezeigt wie man den Wert eines Fotowiderstandes ausliest und diesen über eine Leuchtdiode "visualisiert". Was wir eigentlich gemacht haben ist die Spannung welche der Fotowiderstand durchlässt zu messen und diesen Wert dann auf eine PWM Signal zu mappen. Lektion 12 – Der Taster und if-Abfrage – Arduino Tutorial. Fotowiderstand
Alternativ können wir auch eine kleine Schaltung mit einem Drehpotentiometer aufbauen in welchem wir die Spannung von 5V (welche der Arduino über den Pin 5V liefert) anschließen und manuell mit einem Schraubendreher verändern können. Je nach Qualität des Microcontrollers kann der Wert leicht unter oder über dem Wert von 5V liegen. Wenn man jedoch keinen Klon sondern einen originalen Arduino UNO verwendet liefert dieser fast genau 5V. vergleich 5V Spannung am Arduino UNO original und Keyestudio UNO
Sketch
In dem nachfolgenden Sketch lese ich den Wert vom analogen Pin A0 aus und mappe diesen zunächst auf das mögliche PWM Signal (0.. 255) und danach auf einen Wert zwischen 0 und 50 für die Berechnung der Spannung.
- Arduino eingang abfragen project
Arduino Eingang Abfragen Project
Wird der Taster
nicht gedrückt, leuchtet die LED, wird er gedrückt, erlischt sie. Der Grund dafür liegt in der Tatsache begründet, dass der elektrische Strom sich immer den Weg des geringsten Widerstands
nimmt. Schaltskizze und Schaltungsaufbau
Abbildung 3 - Schaltungsskizze und Schaltungsaufbau
Testschaltung für einen Drucktaster - 2
4x Steckdrähte
Baue die Schaltung nach Abbildung 3 auf. 3 - Zustand abfragen Wir wissen jetzt, wie ein Taster zu beschalten ist. Wie erkennt ein Mikrocontroller aber, ob ein Taster gedrückt wurde oder
nicht? Das wird uns in dieser Übung beschäftigen. Arduino eingang abfragen project. Dazu wird ein Pinanschluss (P3) als Eingang gesetzt. Wird nun ein Taster, der mit dem
Eingang P3 verbunden ist, gedrückt, dann soll die volle Betriebsspannung (5V -> entspricht 1) am Eingang anliegen, wird er nicht gedrückt, liegen 0V (entspricht 0) an. In bestimmten Zeitabständen (ca. alle 2s) soll der Taster abgefragt und das Ergebniss im Terminalfenster dokumentiert werden. Wie das
aussehen könnte, zeigt Abb.
Es wird wieder mit digitalRead das Betätigen des Tasters abgefragt. Ist ButtonState LOW, dann wird die LED eingeschaltet, ButtonState wechselt auf HIGH und wir bekommen eine Meldung über den Serial Port. Auch beim loslassen des Tasters bleibt die LED an. Drückt man nochmal auf den Taster, dann wird die else if Bedingung erfüllt und ausgeführt. Da der Zustand vorher auf HIGH war. Hier wird der Zustand wieder zurückgesetzt und auch die LED wieder ausgeschaltet. An sich funktioniert das auch, aber…
Häufig kommen mehrere Nachrichten über die serielle Schnittstelle, obwohl man den Taster nur einmal gedrückt hat. Eigentlich sollte das nicht passieren, selbst wenn man die Taste gedrückt hält, sollte der Code für buttonState == LOW nur einmal ausgeführt werden. Das obige Bild z. Arduino Lektion #109: Spannung mit dem Arduino messen - Technik Blog. B. ist nach einem einzigen Tastendruck. Was ist passiert? Prellen
Wenn man den Taster betätigt schließt man zwar den Stromkreis, aber dies geschieht nicht sofort. Die mechanischen Bauteile im Taster sind nicht perfekt und es kann ein bisschen dauern bis der Stromkreis komplett geschlossen ist.