Problema no contador 595


#1

Pessoal, tenho um problema aqui. Fui montar um contador binário com meu arduino aqui e usei 8 leds, resistores adequados, o IC, jumpers e uma protoboard. Programei o sistema aqui de acordo com o site do arduino e outros e fiz um programa teste com a função shiftOut, mas não deu tão certo. Tenho duas dúvidas:

1º: Por que alguns falam que tem que por digitalWrite(clock, LOW); ou digitalWrite(latch, LOW); no início do void loop?

2º: Quando ligo o sistema, o arduino pisca algumas luzes, apaga por ± 1 segundo e acende o seu led L. Até aí tudo bem, mas nesse período de “inicialização”, leds aleatórios do contador ligados ao 595 se acendem e, só depois que o arduino acende L, começa a funcionar. Como faço para os leds ficarem apagados durante a inicialização, ao invés de acenderem-se randomicamente?


#2

Falai VitorRZ, posta o código aqui para melhor podermos analisar sua duvida
Abraços
Max


#3

O programa é bem simples, fui eu mesmo quem montou, mas creio que não tem tanto a ver com o código a falha:

//portas do 595 no arduino
int Data = 2; //14 no ci
int Clock = 3; //11 no ci
int Latch = 4; //12 no ci

void setup() {
//define as portas como de saida
pinMode(Data, OUTPUT );
pinMode(Clock, OUTPUT );
pinMode(Latch, OUTPUT );
}


void loop() {
//  variavel de controle local do contador
  int x;
//  o contador
  x = 0;
    for (x = 85; x <= 170; x = x + 85) { // x e o numero a ser representado nos leds em binario
      shiftOut(Data, Clock, MSBFIRST, x);
      digitalWrite(Latch, HIGH);
      delay(20);
      digitalWrite(Latch, LOW);
      delay(500);
  }

}