/*
Codi per a DESencriptar missatges
LIMITACIONS:
El text a DESencriptar NO pot contenir:
- Majúscules
- comes i/o punts
- accents i/o apòstrofs
- símbols
- números
- La lletra ñ
- MÀXIM DE CARÀCTERS --> 50
Si no respecteu aquestes limitacions, la encriptació i/o desencriptació no funcionarà de forma correcte */
char cadena[50]; //Creem un array que emmagatzemarà els caràcters que escriurem en la consola del PC. Li assignem un topall de caràcters, en aquest cas 50
byte posicion=0; //Variable per a canviar la posició dels caràcters del array
int valor; //Variable de valor sencer
char enc[50];//guardem el caràcter encriptat
byte i=0;
void setup(){
Serial.begin(9600);
}
void loop()
{
if(Serial.available()) //Ens diu si hi ha dades dins del buffer
{
memset(cadena, 0,sizeof(cadena));//memset esborra el contingut de l'array "cadena" des de la posició 0 fins al final sizeof
memset(enc, 0,sizeof(enc));
while(Serial.available()>0) //Mentre hi hagi dades en el buffer executa la funció
{
delay(10);//petit delay per a millorar la recepció de dades
cadena[posicion]=Serial.read();//Lee un caràcter del string "cadena" de la "posicion", després llegeix el següent caràcter amb "posicion++"
posicion++;
}
while ( i<50 ){
if(cadena[i]=='f'){
enc[i]='q';
}
if(cadena[i]=='g'){
enc[i]='w';
}
if(cadena[i]=='h'){
enc[i]='e';
}
if(cadena[i]=='j'){
enc[i]='r';
}
if(cadena[i]=='k'){
enc[i]='t';
}
if(cadena[i]=='l'){
enc[i]='y';
}
if(cadena[i]=='q'){
enc[i]='u';
}
if(cadena[i]=='p'){
enc[i]='i';
}
if(cadena[i]=='u'){
enc[i]='o';
}
if(cadena[i]=='i'){
enc[i]='p';
}
if(cadena[i]=='*'){
enc[i]='a';
}
if(cadena[i]=='y'){
enc[i]='s';
}
if(cadena[i]=='t'){
enc[i]='d';
}
if(cadena[i]=='r'){
enc[i]='f';
}
if(cadena[i]=='e'){
enc[i]='g';
}
if(cadena[i]=='w'){
enc[i]='h';
}
if(cadena[i]=='a'){
enc[i]='j';
}
if(cadena[i]=='0'){
enc[i]='k';
}
if(cadena[i]=='9'){
enc[i]='l';
}
//if(cadena[i]=='8'){
// enc[i]='ñ';
//}
if(cadena[i]=='7'){
enc[i]='z';
}
if(cadena[i]=='6'){
enc[i]='x';
}
if(cadena[i]=='5'){
enc[i]='c';
}
if(cadena[i]=='4'){
enc[i]='v';
}
if(cadena[i]=='3'){
enc[i]='b';
}
if(cadena[i]=='2'){
enc[i]='n';
}
if(cadena[i]=='1'){
enc[i]='m';
}
if(cadena[i]==' '){
enc[i]=' ';
}
//Serial.print (cadena[i]);
Serial.print (enc[i]);
//delay (10);
i++;
}
posicion=0;//Ponemos la posicion a 0
i=0;
Serial.println ();
}
}