/* ********************************************* UNIVERSIDAD DE COSTA RICA ESCUELA DE INGENIERIA ELECTRICA PROTEA SILABARIO ELECTRÓNICO ********************************************* */ //Libreria de la LCD empleada #include //Declaracion de los pines digitales usados por la LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Silabarios a utilizar char* sil1[7] = {"ca","ma","pa","ta","sa","me","te"}; char* sil2[7] = {"la","ca","sa","ta","se","ce","pa"}; char* sil3[7] = {"la","ca","sa","ta","se","ce","pa"}; //Control con las perillas const int seleccion_sil1 = A0; const int seleccion_sil2 = A1; const int seleccion_sil3 = A2; //Declaracion del estado de los botones int lectura_sil1; int lectura_sil2; int lectura_sil3; //Funcion inicial void setup() { Serial.begin(9600); //Inicializacion de la LCD lcd.begin(16, 2); //Escritura en LCD //Arriba lcd.setCursor(0,0); lcd.print("Nueva palabra :)"); } void loop() { //Lectura del estado de los botones lectura_sil1 = analogRead(seleccion_sil1); lectura_sil2 = analogRead(seleccion_sil2); lectura_sil3 = analogRead(seleccion_sil3); //Deficion de rangos //Rango para la silaba 1 int rango_sil1 = map(lectura_sil1, 0, 1023, 0, 6); if((digitalRead(7) == true)) { lcd.setCursor(4,1); lcd.print(" "); } else { switch(rango_sil1) { case 0: lcd.setCursor(4,1); lcd.print(sil1[0]); break; case 1: lcd.setCursor(4,1); lcd.print(sil1[1]); break; case 2: lcd.setCursor(4,1); lcd.print(sil1[2]); break; case 3: lcd.setCursor(4,1); lcd.print(sil1[3]); break; case 4: lcd.setCursor(4,1); lcd.print(sil1[4]); break; case 5: lcd.setCursor(4,1); lcd.print(sil1[5]); break; case 6: lcd.setCursor(4,1); lcd.print(sil1[6]); break; } } //Rango para la silaba 2 int rango_sil2 = map(lectura_sil2, 0, 1023, 0, 6); if((digitalRead(8) == true)) { lcd.setCursor(7,1); lcd.print(" "); } else { switch(rango_sil2) { case 0: lcd.setCursor(7,1); lcd.print(sil2[0]); break; case 1: lcd.setCursor(7,1); lcd.print(sil2[1]); break; case 2: lcd.setCursor(7,1); lcd.print(sil2[2]); break; case 3: lcd.setCursor(7,1); lcd.print(sil2[3]); break; case 4: lcd.setCursor(7,1); lcd.print(sil2[4]); break; case 5: lcd.setCursor(7,1); lcd.print(sil2[5]); break; case 6: lcd.setCursor(7,1); lcd.print(sil2[6]); break; } } //Rango para la silaba 3 int rango_sil3 = map(lectura_sil3, 0, 1023, 0, 6); if((digitalRead(9) == true)) { lcd.setCursor(10,1); lcd.print(" "); } else { switch(rango_sil3) { case 0: lcd.setCursor(10,1); lcd.print(sil3[0]); break; case 1: lcd.setCursor(10,1); lcd.print(sil3[1]); break; case 2: lcd.setCursor(10,1); lcd.print(sil3[2]); break; case 3: lcd.setCursor(10,1); lcd.print(sil3[3]); break; case 4: lcd.setCursor(10,1); lcd.print(sil3[4]); break; case 5: lcd.setCursor(10,1); lcd.print(sil3[5]); break; case 6: lcd.setCursor(10,1); lcd.print(sil3[6]); break; } } }