Altra prova rapida...
Con questo codice funzionano i famosi 8 ingressi, mentre gli altri restano fissi alcuni LOW e alcuni HIGH senza una logica apparente:
#include <SPI.h>
#include <MCP23S17.h>
MCP switcher(0);
void setup() {
pinMode(53, OUTPUT);
digitalWrite (53, LOW);
switcher.pinMode(0B0000000000000000);
}
void loop() {
int i;
for (i=1;i<=16;i++) {
switcher.digitalWrite(i, LOW);
delay(100);
}
delay(200);
for (i = 1; i <=16; i++) {
switcher.digitalWrite(i, HIGH);
delay(100);
}
delay(200);
}
Con quest'altra sento delle commutazioni che non hanno niente a che vedere con ciò che c'è scritto nel programma: ho delle commutazioni sull'uscita 9 con tempi diversi da quelli scritti nello sketch e un'altra commutazione sull'uscita 7 che non so da dove arriva!!!
#include <SPI.h>
#include <MCP23S17.h>
MCP switcher(0);
void setup() {
pinMode(53, OUTPUT);
digitalWrite (53, LOW);
switcher.pinMode(0B0000000000000000);
}
void loop() {
switcher.digitalWrite(9, HIGH);
delay(200);
switcher.digitalWrite(9, LOW);
delay(500);
}
Qui addirittura ho commutazioni su 4 relè diversi:
#include <SPI.h>
#include <MCP23S17.h>
MCP switcher(0);
void setup() {
pinMode(53, OUTPUT);
digitalWrite (53, LOW);
switcher.pinMode(0B0000000000000000);
}
void loop() {
switcher.digitalWrite(1, HIGH);
delay(200);
switcher.digitalWrite(1, LOW);
delay(500);
}
Adesso ho anche sostituito i cavetti con un cavo a 4 poli schermato, ed in effetti sembra un po' meno sensibile ai disturbi del tester, delle mani, ecc.
Però non cambia il funzionamento.