ayuda programa elcendido leds por puerto serial

hola, bueno tengo un proyecto y como parte de este, tengo q encender unos leds a traves de la pc, estoy utilizando el puerto serial para la comunicacion, y he condicionado el programa para q al recibir un numero entre 1 y 5 encienda un led, si recibe un numero entre 6 y 10 enciende otro, otro de 11 a 15, un 4o de 16 a 2o y un 5o led si recibe un numero entre 21 y 25, pero no he podido hacerlo funcionar, inicie con un programa basado en switch case, pero no me funciono para nada, ahora cambien a una logica de if else y aun no me funciona, podria alguien checar mi codigo y orientarme diciendome en q estoy fallando?

//-------- codigo de encendido de leds---------

//seleccion de los pines a utilizar
int ledC1 = 2;
int ledC2 = 3;
int ledC3 = 5;
int ledC4 = 6;
int ledC5 = 7;

void setup()
{
Serial.begin (9600); //inicio de la comunicacion serial

pinMode (ledC1,OUTPUT);
pinMode (ledC2,OUTPUT);
pinMode (ledC3,OUTPUT);
pinMode (ledC4,OUTPUT);
pinMode (ledC5,OUTPUT);

} //FIN DE SETUP
void loop()
{
int val = Serial.read()-48;//variable de lectura del serial

if (('1'<=val)&&(val<='5'))
{
digitalWrite (ledC1, HIGH) ;
}
else if (('6'<=val)&&(val<='10'))
{
digitalWrite (ledC2, HIGH) ;
}
else if (('11'<=val)&&(val<='15'))
{
digitalWrite (ledC3, HIGH) ;
}
else if (('16'<=val)&&(val<='20'))
{
digitalWrite (ledC4, HIGH) ;
}
else if (('21'<=val)&&(val<='25')){
digitalWrite (ledC5, HIGH) ;
}
else
{
digitalWrite (ledC1, LOW);
digitalWrite (ledC2, LOW);
digitalWrite (ledC3, LOW);
digitalWrite (ledC4, LOW);
digitalWrite (ledC5, LOW);
}
}//fin de loop

gracias anticipadas :slight_smile:

Prueba esto

int incomingByte = 0;	// para los datos de entrada serie

void setup() {
	Serial.begin(9600);	// abre el puerto serie, establece la velocidad a 9600 bps
}

void loop() {

	// envía datos solo cuando recibe datos:
	if (Serial.available() > 0) {
		// lee el byte de entrada:
		incomingByte = Serial.read();

		// muestra lo que tiene:
		Serial.print("He recibido: ");
		Serial.println(incomingByte, DEC);
	}
}

hola, gracias por el codigo (disculpa pero es q soy nuevo en esto del arduino) para lo q me sirve este programa es para checar q la comunicacion se este dando verdad???, pues la cosa es q la comunicacion si esta siendo realizada, lo q no se esta dando es elprograma en el arduino en si, no se si es por q tengo mal condicionados los if y else o por otra cosa