Pessoal, tentando aprender mutiplexação e shift register com estes dois componentes. A parte de hardware já entendi bem, o prolema é o código. Até agora só encontrei exemplos que criam um contador regressivo ou que fazer os leds piscarem com algum padrão. Eu só gostaria de um codigo que fizesse o Arduino apenas me apresentar um número. Por exemplo: Um determinado sensor me deu o número 4, queria que o display mostrasse o 4. Apenas isso!
Código que comecei a mexer:
int um[] = {0,1,1,0,0,0,0,0};
int dois[] = {1,1,0,1,1,0,1,0};
int tres[] = {1,1,1,1,0,0,1,0};
int quatro[] = {0,1,1,0,0,1,1,0};
int cinco[] = {1,0,1,1,0,1,1,0};
int seis[] = {1,0,1,1,1,1,1,0};
int sete[] = {1,1,1,0,0,0,0,0};
int oito[] = {1,1,1,1,1,1,1,0};
int nove[] = {1,1,1,1,0,1,1,0};
int zero[] = {1,1,1,1,1,1,0,0};
//array dos numeros
int *number[] = {zero,um,dois,tres,quatro,cinco,seis,sete,oito,nove};
//Define os pinos de saida
int SER = 8;
int RCLK = 9;
int SRCLK = 10;
int counter = 0;
void changeValues(int *val[]){
for (int j=0;j<10;j++){
for(int i=7; i > -1; i--){
//SRCLK deslocamento
digitalWrite(SRCLK, LOW);
//HIGH logo apos deslocar, setar o clock
digitalWrite(RCLK, HIGH);
int PIN = val[j][i];
//pino a deslocar
digitalWrite(SER, PIN);
//HIGH para ativar
digitalWrite(SRCLK, HIGH);
}
digitalWrite(RCLK, LOW);
delay(1000);
}
}
void setup(){
Serial.begin(9600);
//configurando pinos como saida
pinMode(SER,OUTPUT);
pinMode(RCLK,OUTPUT);
pinMode(SRCLK,OUTPUT);
}
void loop(){
changeValues(number);
counter += 1;
Serial.print (counter);
if (counter >7){counter =0;}
}
Tags:
up
Compara com esse trecho de código, acho q vc tá errando na sintaxe do shift out.
for (int k = 0; k < 10; k++)
{
// muda o latchPin para o estado low
digitalWrite(LATCH, LOW);
// shift out the bits:
delay(t);
shiftOut(DATA, CLOCK, MSBFIRST, digit[k]);
//shiftOut(DATA, CLOCK, bit mais significante primeiro, digit[k]
//muda o pino latch para high e escreve no LED:
digitalWrite(LATCH, HIGH);
// pause before next value:
Serial.print(k);
delay(t);
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por