====== Input Multiplexer (Eingänge vervielfachen) ====== Wenn zu wenig Eingänge am Arduino für die gewünschte Anwendung verfügbar sind dann hilft ein Input Multiplexer wie der [[http://shop.boxtec.ch/analog-multiplexerdemultiplexer-kanal-cd4051-16dip-p-41437.html|CD4051]] weiter. Das Bauteil ist sehr preiswert und erweitert erweitert einen Eingang auf 8 Eingänge. Hier die Belegung vom CD4051 ( A,B,C bedeutet S0,S1,S3 ) {{:sensors:cd4051.png?direct&276|}} Hier ein Testaufbau: Beschaltung: Arduino CD4051 2 = 11 (S0) 3 = 10 (S1) 4 = 9 (S2) A7 = 3 (In Out) GND = 6 (ING) GND = 7 (Vee) GND = 8 (Vss) 5V+ = 16 (Vdd) Die maximal 8 Sensoren/Schalter/Poti können dann an den Channel I/O Pins angeschlossen werden. {{:sensors:cd4051_bread.jpg?direct&400|}} Hier ein Tesprogramm welches auf der Seriellen Schnittstelle die jeweiligen Inputs ausgibt: {{:sensors:cd4051_com.png?direct&300|}} In meinem Beispielaufbau habe ich ein Poti als Sensor 1 und 3 Schalter als Sensoren 2-4. Testprogramm: /* Analog IN Multiplexer CD4051 Connections: Arduino CD4051 2 = 11 (S0) 3 = 10 (S1) 4 = 9 (S2) A7 = 3 (In Out) GND = 6 (ING) GND = 7 (Vee) GND = 8 (Vss) 5V+ = 16 (Vdd) */ // Setup const int analogInPin = A7; // Analog input pin from Multiplexer const int maxi = 8; //how many inputs from 4051 (maximum 8) const int s0Pin = 2; //Pin on Arduino connected to 4051 S0 const int s1Pin = 3; //Pin on Arduino connected to 4051 S1 const int s2Pin = 4; //Pin on Arduino connected to 4051 S2 // Variables int sensorValue = 0; // Sensor Value int r0 = 0; //value of select pin at the 4051 (s0) int r1 = 0; //value of select pin at the 4051 (s1) int r2 = 0; //value of select pin at the 4051 (s2) int count = 0; //which y pin we are selecting void setup(){ Serial.begin(9600); pinMode(s0Pin, OUTPUT); // s0 pinMode(s1Pin, OUTPUT); // s1 pinMode(s2Pin, OUTPUT); // s2 } void loop () { for (count=0; count Weitere Informationen: * [[http://playground.arduino.cc/learning/4051| Playground Arduino erklährt auch wie 64 Eingänge auf einen Eingang zusammengelegt werden kann]] **Persönliches Fazit:** Dieses Bauteil benötigt keine zusätzlichen Bauteile, das Coding ist sehr überschaubar und der Preis sehr niedrig. Dafür bietet es aber einen enorm grossen Mehrwert und kann sehr vielfältig eingesetzt werden.