// Definición de pines para el display de 7 segmentos
int segmentPins[] = {26,27,25,33,32, 14, 12}; // Pines a-gdel display
// Pines del dip switch
byte segmentMap[] = {
B1000000, // 'c'
B0100110, // 'h'
B0001101, // 'o'
B0100011, // 'c'
B0111110, // 'o'
B0000010, // 'l'
B0001101, // 'a'
B0001111, // 't'
B1001111, // 'e'
B0000000, // Espacio en blanco
}
int dppin[] = {35,34, 39,36}; // Conéctalos a los pines de tu ESP32
// Mapa de segmentos para las letras
byte dpcond[]={
B0001,//C
B0010,//H
B0100,//O
B1000,//C
B0011,//O
B0101,//L
B1001,//A
B0111,//T
B1011,//E
B000, // BLANCO
}
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
for (int i = 0; i < 4; i++) {
pinMode(dppin[i], INPUT);
}
}
void loop() {
// Lee la configuración del dip switch
int dipSwitchValue = 0;
for (int i = 0; i < 4; i++) {
bool coincidence =true;
if(digitalRead(dppin[i]) != dpcond[i])
//dipSwitchValue |= digitalRead(dppin[i]) << i;
}
// Muestra la letra correspondiente a la configuración del dip switch
encenderled(dipSwitchValue);
}
void encenderled(int dipSwitchValue) {
// Mapea la configuración del dip switch a un índice válido para segmentMap
bool coincide = true;
// Enciende los segmentos correspondientes
for (int i = 0; i < ; i++) {
digitalWrite(segmentPins[i], bitRead(segmentMap[index], i));
}
}