Ir ao conteúdo
  • Cadastre-se
duaron

Display de segmentos com 4 digitos em arduino

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

meus  parabéns  muito  legal sua  postagem   e será de fato  uma  boa  contribuição  para o fórum para  futuras pesquisas  pois  esta crescendo  muito o numero de adeptos

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×