//setup adresses pins const byte PIN_ENABLE = 2; const byte PIN_ADDR_A = 3; const byte PIN_ADDR_B = 4; const byte PIN_ADDR_C = 5; //pin of reference const byte PIN_SIG = A0; void setup() { //setup of pins related with the CD4051B pinMode(PIN_ADDR_A, OUTPUT); pinMode(PIN_ADDR_B, OUTPUT); pinMode(PIN_ADDR_C, OUTPUT); digitalWrite(PIN_ADDR_A, LOW); digitalWrite(PIN_ADDR_B, LOW); digitalWrite(PIN_ADDR_C, LOW); //Start the CD4051B pinMode(PIN_ENABLE, OUTPUT); digitalWrite(PIN_ENABLE, LOW); Serial.begin(9600); } void loop() { for (byte i = 0; i < 8; i++) { Serial.print(readAnalogCD4051B(i)); Serial.print(", "); } Serial.println(analogRead(A1)); delay(5000); } int readAnalogCD4051B(byte channel) { digitalWrite(PIN_ADDR_A, bitRead(channel, 0)); digitalWrite(PIN_ADDR_B, bitRead(channel, 1)); digitalWrite(PIN_ADDR_C, bitRead(channel, 2)); //transmit the value read return analogRead(PIN_SIG); }