Display 7 segmentos con Arduino

A continuación se muestra como controlar un par de display de 7 segmentos con Arduino. Arduino lee números del 0 al 99 desde el monitor seria y los proyecta en los dos display.

byte  numero[10][8] =
{
  { 0, 0, 0, 0, 0, 0, 1, 1 }, // 0
  { 1, 1, 0, 0, 1, 1, 1, 1 }, // 1
  { 0, 0, 1, 0, 0, 1, 0, 1 }, // 2
  { 1, 0, 0, 0, 0, 1, 0, 1 }, // 3
  { 1, 1, 0, 0, 1, 0, 0, 1 }, // 4
  { 1, 0, 0, 1, 0, 0, 0, 1 }, // 5
  { 0, 0, 0, 1, 0, 0, 0, 1 }, // 6
  { 1, 1, 0, 0, 0, 1, 1, 1 }, // 7
  { 0, 0, 0, 0, 0, 0, 0, 1 }, // 8
  { 1, 0, 0, 0, 0, 0, 0, 1 } // 9
};
int digito;
int decena;
int unidad;

void setup() {
  // Iniciamos el monitor serie
  Serial.begin(9600);
 
  // Ponemos los pines de los segmentos en modo OUTPUT (salida)
  for (int i = 2; i < 10; i++)
  {
    pinMode(i, OUTPUT);
  }
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
}
 
void loop() {
    if(Serial.available()>0){
      digito = Serial.parseInt();
      Serial.print("Recibido: ");
      Serial.println(digito);
      }

    //Serial.println(digito);
    digitalWrite(11,HIGH);
    digitalWrite(10,LOW);
    decena =digito/10;
    //Serial.println(decena);
    for (int e = 0; e < 8; e++){
      digitalWrite(e + 2, numero[decena][e]);
    }
    delay(10);
    digitalWrite(11,LOW);
    digitalWrite(10,HIGH);
    unidad = digito % 10;
    //Serial.println(unidad);
    for (int e = 0; e < 8; e++){
      digitalWrite(e + 2, numero[unidad][e]);
    }
    delay(10);
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
}

Si necesitas asesoría en proyectos de Arduino, Raspberry, electrónica, estamos localizados en la ciudad de Quito Ecuador. Somos Microlab.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *