al utilizar array con el bluetooth no me funciona

tengo un problema con el array por ejemplo en el primer codigo sin array me funcionan en fisico y en proteus pero el segundo codigo con array me funciona en proteus pero no el fisico

la conexiones son la mismas
alguna sugerencia que me pueden dar ya que deseo utilizar el array


este codigo me funciona pero el segundo codigo no, ya que son similares

#include “LedControl.h”
char valor[1];
int indice=0;
const int numDevices =1;

LedControl sieteSegmentos=LedControl(2,4,3,1);
void setup() {
Serial.begin(9600);
for (int x=0; x<numDevices; x++){
sieteSegmentos.shutdown(x,false);
sieteSegmentos.setIntensity(x,8);
sieteSegmentos.clearDisplay(x);
}
}
////////////
void loop() {
if(Serial.available() > 0){
valor[indice]=Serial.read();
indice++;
}
if (valor[0]==‘a’){

sieteSegmentos.setDigit(0,1, 9, false);
}
}

este es el otro codigo que no me funciona que puedo hacer ya que deseo utilizar el array


#include “LedControl.h”
char valor;
const int numDevices =1;

LedControl sieteSegmentos=LedControl(2,4,3,1);
void setup() {
Serial.begin(9600);
for (int x=0; x<numDevices; x++){
sieteSegmentos.shutdown(x,false);
sieteSegmentos.setIntensity(x,8);
sieteSegmentos.clearDisplay(x);
}
}
////////////
void loop() {
if(Serial.available() > 0){
valor=Serial.read();

}
if (valor==‘a’){

sieteSegmentos.setDigit(0,1, 9, false);
}
}