martes, 20 de diciembre de 2016

Programa 2. Manejo del display

En esta ocasión vamos a aprender a manejar el display de cátodo común que hemos conectado a nuestro Arduino nano. En la figura se puede ver como se encuentra conectado. Y también hemos aprovechado para conectar un pulsador que usaremos más adelante.

Este es el programa que hemos hecho para conseguir explorar el pulsador, y cuando se pulse debe iluminar el segmento del punto durante medio segundo para después empezar a descontar por el display desde el número 3 al 0.

/*
Comprueba pulsador y cuando se accione empieza a descontar por el display
*/
    int n; 
    int pulsador;
    int pin_pulsador =10;
    int pin_punto = 9;

    void setup()   {                

        for (n=0;n<10;n++) pinMode(n, OUTPUT);
        pinMode(10, INPUT);
       

    }

    void loop()                     
    { 
        pulsador = digitalRead(pin_pulsador);
        if (pulsador == 0)
        {
           digitalWrite(pin_punto, HIGH);
            delay(500);
            // 3
            digitalWrite(2, HIGH);
            digitalWrite(3, HIGH); 
            digitalWrite(4, HIGH);
            digitalWrite(5, HIGH);
            digitalWrite(6, LOW); 
            digitalWrite(7, LOW);
            digitalWrite(8, HIGH);
            delay(2000);
            // 2
            digitalWrite(2, HIGH);
            digitalWrite(3, HIGH); 
            digitalWrite(4, LOW);
            digitalWrite(5, HIGH);
            digitalWrite(6, HIGH); 
            digitalWrite(7, LOW);
            digitalWrite(8, HIGH);
            delay(2000);
           
            //1
            digitalWrite(2, LOW);
            digitalWrite(3, HIGH); 
            digitalWrite(4, HIGH);
            digitalWrite(5, LOW);
            digitalWrite(6, LOW); 
            digitalWrite(7, LOW);
            digitalWrite(8, LOW);
            delay(2000);
            //0
            digitalWrite(2, HIGH);
            digitalWrite(3, HIGH); 
            digitalWrite(4, HIGH);
            digitalWrite(5, HIGH);
            digitalWrite(6, HIGH); 
            digitalWrite(7, HIGH);
            digitalWrite(8, LOW);
            delay(2000);
           
           
        }
        else digitalWrite(pin_punto, LOW);
               
    }