Anhand eines Tasters entweder I²C oder SPI Steuerung beginnen

milito:
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".

Serenifly:
Der hier hat 3 Stellungen und ist meiner Meinung nach ein Umschalter:
MS 500C: Kippschalter 6A-125VAC, 1x Ein-Aus-Ein bei reichelt elektronik

Ja, so ein EIN-AUS-EIN Kippschalter von Reichelt sollte dasselbe sein wie ein "Kippschalter, dreifach" (wie ihn die Firma Graupner nennt).

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.

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

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.

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.

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 :frowning:

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"

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)?

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.

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:

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

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

http://www.conrad.de/ce/de/product/701024/SCI-Kippschalter-250-VAC-10-A-R13-28E-01-2-x-EinAusEin-rastend0rastend

oder
http://www.conrad.de/ce/de/product/701024/SCI-Kippschalter-250-VAC-10-A-R13-28E-01-2-x-EinAusEin-rastend0rastend

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

wenn was nicht klappt, kann ich mich wieder hier wenden?

Also, die beiden haben 2 Ebenen, d.h. immer 2 Kontakte parallel, so das du was getrennt aber gleichzeitig schalten kannst. Kannst du nehmen, aber du brauchst es nicht unbedingt. Dir reicht etwas mit "1x"

Aber im Prinzip passt das jetzt so :slight_smile:

ok danke dir.
ALso du meinst 1-polig oder mit dem 1x?
Wie ist das mit dem 2 eben bzw polig zu verstehen?

Also, so wie es bei Reichelt und Conrad steht ist 2-polig = 2 Ebenen (und nicht 2 Kontakte, wie man vielleicht denken könnte). Das ist bei den Englischen Bezeichnungen (Single/Double Pole) genauso.

Schau mal auf das Bild deines Schalters. Der hat immer zwei Anschlüsse nebeneinander. Und das 3-mal. Also 6 Anschlüsse insgesamt. Das sind 2 getrennte Wechselschalter parallel, die durch den gleichen Hebel betätigt werden. Also so:

So ein Schalter geht bei dir auch, ist aber überdimensioniert, da du den zweiten Wechsler nicht brauchst, und teurer.

Ist auch hier kurz erklärt:

Ok danke dir Serenifly :D. besonders für die Geduld ^^.
Also sobald ich es habe, melde ich mich ok? Bzw wenn ich noch fragen habe, wäre es ok?

Hi hier habe ich nochmal die skizze zum draufschauen, ob es ok ist:

EIN - AUS - EIN
| | |
[]intern.pullup GND []intern.pullup
pin20 pin21

Hi also habe mir jetzt die Kippschalter geholt, jetzt verwende ich sie mit den internen Pullup widerständen.
Wäre die syntax richtig so :

 pinMode(kipp_left, INPUT_PULLUP); //Taster als Input festlegen INPUT_PULLUÜ->interner pullup
 pinMode(kipp_right; INPUT_PULLUP);
 
 digitalWrite(kipp_left, HIGH); // aktiviere somit den 20k pull-up an für Taster
digitalWrite(kipp_right;HIGH);

oder fällt dieses DigitalWrite aus, da ich schon INPUT_PULLUP verwende?

Für dieses grundlegende Zeug kannst du auch schnell in die Online Referenz schauen:

Oder dir die Beispiele die in der IDE dabei sind anschauen. Oder auch das hier:

Da ist immer Beispiel-Code Dabei. Hier sind die internen Pullups erklärt:

Also das digitalWrite() weglassen

Ich sage das nur weil das schneller geht als hier Fragen zu stellen :slight_smile:

stimmt hast recht, danke war nur etwas verwirrt gerade :smiley:

milito:

 pinMode(kipp_left, INPUT_PULLUP); //Taster als Input festlegen INPUT_PULLUÜ->interner pullup

pinMode(kipp_right; INPUT_PULLUP);

digitalWrite(kipp_left, HIGH); // aktiviere somit den 20k pull-up an für Taster
digitalWrite(kipp_right;HIGH);




oder fällt dieses DigitalWrite aus, da ich schon INPUT_PULLUP verwende?

pinMode(kipp_right; INPUT_PULLUP); reicht in jedem Fall aus.

Wenn der pinMode vorher garantiert INPUT ist, dann reicht auch ein digitalWrite(kipp_right;HIGH); für sich alleine aus.

Und wenn Du nicht sicher bist, ob der pinMode vorher vielleicht OUTPUT war, geht auch die Kombination:
pinMode(kipp_right; INPUT);
digitalWrite(kipp_right;HIGH);

In jedem Fall ist danach der pinMode INPUT und der PullUp Widerstand aktiviert.