// Incluye la biblioteca de ESP32
#include <Arduino.h>
// Definición de pines para el display de 7 segmentos
const int pinA = 2;
const int pinB = 0;
const int pinC = 4;
const int pinD = 16;
const int pinE = 17;
const int pinF = 5;
const int pinG = 18;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
// Configura los pines como salidas
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
}
void loop() {
// Muestra el número 0 en el display de 7 segmentos
displayNumber(0);
delay(1000);
// Muestra el número 1 en el display de 7 segmentos
displayNumber(1);
delay(1000);
// Muestra el número 2 en el display de 7 segmentos
displayNumber(2);
delay(1000);
displayNumber(3);
delay(1000);
displayNumber(4);
delay(1000);
displayNumber(5);
delay(1000);
displayNumber(6);
delay(1000);
displayNumber(7);
delay(1000);
displayNumber(8);
delay(1000);
displayNumber(9);
delay(1000);
for(int i=0;i<10;i++){
displayNumber(i);
delay(250);
}
// Puedes continuar con otros números o patrones según tus necesidades
}
// Función para mostrar un número en el display de 7 segmentos
void displayNumber(int number) {
// Define los patrones de segmentos para cada número (ejemplo para dígitos comunes catódicos)
byte patterns[] = {
//HGFEDCBA
B00111111, // 0
B00000110, //1
B01011011, // 2
B01001111, // 3
B01100110, // 4
B01101101, // 5
B11111101, // 6
B00000111, // 7
B01111111, // 8
B01101111 // 9
};
// Activa o desactiva los pines según el patrón del número
digitalWrite(pinA, bitRead(patterns[number], 0));
digitalWrite(pinB, bitRead(patterns[number], 1));
digitalWrite(pinC, bitRead(patterns[number], 2));
digitalWrite(pinD, bitRead(patterns[number], 3));
digitalWrite(pinE, bitRead(patterns[number], 4));
digitalWrite(pinF, bitRead(patterns[number], 5));
digitalWrite(pinG, bitRead(patterns[number], 6));
}