Pages: 1 [2] 3   Go Down
Author Topic: Anhand eines Tasters entweder I²C oder SPI Steuerung beginnen  (Read 2527 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allerdings gibt es diese Kippschalter manchmal zweipolig und manchmal dreipolig angeboten. Einen zweipoligen Kippschalter kann man als Ein/Aus Schalter verwenden und für die Auswertung in Digitalschaltungen reicht das.
Das ist nicht immer was "2-polig" heißt, auch wenn es eigentlich so sein sollte. Bei Reichelt z.B. haben "2-polige" Schalter 2 Ebenen und "3-polige" haben 3 Ebenen
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 174
Posts: 3288
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

wäre es möglich vllt eine skizze zu bekommen, wie ich diesen kippschalter an dem arduino anschliessen kann?

Du verbindest zwei Pole vom Kippschalter wie folgt:
- ein Pol ==> GND
- ein Pol ==> digitaler Pin, z.B. Pin D5

In die setup-Funktion schreibst Du dann die Zeile:
pinMode(5,INPUT_PULLUP);
und aktivierst damit nach dem Start des Controllers den eingebauten PullUp-Widerstand am gewünschten Pin.

Ja mir wäre es lieber das man 3 zustände hätte, da er nicht immer auslesen muss aus den dateien., wäre es möglich?

Nein, nicht mit einem Kippschalter.
Mit zwei Kippschaltern hättest Du insgesamt vier Schaltstellungen:
- beide Kippschalter OBEN
- linker Kippschalter OBEN, rechter Kippschalter UNTEN
- linker Kippschalter UNTEN, rechter Kippschalter OBEN
- beide Kippschalter UNTEN

Danke sehr für eure tipps

Zur Abfrage des Schalters noch ein Tipp:

Mit PullDown-Widerstand in der Schaltung hat ein offener Schalter LOW, ein geschlossener Schalter HIGH
Mit PullUp-Widerstand (auch dem internen) in der Schaltung hat ein offener Schalter HIGH, ein geschlossener Schalter LOW.

Wenn der Schalter irgendwas ein- oder ausschalten soll, habe ich es mir angewöhnt, die Konstanten EIN und AUS zu definieren, insbesondere wenn ich Schalter mit PullUp-Widerständen auswerte.
#define EIN LOW
#define AUS HIGH

So dass man dann bei "invertierter Logik" einfach abfragen kann:
if (digitalRead(5)==EIN) ...

Und falls man die Schaltung dann doch ändert und z.B. externe PullDown-Widerstände einbaut und verwendet statt interner PullUp-Widerstände, braucht man nur die Definitionen für EIN und AUS zu vertauschen.
Logged

Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nein, nicht mit einem Kippschalter.
Doch, es geht mit einem Wechselschalter mit 3 Schaltstellungen, den man an zwei Pins anschließt. Die sind dann HIGH wenn der Schalter in Neutralstellung ist und sonst ist einer von beiden LOW. Es sei den ich habe mich bei dem Schalter den ich vorhin angegeben habe geirrt und es ist kein Wechsler. Das Datenblatt ist da leider etwas verwirrend (wieso kann das nicht wie bei Relais sein, die i.d.R. die Kontakte einzeichnen?)

Der hier hat 3 Stellungen und ist meiner Meinung nach ein Umschalter:
http://www.reichelt.de/Kippschalter/MS-500C/3/index.html?;ACTION=3;LA=2;ARTICLE=13154;GROUPID=3275;artnr=MS+500C

Vielleicht habe ich mich auch geirrt, und wenn ja sollte es das trotzdem geben.

EDIT: Link angepasst. Der andere Schalter war ein Taster mit fester Mittelstellung :s
« Last Edit: June 29, 2013, 08:19:56 am by Serenifly » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok hmm jetzt hat mich das verwirrt, sorry warum denn jetzt 2 kippschalter?
ich brauche 3 zustande in dem sinne, dass wenn ich den links stelle , die i2c datei gelesen wird , wenn ich ihn rechts stelle liest er die spi datei und wenn er in der mitte ist, soll er nichts auslesen bzw. nichts tun.
Ist das nicht mit einem kippschalter möglich?

Wenn ja wie schliesse ich es an?
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 174
Posts: 3288
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist das nicht mit einem kippschalter möglich?

Nicht mit einem Kippschalter, der nur zwei Schaltpositionen hat.
Und zwar egal ob Kippschalter zweipolig oder Kippschalter dreipolig.
Wenn der Schalter nur zwei Schalterstellungen hat, kannst Du nur zwei Schalterstellungen auswerten.

Wenn Du drei Schaltstellungen auswerten möchtest, benötigst Du einen Schalter mit drei Schaltstellungen.

Das richtige Bauteil dafür hieße dann "Kippschalter, dreifach" (und NICHT "Kippschalter, dreipolig")!

"Kippschalter, dreifach" gibt es auch. Sind aber sehr viel seltener als "Kippschalter, dreipolig".


Ja, so ein EIN-AUS-EIN Kippschalter von Reichelt sollte dasselbe sein wie ein "Kippschalter, dreifach" (wie ihn die Firma Graupner nennt).
« Last Edit: June 29, 2013, 08:26:53 am by jurs » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, welchen benötige ich , wenn ich den schalter in linksstellung setze und er mir die i2c.datei auslesen will und bei rechtsstellung die datei spi auslesen soll und falls er in der mittelstellung ist nichts tun soll?
Wäre der von Serenifly richtig? und wie würde ich es anschliessen? -> muss ja zwei digitalpins abfragen, d.h. links und rechtsstellung haben einen eigenen digitpin oder?
Sorry möchte es verstehen.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry für die vielen fragen und danke für eure Geduld, möchte es halt verstehen.
Logged

Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Im Prinzip einen Wechselschalter mit 3 Schaltstellungen. Aber die Firmen haben da halt leider manchmal unterschiedliche Bezeichnungen. Da kann da eben was anderes stehen obwohl es das gleiche Produkt ist.

Bei welcher Firma willst du das denn bestellen? Reichelt ist da nicht unbedingt ideal da es da eine Mindestbestellmenge von 10 Euro gibt. Aber wenn du uns deinen Lieferanten nennst kann man mal nachschauen was die haben.

Quote
wie würde ich es anschliessen?
*Gemeinsamen Kontakt an Masse
*ein Schalt-Kontakt an Digital-Eingang
*anderer Schalt-Kontakt an anderen Digital-Eingang

Wenn du dann die internen Pullups nimmst sind beide Eingänge HIGH wenn der Schalter in Mittelstellung ist. Wenn du in eine Richtung betätigst ist jeweils ein Eingang auf LOW.
« Last Edit: June 29, 2013, 08:37:23 am by Serenifly » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja das wäre egal wo, also bestelle öfters bei conrad.
Oder hättet ihr das bessere lieferanten?

Danke sehr
Was mir noch unklar ist, wie ich es dann anschliesse mit den 2 digitalpins smiley-sad
Logged

Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Conrad ist oft teurer, hat aber auch viel mehr Auswahl und ich glaube keine Mindestbestellwert. Kommt halt drauf an was man will und ob du sonst noch was bestellst. Es gibt auch Sachen, die ich nur bei Conrad gefunden habe und für manche Dinge haben die auch vernünftige Preise.

Da gibts z.B. das:
http://www.conrad.de/ce/de/product/701150/SCI-Kippschalter-250-VAC-3-A-1polig-TA103A1-1-x-EinAusEin-rastend0rastend

Was du da generell willst ist "1x ein/aus/ein rastend/0/rastend". Lässt sich da schön nach "Schaltstellungen" oder "Funktionen" sortieren. Wenn Klammern um einen Zustand sind, dann ist das ein Taster. Die Zahl ganz vorne ist die Anzahl der Ebenen, d.h. parallele Kontakte. Wieso die Mittelstellung nicht auch als "rastend" beschrieben ist...wer weiß

Conrad hat übrigens auch das "Pole = Ebenen" System wie Reichelt! Also nicht "Pol = Anzahl der Kontakte"
« Last Edit: June 29, 2013, 08:50:48 am by Serenifly » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ou cool danke dir Serenifly.
Also mit Klammer um den Zustand ist es als taster,hat es die gleiche funktionsweise oder was verstehe ich dann darunter`?

und wäre der anschluss zum arduino so korrekt?:

Ein      -        AUS        -  Ein
 |                  |               |
digitpin 20     GND        digitpin21 (Arduino)?

diese digitpins im programm dann mit pinMode(pin20,input_pullup), pinMode(21,input_pullup)?

Logged

Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yup, sollte so funktionieren. Falls der gemeinsame Kontakt in der Mitte ist, was aber der Fall sein sollte. Bedenke aber, dass logisch gesehen "AUS = beide Inputs auf HIGH" bedeutet. Nicht LOW wie man vielleicht aus deinem Anschluss-Diagramm denken könnte.

Ein Taster rastet nicht ein. Den kannst du kippen aber der geht gleich wieder in Mittelstellung zurück wenn du loslässt. Könntest du theoretisch auch verwenden wenn du das Programm entsprechend schreibt, aber rastend ist hier praktischer.
« Last Edit: June 29, 2013, 08:54:20 am by Serenifly » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok stimtt. also wenn ich in die linksstellung bin dann wäre mein pin20=LOW, wenn in rechtsstellung , dann pin21=LOW und wenn in mittelstellung, dann beide pins also 20+21=HIGH.
Passt es jetzt, hehe?

ou ok ,als du würdest mir den rastend empfehlen , wie in deinem link danke smiley-grin
Logged

Offline Offline
Faraday Member
**
Karma: 131
Posts: 4241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der in meinem Link ist gerade nicht lieferbar, aber du kannst ja mal schauen was die sonst noch haben. Im Menü links kannst du mit "Funktionen" und "Schaltstellung" eingrenzen was du willst:

http://www.conrad.de/ce/de/overview/0216100/Kippschalter
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 272
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok danke dir. Wie wäre es mit dem hier:
Quote

Und das mit den pins passt jetzt mit high und low?

wenn was nicht klappt, kann ich mich wieder hier wenden?
« Last Edit: June 29, 2013, 09:10:27 am by milito » Logged

Pages: 1 [2] 3   Go Up
Jump to: