Willst du 1 oder 2 Multiplexer verwenden?
( Im Augenblick verwendest du noch gar keinen, bzw. liest permanent von Kanal 0 )
Na wenn es mit 1 Multiplexer auch geht, dann erstmal einen
Erstmal mit nur einem MUX und ohne dynamische Spalten-Anwahl:
Musst du nacheinander die Kanäle 0 .. 11 des MUX adressieren.
z.B. so oder ähnlich:
Okay, ich hab den sketch jetzt mal angepasst und deinen part noch eingebunden. Der serielle Monitor gibt mir jetzt Kanal 0: 0 - Kanal 11:0 aus. (Habe die Schaltung noch nicht umgebaut und den Spannungsteiler noch nicht drin.) Wenn das dann richtig aufgebaut ist sollte mir hier die Spannung angezeigt werden, richtig? Also ich drücke quasi auf meiner Sohle auf einen Kreuzungspunkt von Spalte und Reihe und je nachdem welche Reihe (Kanal 0-11) nun belastet wird, so zeigt mir der serielle Monitor den entsprechenden Wert?
Wo schließe ich den aber jetzt mein Kabel mit den 6 Pins an? Also die 12 Pins kommen ja an den Multiplexer an Ch 0-11, soweit ist es mir klar.
Danke!
Hier mein aktueller code:
//Mux control pins for output signal (OUT_pin) default for arduino mini pro
const byte s0 = 13;
const byte s1 = 12;
const byte s2 = 11;
const byte s3 = 10;
int analogPin = A0;
int val = 0;
byte kanal = 0; // Wertebereich 0 .. 11
void setup() {
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
Serial.begin(9600);
}
void loop() {
setzeMUXAdresse(kanal, s0, s1, s2, s3) ;
int val = analogRead(analogPin);
Serial.print("Kanal"); Serial.print(kanal);
Serial.print(" : "); Serial.println(val);
delay(500);
kanal++;
if (kanal > 11) kanal = 0;
}
void setzeMUXAdresse(byte kanal, const byte S0, const byte S1, const byte S2, const byte S3) {
digitalWrite(S0, bitRead(kanal, 0));
digitalWrite(S1, bitRead(kanal, 1));
digitalWrite(S2, bitRead(kanal, 2));
digitalWrite(S3, bitRead(kanal, 3));
}