Загрузка страницы

Display 7 segmentos esp32

Nesse video é mostrado como funciona o circuito para controlar 2 displays de 7 segmentos de forma multiplexada.

Código fonte:

int decimal,unidade;
int valor_display = 0;

hw_timer_t *timer = NULL;
void timerDisplay(){
valor_display = valor_display + 1;
if(valor_display == 100){
valor_display = 0;
}
}
void setup() {
Serial.begin(115200);
Serial.println("testando");

pinMode(15, OUTPUT);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(19, OUTPUT);
pinMode(21, OUTPUT);
pinMode(5, OUTPUT);
pinMode(18, OUTPUT);

pinMode(12, OUTPUT); //display 1
pinMode(13, OUTPUT); //display 2

digitalWrite(15,LOW);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(19,LOW);
digitalWrite(21,LOW);
digitalWrite(5,LOW);
digitalWrite(18,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);

timer = timerBegin(0, 80, true);
timerAttachInterrupt(timer, &timerDisplay, true);
timerAlarmWrite(timer, 1000000, true);
timerAlarmEnable(timer);
}

void loop() {
multiplexa_display(valor_display);
}
void multiplexa_display(int valor){
decimal = valor / 10;
unidade = valor%10;

digito(unidade);
digitalWrite(12,HIGH);
delay(1);
digitalWrite(12,LOW);

digito(decimal);
digitalWrite(13,HIGH);
delay(1);
digitalWrite(13,LOW);
}

void digito(int numero){
if(numero == 0){
digitalWrite(15,HIGH);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,HIGH);
digitalWrite(18,LOW);
}
else if(numero == 1){
digitalWrite(15,LOW);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(19,LOW);
digitalWrite(21,HIGH);
digitalWrite(5,LOW);
digitalWrite(18,LOW);
}
else if(numero == 2){
digitalWrite(15,HIGH);
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,LOW);
digitalWrite(18,HIGH);
}
else if(numero == 3){
digitalWrite(15,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,LOW);
digitalWrite(18,HIGH);
}
else if(numero == 4){
digitalWrite(15,LOW);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(19,LOW);
digitalWrite(21,HIGH);
digitalWrite(5,HIGH);
digitalWrite(18,HIGH);
}
else if(numero == 5){
digitalWrite(15,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,LOW);
digitalWrite(5,HIGH);
digitalWrite(18,HIGH);
}
else if(numero == 6){
digitalWrite(15,HIGH);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,LOW);
digitalWrite(5,HIGH);
digitalWrite(18,HIGH);
}
else if(numero == 7){
digitalWrite(15,LOW);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,LOW);
digitalWrite(18,LOW);
}
else if(numero == 8){
digitalWrite(15,HIGH);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,HIGH);
digitalWrite(18,HIGH);
}
else{
digitalWrite(15,LOW);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(19,HIGH);
digitalWrite(21,HIGH);
digitalWrite(5,HIGH);
digitalWrite(18,HIGH);
}
}

Видео Display 7 segmentos esp32 канала Professor Neto Paschoal
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
6 октября 2019 г. 23:03:13
00:08:43
Яндекс.Метрика