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
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
Показать
Комментарии отсутствуют
Информация о видео
6 октября 2019 г. 23:03:13
00:08:43
Другие видео канала
Raspberry Pi com Python - Lendo arquivosCurso de interface gráfica com PyQt6 #2 - Criando a primeira janela#1 - Curso de Shell Script na Raspberry PiCurso de PyQT5 #17 - FramesQual conteúdo você quer ver no canal?Como instalar a versão mais atual do Python no Windows 10Como projetar um driver para acionar motor dc com transistor PNPCurso de PyQt5 #6 - Caixa de textoInterface gráfica com Python #1 - LabelsMatplotlib #2- Gráfico com 3 variáveisCurso Python 3 - TuplasCurso de PyQt5 #5 - ImagensInterface gráfica com python #4- IMAGENSCurso de PyQt5 #4 - LabelWebscraping de fundos imobiliários com python"ModuleNotFoundError: No module named 'PIL'" | Erro do matplotlibCurso de PyQT5 #16 - Check BoxEnviando dados para o firebase usando um push button ligado ao esp8266Interface gráfica com python#5 - CheckboxCurso de PyQT5 #15 - Menu