quinta-feira, 10 de janeiro de 2013

Arduino - Contador negativo

Hoje a tarde chegaram meus arduinos !  E como eu gosto de desafio , vamos a mais um .

Contador negativo em um display de 7 segmentos !


Vamos a parte eletrica .
1 display de 7 segmentos de catodo comum .
10 jumpers ou fios
1- arduino

As ligações

Pinos do Arduino        Pinos Display

       2           →                 7

       3           →                 6

       4           →                 4

       5           →                 2
       6           →                 1
       7           →                 9
       8           →                10
       9           →                 5
      Gnd       →                 8

Codigo para a IDE 

byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0
{ 0,1,1,0,0,0,0 }, // = 1
{ 1,1,0,1,1,0,1 }, // = 2
{ 1,1,1,1,0,0,1 }, // = 3
{ 0,1,1,0,0,1,1 }, // = 4
{ 1,0,1,1,0,1,1 }, // = 5
{ 1,0,1,1,1,1,1 }, // = 6
{ 1,1,1,0,0,0,0 }, // = 7
{ 1,1,1,1,1,1,1 }, // = 8
{ 1,1,1,0,0,1,1 } // = 9
};

void setup() { 
pinMode(2, OUTPUT); 
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
writeDot(0); // start with the "dot" off
}

void writeDot(byte dot) {
digitalWrite(9, dot);
}

void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}

void loop() {
for (byte count = 10; count > 0; --count) {
delay(1000);
sevenSegWrite(count - 1);
}
delay(4000);
}

2 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderExcluir
  2. Tenho display positivo. Onde mudo no codigo?
    Funcionou c/ os bits invertido no meu caso. Mas eh o certo?

    ResponderExcluir