#include LiquidCrystal lcd (8,3,4,5,6,7); byte ascii,entraByte,x,lm,xxx; char caracter; float convert_dec,acum,med,med_ant,ta[20]; char tipo; int val,val1=1,val_ant,ot_ley=6319,y; //-------------------TABLAS----------------------------- float P6319[20]={8.490,8.540,8.541,8.591,8.592,8.642,8.643,8.693,8.694,8.744,8.745,8.795,8.796,8.846,8.847,8.897,8.898,8.948,8.949,9.000}; float P6320[20]={9.700,9.750,9.751,9.801,9.802,9.852,9.853,9.903,9.904,9.954,9.955,10.005,10.006,10.056,10.057,10.107,10.108,10.158,10.159,10.210}; float P6314[20]={7.800,7.850,7.851,7.901,7.902,7.952,7.953,8.003,8.004,8.054,8.055,8.105,8.106,8.156,8.157,8,207,}; float P6315[20]={9.370,9.420,9.421,9.471,9.472,9.522,9.523,9.573,9.574,9.624}; //------------------------------------------------------ void tabla(){ tabla_carga(); if (med=ta[1]&med<=ta[2]) {lm=1;tipo=65;} if (med>=ta[3]&med<=ta[4]) {lm=2;tipo=66;} if (med>=ta[5]&med<=ta[6]) {lm=3;tipo=67;} if (med>=ta[7]&med<=ta[8]) {lm=4;tipo=68;} if (med>=ta[9]&med<=ta[10]) {lm=5;tipo=69;} if (med>=ta[11]&med<=ta[12]) {lm=6;tipo=70;} if (med>=ta[13]&med<=ta[14]) {lm=7;tipo=71;} if (med>=ta[15]&med<=ta[16]) {lm=8;tipo=72;} if (med>=ta[17]&med<=ta[18]) {lm=9;tipo=73;} if (med>=ta[19]&med<=ta[20]) {lm=10;tipo=74;} if (med>ta[20]) {lm=11;} } //------------------------------------------------------ void imp_disp(){ //val = analogRead(0); //val1 = map(val, 0, 1023, 1,4); //if (val1==val_ant){} else {val_ant=val1;} val1=1;tabla_carga(); tabla(); lcd.setCursor(0,0); lcd.print("Tipo: KIT"); //if (lm>0&lm<11){ lcd.setCursor(12,0); lcd.print(med); lcd.setCursor(6,0); lcd.print(tipo); //} lcd.setCursor(0,1); lcd.print("MIN----------MAX"); if (lm==12){lcd.setCursor(3,1);lcd.print("<<");goto fin;} if (lm==11){lcd.setCursor(11,1);lcd.print(">>");goto fin;} lcd.setCursor(lm+2,1); lcd.write(1023); fin:; delay(50); } //------------------------------------------------------ void tabla_carga(){ if (val==1){for (y=1;y<=20;y++){ta[y]=P6319[y];}ot_ley=6319;} if (val==2){for (y=0;y<=19;y++){ta[y]=P6320[y];}ot_ley=6320;} if (val==3){for (y=0;y<=19;y++){ta[y]=P6314[y];}ot_ley=6314;} if (val==4){for (y=0;y<=19;y++){ta[y]=P6315[y];}ot_ley=6315;} } void setup() { lcd.begin(16, 2); lcd.clear(); Serial.begin(9600); delay(100); digitalWrite(12,1); } void traducc(){ x++; convert_dec=caracter-48; switch(x){ case 1: acum+=(convert_dec*10); break; case 2: acum+=convert_dec; break; case 4: acum+=(convert_dec/10); break; case 5: acum+=(convert_dec/100); break; case 6: acum+=(convert_dec/1000); break; } med=acum; } //------------------------------------------------------ void loop() { if (Serial.available() > 0) { entraByte = Serial.read(); ascii=(entraByte); char caracter=ascii; if (caracter==2){ imp_disp();acum=0;x=0;}else { traducc(); }}}