donde esta el fallo en variable

hola
estoy intentando definir la variable (valor) y asignarle el valor de (arduino) y dentro del loop que lo imprima en el lcd.
algo me falla y no se solucionarlo.
ayuda

#include <LCD4Bit_mod.h>
LCD4Bit_mod lcd = LCD4Bit_mod(2);
void setup() {
char valor = "arduino ";
pinMode(13, OUTPUT);// Vamos a utilizar la pantalla LED a la salida de un latido del corazón
lcd.init();
lcd.printIn(“hola mundo”);
}
void loop()
{
lcd.cursorTo(2, 0); //line=2, x=0
lcd.printIn(valor);
delay (3000);
lcd.clear();
}

ya lo solucione tenia que declarar la variable en el loop

Conforme has dejado el programa funciona, pero no es lo mas limpio que podías hacer.
Supongo que el código te ha quedado así:
#include <LCD4Bit_mod.h>
LCD4Bit_mod lcd = LCD4Bit_mod(2);
void setup() {
pinMode(13, OUTPUT);// Vamos a utilizar la pantalla LED a la salida de un latido del corazón
lcd.init();
lcd.printIn(“hola mundo”);
}
void loop()
{
char valor[] = "arduino ";
lcd.cursorTo(2, 0); //line=2, x=0
lcd.printIn(valor);
delay (3000);
lcd.clear();
}
De esta manera obligas a que cada vez que haga el bucle loop asigne de nuevo valor a la variable valor.
En este código de ejemplo no tiene importancia, pero si el ejemplo se convierte en un programa mas grande estarás desperdiciando ciclos de reloj.
Es mucho mejor definir las variables que van a tener siempre el mismo valor fuera del bucle loop.
Si el código lo dejas como
#include <LCD4Bit_mod.h>
LCD4Bit_mod lcd = LCD4Bit_mod(2);
char valor[] = "arduino ";
void setup() {
pinMode(13, OUTPUT);// Vamos a utilizar la pantalla LED a la salida de un latido del corazón
lcd.init();
lcd.printIn(“hola mundo”);
}
void loop()
{

lcd.cursorTo(2, 0); //line=2, x=0
lcd.printIn(valor);
delay (3000);
lcd.clear();
}
Funcionará igual y no desperdiciarás ciclos de reloj.

tienes razon ok y gracias