Alguém poderia me ajudar, estou usando Arduino Uno e estou com problemas de programação para configurar o display.
Eu fiz 2 um display com fita de LED, eu queria mudar o numero usando botão de pulso,cada vez que apertar o botão soma mais 1 no display e também que ele conte até o numero 99.
Alguém poderia ajudar com o sketch.
Carlos kwiek
Veja este video, (Link abaixo) uma simulação com Proteus, talvez seja o que esta procurando, o autor compartilha os arquivos para o Arduino e para o Proteus caso queira simular também, ambos links para o Dropbox na descrição do video.
https://www.youtube.com/watch?v=KbO1w6kesdg&feature=youtu.be
Abs.
2 Nov, 2015
Wadeck Polli
vou postar pra ti um codigo que escrevi do zero sem uso de bibliotca:
const byte A = 7;
const byte B = 8;
const byte C = 9;
const byte D = 10;
const byte E = 11;
const byte F = 12;
const byte G = 6;
const byte UN = 4;
const byte DZ = 3;
unsigned long tempsatual,tempsalvo,tempsatuald,tempsalvod;
byte num;
bool flag = 0;
void setup() {
pinMode(A,OUTPUT);
pinMode(B,OUTPUT);
pinMode(C,OUTPUT);
pinMode(D,OUTPUT);
pinMode(E,OUTPUT);
pinMode(F,OUTPUT);
pinMode(G,OUTPUT);
pinMode(UN,OUTPUT);
pinMode(DZ,OUTPUT);
tempsalvo = 0;
num = 0;
}
void loop() {
tempsatual = millis();
if((tempsatual - tempsalvo) >= 1000){
num++;
tempsalvo = tempsatual;
}
if(num > 99){
num = 0;
}
escreve(num);
}
////////////////////////////////////////////////////////////////////////////////////////////////
void escreve(byte n){
byte u = 0;
byte d = 0;
byte aux;
d = n / 10;
u = n % 10; //equivale a "n mod 10"
tempsatuald = millis();
if(tempsatuald - tempsalvod >= 10){
flag = !flag;
tempsalvod = tempsatuald;
}
if(flag == 0)
{
aux = u;
digitalWrite(UN,1);
digitalWrite(DZ,0);
}
if(flag == 1)
{
aux = d;
digitalWrite(DZ,1);
digitalWrite(UN,0);
}
switch(aux){
case 0:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
break;
case 1:
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
break;
case 2:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
digitalWrite(G,LOW);
break;
case 3:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,LOW);
break;
case 4:
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
break;
case 5:
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
break;
case 6:
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
break;
case 7:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
break;
case 8:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
break;
case 9:
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
break;
}
}
////////////////////////////////////////////////////////////////////////////////////////////
espero ter ajudado!
3 Nov, 2015
José Gustavo Abreu Murta
Gostei muito do seu projeto - simples e eficiente !
Já esta funcionando ?
Parabéns !
29 Nov, 2015