Ir ao conteúdo
  • Cadastre-se

Display de segmentos com 4 digitos em arduino


Posts recomendados

Boas

Venho aqui deixar uma pequena experiencia que fiz para explorar um display de segmentos com 4 digitos que veio com o meu kit de arduino.
Como podem ver no video está a fazer uma contagem automatica e um loop que fiz no final.

Deixo o codigo tambem para verem e comentarem.

Código: http://pastebin.com/XetmSAdk

Video demo: 



Pseudo esquema (o fritzing nao tinha o meu display exato):

 

IcSxnk3.png

 

Este é o ultimo video, troquei a posição das resistências, agora estão na ligação positiva e assim já consigo ter um brilho igual em todos os algarismos, estou a trabalhar tambem num novo codigo mais otimizado, depois colocarei aqui.

https://www.youtube.com/watch?v=bOazbqqr-gE

 

Cumprimentos

duaron

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

muito bom


e assim que comecam grandes desenvolvedores


tambem comecei com um kit de arduino


comprei da robocore


agora comprei um raspberry pi


da modmypi


distribuidora oficial


por 35 dollares


foi uma otima compra


e agora sou mais avancado


:)


:confused:  :mad:  :mad:  ;)  ;)  :cool:


:eek: gostei dos emoji


:rolleyes:


legal


essis emoji

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Aqui têm o ultimo código, com umas alterações de otimização e melhor controlo.

//arduino 4 digit 7 segment project#define DIGIT_ON  HIGH#define DIGIT_OFF  LOW int time = 10; int x=100; int a = 1;int b = 2;int c = 3;int d = 4;int e = 5;int f = 6;int g = 7;//segmentschar seg[]= {a,b,c,d,e,f,g};//numbers and othersint num[10][7] = {{1,1,1,1,1,1,0}, //0         {0,0,1,1,0,0,0}, //1         {1,1,0,1,1,0,1}, //2         {0,1,1,1,1,0,1}, //3         {0,0,1,1,0,1,1}, //4         {0,1,1,0,1,1,1}, //5         {1,1,1,0,1,1,1}, //6         {0,0,1,1,1,0,0}, //7         {1,1,1,1,1,1,1}, //8         {0,0,1,1,1,1,1}};//9 int hifen[] =   {0,0,0,0,0,0,1}; //-int o[] =       {1,1,1,0,0,0,1}; //o long t,t2; //time of numbers void setup(){ pinMode(13, OUTPUT);// 4 digit pinMode(12, OUTPUT);// 3 digit pinMode(11, OUTPUT);// 2 digit pinMode(10, OUTPUT);// 1 digit  pinMode(g, OUTPUT); pinMode(f, OUTPUT); pinMode(e, OUTPUT); pinMode(d, OUTPUT); pinMode(c, OUTPUT); pinMode(b, OUTPUT); pinMode(a, OUTPUT);} void loop(){  //counter  for(int i=0; i<10; i++){    for(int j=0; j<10; j++){      for(int k=0; k<10; k++){        for(int l=0; l<10; l++){          t=millis();                    while(t2<(t+1000)){ //1s, podem colocar o contador a correr à velocidade que quiserem            printNumber(i,3);            delayMicroseconds(time);            printNumber(j,2);            delayMicroseconds(time);            printNumber(k,1);            delayMicroseconds(time);            printNumber(l,0);            delayMicroseconds(time);            t2=millis();          }        }      }    }    }   //loop  /*  for(int i =0 ; i<8 ; i++){     lightNumber(o);     digitalWrite((10),LOW);     delay(200);     lightNumber(hifen);     digitalWrite((11),LOW);     delay(200);     lightNumber(hifen);     digitalWrite((12),LOW);     delay(200);     lightNumber(o);     digitalWrite((13),LOW);     delay(200);     lightNumber(hifen);     digitalWrite((12),LOW);     delay(200);     lightNumber(hifen);     digitalWrite((11),LOW);     delay(200);   } */} void lightNumber(int c[]){  clearLeds();  for(int i=0; i<7; i++){    if(c[i]==1){      digitalWrite(seg[i], HIGH);    }  }} void printNumber(int n, int index){  clearLeds();  if(n>=0 && n<=9){    lightNumber(num[n]);    }    digitalWrite((10+index),LOW);} void clearLeds(){  for(int i=0; i<7; i++){    digitalWrite(seg[i], LOW);  }  digitalWrite(13, HIGH);  digitalWrite(12, HIGH);  digitalWrite(11, HIGH);  digitalWrite(10, HIGH);}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...