Arduino Mikrocontroller Tutorials - Input/Output

Kippschalter (Ball Switch) einsetzen

Schaltplan Ball Switch

Der Kippschalter sieht aus wie ein kleiner Elko Kondensator. In dem Röhrchen sind aber nur zwei kleine stromleitende Kugeln, die ja nach Lage des Röhrchens bezogen auf die Schwerkraft die zwei von unten durchgeführten Kontaktpins im inneren kurzschließen oder nicht.

Mit einem kleinen Programm können wir den Kippschalter nun auswerten. Steht der Kippschalter senkrecht verbindet die untere Kugel die beiden Kontaktpins (Die obere Kugel dient mit ihrem Gewicht dazu die Kontaktierung der unteren Kugel zu erhöhen). Nach unserem Schaltplan wird also GND/LOW auf den Eingang 2 geschaltet. Wenn wir den Ballswitch jetzt um etwa 90° drehen geht die Kontaktierung verloren, da die Kugeln von den Kontaktpins rollen. Der Eingang wird durch den internen Pullup HIGH und die LED geht an. Beim kontaktieren oder lösen des Kontaktes kommt es durch die Kugeln zu einem unsauberen Schalten. Im Programmablauf wird die Auswertung des Eingangs daher mit 50ms entprellt.

Schaltung und Programmcode

Schaltplan Ball Switch
void setup() { // Arduino Anschlüsse konfigurieren pinMode(2, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { // Tastereingang jeweils 2x abfragen if (digitalRead(2) == HIGH) { delay(50); if (digitalRead(2) == HIGH) { digitalWrite(13, HIGH); } } else if (digitalRead(2) == LOW) { delay(50); if (digitalRead(2) == LOW) { digitalWrite(13, LOW); } } }