//UNION DE PRACTICAS DE INTENSIDAD Y DISPLAY
//JEAL, SBA, AFRI
// 7MIR1
int e = 22, s = 23;
int leds[] = {5, 18, 15, 2, 0, 17, 16};
int i;
int contador = 0;
const int ledPin = 19;
void encender(int a, int b, int c, int d, int e, int f, int g)
{
//Funcion que permite mostrar los numeros del 0 al 9
//Asigna un segmento del display a cada pin
digitalWrite(5, a); //SEGA a pin 5
digitalWrite(18, b); //SEGB a pin 18
digitalWrite(15, c); //SEGC a pin 5
digitalWrite(2, d); //SEGD a pin 17
digitalWrite(0, e); //SEGE a pin 16
digitalWrite(17, f); //SEGF a pin 4
digitalWrite(16, g); //SEGG a pin 0
}
// propiedades de PWM
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 12;
void setup(){
Serial.begin(9600);
pinMode(e, INPUT);
pinMode(s, INPUT);
for(i=0; i<=8; i++)
{
pinMode(leds[i], OUTPUT);
}
// LED PWM
ledcSetup(ledChannel, freq, resolution);
// CONTROLADOR GPIO
ledcAttachPin(ledPin, ledChannel);
}
void loop(){
if(digitalRead(s) == HIGH)
{
int sensorValue = analogRead(A10);
Serial.println(sensorValue);
ledcWrite(ledChannel, sensorValue);
delay(100);
}
if(digitalRead(s) == LOW)
{
if(digitalRead(e) == LOW)
{
delay(20);
if(digitalRead(e) == HIGH)
{
contador++;
delay(200);
if(contador > 10)
contador = 0;
}
}
switch (contador)
{
//Dependiendo del contador, se muestra el numero indicado
//Envia estados (1 y 0) al display dependiendo del numero a mostrar
case 0:
encender (1, 1, 1, 1, 1, 1, 0); //Muestra el numero 0
break;
case 1:
encender (0, 1, 1, 0, 0, 0, 0); //Muestra el numero 1
break;
case 2:
encender (1, 1, 0, 1, 1, 0, 1); //Muestra el numero 2
break;
case 3:
encender (1, 1, 1, 1, 0, 0, 1); //Muestra el numero 3
break;
case 4:
encender (0, 1, 1, 0, 0, 1, 1); //Muestra el numero 4
break;
case 5:
encender (1, 0, 1, 1, 0, 1, 1); //Muestra el numero 5
break;
case 6:
encender (1, 0, 1, 1, 1, 1, 1); //Muestra el numero 6
break;
case 7:
encender (1, 1, 1, 0, 0, 0, 0); //Muestra el numero 7
break;
case 8:
encender (1, 1, 1, 1, 1, 1, 1); //Muestra el numero 8
break;
case 9:
encender (1, 1, 1, 0, 0, 1, 1); //Muestra el numero 9
break;
}
}
}