es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo muestro 2 números diferentes en una pantalla de 7 segmentos de 2 dígitos y 10 pines?

int a = 13;
int b = 6;
int c = 11;
int d = 10;
int e = 9;
int f = 8;
int g = 7;
int digit1 = 5;
int digit2 = 4;

void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(digit1, OUTPUT);
pinMode(digit2, OUTPUT);
}

void six() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(digit1, HIGH);
delay(1000);
}

void nine() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(digit2, HIGH);
}

void loop()
{
six();
nine();
}

Tengo este código en el que quiero mostrar el número 69 en mi pantalla pero todo lo que muestra es 66. ¿Alguien puede decirme cuál es el problema y si está en el código o el cableado (en el diagrama de cableado no pude encontrar una pantalla de 2 dígitos pero usé una de 1 dígito ya que tiene la misma cantidad de pines, así que tenga en cuenta que el cableado es para una de 2 dígitos)? [Gracias de antemano. Diagrama de cableado]

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema parece estar en el código. La función seis() solo muestra el dígito 6 en el primer dígito, pero no lo apaga antes de mostrar el segundo dígito. Por lo tanto, cuando se llama a la función nueve(), se muestra en el segundo dígito pero el primer dígito todavía muestra un 6.

    Para solucionar esto, después de llamar a la función seis() y antes de llamar a la función nueve(), el primer dígito debe apagarse. Una forma de hacer esto es agregando la línea digitalWrite(digit1, LOW); antes de llamar a la función nueve(). Esto apagará el primer dígito antes de mostrar el segundo dígito, dando la apariencia del número 69 en la pantalla.

    Otra cosa a verificar es si el cableado es correcto y la pantalla está recibiendo las señales correctamente del Arduino. Revise las conexiones para asegurarse de que coinciden con los pines en el código.

Comments are closed.