I am working with the MuxShield ii and am having problems with using two rows as digital outputs. When I only use one row as outputs in my code, the device behaves correctly. Once I add in the other row, the outputs start doing weird things, like toggling when it shouldn't. Here is an example of code that isn't working. When I comment out the digital write in row 2 everything works fine. But when I run this code, it all goes nuts.
In a project that I am working on, I will need two rows of outputs.
#include <MuxShield.h>
//Initialize the Mux Shield
MuxShield muxShield;
void setup() {
muxShield.setMode(1,DIGITAL_OUT);
muxShield.setMode(2,DIGITAL_OUT);
muxShield.setMode(3,DIGITAL_IN);
}
int toggle = LOW;
int i;
void loop() {
muxShield.digitalWriteMS(1,0,HIGH);
muxShield.digitalWriteMS(1,5,HIGH);
muxShield.digitalWriteMS(1,15,toggle);
muxShield.digitalWriteMS(2,15,toggle);
delay(1000);
//flip the toggle
if (toggle == LOW)
toggle = HIGH;
else
toggle = LOW;
}