sto incontrando grossi problemi per una applicazione che prevede l'uso di due shift register 74hc595
ho fatto questo sketch
- Codice: Seleziona tutto
#define pulsante 6 //pin interruttore
const byte dataPin = 11; //Pin connected to DS of 74HC595 14
const byte latchPin = 10;//Pin connected to ST_CP of 74HC595 12
const byte clockPin = 12;//Pin connected to SH_CP of 74HC595 11
const byte OEPin = 9;//Pin connected to OE of 74HC595 13
byte stato_pulsante; //interruttore
byte var_1;
byte var_2;
void setup()
{
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(OEPin, OUTPUT);
digitalWrite(OEPin, LOW);
digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data
pinMode(pulsante, INPUT_PULLUP);
stato_pulsante = 0;
Serial.begin(9600);
var_1 = 0b00000000;
var_2 = 0b00000000;
delay(500);
Serial.println("Pronto");
}
void loop()
{
if(digitalRead(pulsante) == LOW)//switch closed
{
digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data
shiftOut(dataPin, clockPin, MSBFIRST, 0b01010101);//G1oi 1_5 G2oi 6_10 Ppoi Pdoi
shiftOut(dataPin, clockPin, MSBFIRST, var_2);//Aoi Boi Coi Dpd
digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data
//Serial.println("i t var_2");
// Serial.print(i);
// Serial.print('t');
// Serial.println(var_2, BIN);
delay(1000);
digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data
shiftOut(dataPin, clockPin, MSBFIRST, var_1);//G1oi 1_5 G2oi 6_10 Ppoi Pdoi
shiftOut(dataPin, clockPin, MSBFIRST, 0b01101010);//Aoi Boi Coi Dpd
digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data
delay(1000);
}
}//fine loop
e questo è il secondo
- Codice: Seleziona tutto
...
void loop()
{
if(digitalRead(pulsante) == LOW)//switch closed
{
digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data
shiftOut(dataPin, clockPin, MSBFIRST, var_1);//G1oi 1_5 G2oi 6_10 Ppoi Pdoi
shiftOut(dataPin, clockPin, MSBFIRST, var_2);//Aoi Boi Coi Dpd
digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data
//Serial.println("i t var_2");
// Serial.print(i);
// Serial.print('t');
// Serial.println(var_2, BIN);
delay(1000);
digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data
shiftOut(dataPin, clockPin, MSBFIRST, 0b01010101);//G1oi 1_5 G2oi 6_10 Ppoi Pdoi
shiftOut(dataPin, clockPin, MSBFIRST, 0b01101010);//Aoi Boi Coi Dpd
digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data
delay(1000);
}
}//fine loop
ho fatto prove cambiando e scambiando gli shift e gli uln ma senza risultati il secondo sketch accende led diversi dal primo
ora la mia domanda è: con il secondo sketch non dovrei accendere gli stessi led che accendo con il primo sketch?
grazie

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


