Problemas de escaneo de retraso rápido de Proteus 8x8 led

0

Así que estoy practicando registros de cambio.

Estoy tratando de dibujar una imagen sonriente en el LED 8x8.

Al principio, estaba bien porque configuré el retraso de escaneo en 1 segundo. pero en realidad, esto debe configurarse en un retraso más rápido (más cercano a ningún retraso) para que pueda ver la imagen sonriente de forma permanente.

Así que configuré 10 microsegundos para el retraso, pero cuando ejecuto el programa, la imagen sonriente ya no aparecerá. ¿Es el programa demasiado rápido para que el software Proteus maneje esto?

Por cierto, estoy viendo este tutorial para mi referencia y ambos hicimos lo mismo, excepto que estoy usando otro registro de desplazamiento (HEF4094) con una matriz de transistores (UL2003A). enlace

aquí está mi código:

int dataPin1 = 2;
int dataPin2 = 3;
int clockPin1 = 4;
int clockPin2 = 5;
int latchPin = 8;

int delayTime = 5;

int scan[]={1,2,4,8,16,32,64,128,256};
int smile[]={0,36,36,36,0,66,60,0};

void setup() {

  pinMode(dataPin1,OUTPUT);
  pinMode(dataPin2,OUTPUT);
  pinMode(clockPin1,OUTPUT);
  pinMode(clockPin2,OUTPUT);
  pinMode(latchPin,OUTPUT);


}

void loop() {

  for(int i=0;i<7;i++){
     shiftOut(dataPin2,clockPin2,LSBFIRST, scan[i]);
     shiftOut(dataPin1,clockPin1,MSBFIRST, smile[i]); 
     disp();
  }

}
void disp(){

  digitalWrite(latchPin, HIGH); 
  delay(delayTime);
  digitalWrite(latchPin, LOW); 
  delay(delayTime);


}
    
pregunta APR SAW

1 respuesta

0
  

¿Es el programa demasiado rápido para que el software Proteus maneje esto?

No, el software puede manejar ese tipo de cosas. He hecho lo mismo con un transistor para cada pantalla de siete segmentos. Si tengo dos siete segmentos, cuando uno está apagado, el otro está activado y viceversa. Todo esto se hace a una velocidad muy rápida que no se puede detectar a simple vista, y Proteus lo manejó bien.

¿Podría haber algo en tu código que no esté funcionando?

    
respondido por el Rrz0

Lea otras preguntas en las etiquetas