Hoy realizaremos una tarea con un display, esta vez igual que la anterior consistirá en hacer que el display recorra los números del 1 al 9 pero manejándolo con un potencómetro.
Un potienciómetro es una resistencia variable mecánica, esta nos va a permitir mostrar en el display unos determinados números dependiendo del valor que demos a esta resistencia. Por lo tanto el programa será de la siguiente manera:
**NOTA: Al final de la entrada os dejaré un video del funcionamiento**
const int analogPin = A0;
int value; //variable que almacena la lectura analógica del potienciometro
int num; //posicion del potenciometro en tanto por ciento
int matriz[10][7]={//leds que se tienen que encender para cada numero (0-9)
{
1,1,1,1,1,1,0 }
,
{
0,1,1,0,0,0,0 }
,
{
1,1,0,1,1,0,1 }
,
{
1,1,1,1,0,0,1 }
,
{
0,1,1,0,0,1,1 }
,
{
1,0,1,1,0,1,1 }
,
{
1,0,1,1,1,1,1 }
,
{
1,1,1,0,0,0,0 }
,
{
1,1,1,1,1,1,1 }
,
{
1,1,1,1,0,1,1 }
};
void setup() {
for(int i=2; i<9; i++)
{
pinMode(i, OUTPUT);
}
}
void loop() {
value = analogRead(analogPin); // realizar la lectura analógica de potienciometro
num = map(value, 0, 1023, 0, 9); // convertir a porcentaje
for(int i=0; i<7; i++) //i son los pines
{
if(matriz[num][i]==1)
{
digitalWrite(i+2, HIGH);
}
else
{
digitalWrite(i+2, LOW);
}
}
//delay(1000);
Serial.print(num);
}
------------------------------------VIDEO-------------------------------------------
link: https://youtu.be/594WCYPTWDM