/*
Codi per a encriptar missatges
LIMITACIONS:
El text a encriptar 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();//Legeix 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]=='q'){
enc[i]='f';
}
if(cadena[i]=='w'){
enc[i]='g';
}
if(cadena[i]=='e'){
enc[i]='h';
}
if(cadena[i]=='r'){
enc[i]='j';
}
if(cadena[i]=='t'){
enc[i]='k';
}
if(cadena[i]=='y'){
enc[i]='l';
}
if(cadena[i]=='u'){
enc[i]='q';
}
if(cadena[i]=='i'){
enc[i]='p';
}
if(cadena[i]=='o'){
enc[i]='u';
}
if(cadena[i]=='p'){
enc[i]='i';
}
if(cadena[i]=='a'){
enc[i]='*';
}
if(cadena[i]=='s'){
enc[i]='y';
}
if(cadena[i]=='d'){
enc[i]='t';
}
if(cadena[i]=='f'){
enc[i]='r';
}
if(cadena[i]=='g'){
enc[i]='e';
}
if(cadena[i]=='h'){
enc[i]='w';
}
if(cadena[i]=='j'){
enc[i]='a';
}
if(cadena[i]=='k'){
enc[i]='0';
}
if(cadena[i]=='l'){
enc[i]='9';
}
// if(cadena[i]=='ñ'){ warning: multi-character character constant [-Wmultichar]
// enc[i]='8';
// }
if(cadena[i]=='z'){
enc[i]='7';
}
if(cadena[i]=='x'){
enc[i]='6';
}
if(cadena[i]=='c'){
enc[i]='5';
}
if(cadena[i]=='v'){
enc[i]='4';
}
if(cadena[i]=='b'){
enc[i]='3';
}
if(cadena[i]=='n'){
enc[i]='2';
}
if(cadena[i]=='m'){
enc[i]='1';
}
if(cadena[i]==' '){
enc[i]=' ';
}
//Serial.print (cadena[i]);
Serial.print (enc[i]);
delay (10);
i++;
}
posicion=0;//Posem la posició a 0
i=0;
Serial.println ();
}
}