// libreria ledcontrol para la matriz
#include "LedControl.h"
int DataPin = 9; //pin 9 DataIn
int ClockPin = 10; //pin 10 CLK
int LatchPIN = 8; //pin 8 LOAD/CS
int POT1 = A0; //A0 Potenciometro 10k
LedControl lc=LedControl(DataPin,ClockPin,LatchPIN,1);
//retardo
unsigned long delaytime=100;
byte cero[5]={ B00111110, B01000001, B01000001, B00111110, B00000000}; // silaba katakana KA
byte uno[5]={ B01000010, B01111111, B01000000, B00000000, B00000000}; // silaba katakana RU
byte dos[5]={ B01100010, B01010001, B01001001, B01000110, B00000000}; // silaba katakana RO
byte tres[5]={ B00100010, B01000001, B01001001, B00110110, B00000000}; // silaba katakana SU
byte cuatro[5]={ B00011000, B00010100, B00010010, B01111111, B00000000};
byte cinco[5]={ B00100111, B01000101, B01000101, B00111001, B00000000};
byte seis[5]={ B00111110, B01001001, B01001001, B00110000, B00000000};
byte siete[5]={ B01100001, B00010001, B00001001, B00000111, B00000000};
byte ocho[5]={ B00110110, B01001001, B01001001, B00110110, B00000000};
byte nueve[5]={ B00000110, B01001001, B01001001, B00111110, B00000000};
byte espacio[5]={ B00000000, B00000000, B00000000, B00000000, B00000000};
byte kar[100] = {
B00000000, B00000000, B00000000, B00000000, B00000000,
B00111110, B01000001, B01000001, B00111110, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B01000010, B01111111, B01000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B01100010, B01010001, B01001001, B01000110, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00100010, B01000001, B01001001, B00110110, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00011000, B00010100, B00010010, B01111111, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00100111, B01000101, B01000101, B00111001, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00111110, B01001001, B01001001, B00110000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B01100001, B00010001, B00001001, B00000111, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00110110, B01001001, B01001001, B00110110, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000,
B00000110, B01001001, B01001001, B00111110, B00000000};
void setup() {
//el MAX7219 esta en modo Power-saving cuando se inicia, se debe sacar de ese estado
lc.shutdown(0,false);
lc.setIntensity(0,4); // configurar brillo
lc.clearDisplay(0); // borrar pantalla
pinMode(POT1,INPUT);
//pinMode(data,OUTPUT);
//pinMode(clock,OUTPUT);
//pinMode(latch,OUTPUT);
}
void loop()
// Dependiendo de cada dígito, se envía a la función display los estados (0 y 1) a cada uno de los segmentos.
{
int t1=analogRead(POT1);
int pos=map(t1,0,1023,0,94);
lc.setRow(0,0,0);
// for (int j=0;j<50;j++){
lc.setRow(0,0,kar[pos]);
lc.setRow(0,1,kar[pos+1]);
lc.setRow(0,2,kar[pos+2]);
lc.setRow(0,3,kar[pos+3]);
lc.setRow(0,4,kar[pos+4]);
lc.setRow(0,5,kar[pos+5]);
lc.setRow(0,6,kar[pos+6]);
lc.setRow(0,7,kar[pos+7]);
delay(200);
//digitalWrite(LatchPIN, LOW);
//shiftOut(DataPin, ClockPin, MSBFIRST, kar[pos]);
//digitalWrite(LatchPIN, HIGH);
}