int8_t x[16]{ //
0b00000000,// 0
0b00000001,// 1
0b00000010,// 2
0b00000011,// 3
0b00000100,// 4
0b00000101,// 5
0b00000110,// 6
0b00000111,// 7
0b00001000,// 8
0b00001001,// 9
0b00001010,// 10
0b00001011,// 11
0b00001100,// 12
0b00001101,// 13
0b00001110,// 14
0b00001111,// 15
};
#define S0 2
#define S1 0
#define S2 4
#define S3 16
#define EN 15
#define bt 17
bool set = 0, reset = 0;
int RGB = 5;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(EN, OUTPUT);
pinMode(bt, INPUT);
}
void multiplex(int valor){
digitalWrite(S0, x[valor] & 0b00000001);
digitalWrite(S1, x[valor] & 0b00000010);
digitalWrite(S2, x[valor] & 0b00000100);
digitalWrite(S3, x[valor] & 0b00001000);
}
void loop() {
if (digitalRead(bt) == 1 && set == 0){
set = 1;
reset = !reset;
Serial.println(reset);
}
if(digitalRead(bt) == 0 && set == 1)set = 0;
multiplex(RGB);
digitalWrite(EN, 0);
delay(10);
digitalWrite(EN, 1);
if(reset == 1)RGB == 5;
if(reset == 0)RGB == 0;
}
Loading
cd74hc4067
cd74hc4067