some help with a morse code message

I need to transmit trought the 13 pin in morse code a message that I send in a string variable. I have solved the morse code translator (taken from a webpage) who initially translated the text sent to him through the serial monitor, I made some changes but now no matter the text you put in the string variable the 13 pin always transmits a “d”. If anyone can help me fix.

this is the code as i have it right now

const int Led = 13;
int Punto = 200;   // Valor duracion del punto.(la Raya es Punto * 3,tiempo entre . y - (200) espacio entre letras (-),espacio entre palabras (Punto * 7)
char caracter=("sos");            //Variable que almacena el caracter dado por el mensejae enviado.
//Array con datos ya escritos ,que son la traducuin del abecedario en codigo morse.
char* MorseABC[] = {

".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..",      //A asta L
"--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--", // L asta Y
"--.."}; 											                            //Z

void setup()
{
	pinMode(Led, OUTPUT);
}

void loop()
{		
  Serial.println(caracter);
		if(caracter >= 'a' && caracter <= 'z' )
		{
			RecoridoCadena(MorseABC[caracter - 'a']);
		}
		else if(caracter >= 'A' && caracter <= 'Z' )
		{
			RecoridoCadena(MorseABC[caracter - 'A']);
		}
		else if(caracter == ' ' )
		{
			delay(Punto * 7);
		}
	

}

//Funcion que recorre las posiciones de las cadenas usando como variable un puntero de tipo char.
void RecoridoCadena(char* posicion)
{
	int i = 0;								//Variable usada como contador , para pasar por las posiciones de las cadenas
	while(posicion[i] != NULL)				//Bucle while (Traducion: Mientras(la posicion Nº tal,no sea igual a NULL))
	{
		EncendidoLED(posicion[i]);			//Invocamos la funcios (para la posicion Nº tal.Ya la funcion invocada determina que tiene que hacer.
		i++;								//Aumento de la la variable i, este aumento es = i + 1, en c++ ,++ significa +1.
	}
	delay(Punto * 3);						//Espera entre palabras el valor de una raya que es el multiplo de 3 de un Punto.
}


//Funcion que enciende el LED con la duracion del valor del punto y el valor de la raya ,
//termina la funcion y apaga el LED durante la duracion del punto que es el espacio entre letras
void EncendidoLED(char caracter)

Again, i will be very greatful for any attemps to help me.

You need to post all your code. Why are you messing about with pointers, just send the character to that function not the pointer to it. I can't see how you send a dot.

Your declaration of caracter is wrong. It should read like this:

char caracter[] = "sos";

Did you already see the Spanish forum section? The comments in your code are not readable to many English speakers.

As well as fixing the declaration of caracter as suggested by DrDiettrich you also need to loop over the characters in 'caracter' (the same way as you do for the morse code strings in RecoridoCadena())- at the moment setup() is only going to send a single character.