Pregunta programación

Buenas noches, tengo una duda respecto a el siguiente problema, intento hacer un monitor en serie pero me pide declarar y sale lo siguiente:

exit status 1
'AllToLow' was not declared in this scope

El código es el siguiente:

#define BLUE 2
#define RED 7
#define BLUEO 8
#define YELLOW 12
#define REDO 13
#define SERIALSPEED 9600

void setup() 
{
pinMode (BLUE, OUTPUT);
pinMode (RED, OUTPUT);
pinMode (BLUEO, OUTPUT);
pinMode (YELLOW, OUTPUT);
pinMode (REDO, OUTPUT);
AllToLow();
Serial.begin(SERIALSPEED);
}

void loop() {

int selected = ShowMessage();
switch (selected)
{
case 48:
 serial.println("Leds apagados");
 AllToLow();
 break;
 
case 49:
 serial.println("Led azul encendido!");
 AllToLow(); 
 digitalWrite (BLUE, HIGH);  
 break;

case 50:
 serial.println("Led rojo encendido!");
 AllToLow();
 digitalWrite (RED, HIGH);
 break;

case 51: 
 serial.println("Segundo led azul encendido!");
 AllToLow();
 digitalWrite (BLUEO, HIGH);
 break;

case 52: 
 serial.println("Led amarillo encendido!");
 AllToLow();
 digitalWrite (YELLOW, HIGH);
 break; 
 
case 53: 
 serial.println("Segundo led rojo encendido!");
 AllToLow();
 digitalWrite (REDO, HIGH);
 break;

case 57: 
 serial.println("Todos los LEDs encendidos!");
 digitalWrite (BLUE, HIGH);
 digitalWrite (RED, HIGH);
 digitalWrite (BLUEO, HIGH);
 digitalWrite (YELLOW, HIGH);
 digitalWrite (REDO, HIGH);
 break;
}

void AllToLow()
{
digitalWrite (BLUE, LOW);
digitalWrite (RED, LOW);
digitalWrite (BLUEO, LOW);
digitalWrite (YELLOW, LOW);
digitalWrite (REDO, LOW);
}  

int ShowMessage()
{
Serial.println ("Apagar todos los LEDs: 0");
Serial.println ("Encender LED azul: 1");
Serial.println ("Encender LED rojo: 2");
Serial.println ("Encender el segundo LED azul: 3");
Serial.println ("Encender el LED amarillo: 4");
Serial.println ("Encender el segundo LED rojo: 5");
Serial.println ("Encender todos los LEDs: 9");

Serial.println ("introduce la opción: ");
while (Serial available() == 0);
int input= (Serial.read);
return input;
}

te perdiste un ‘}’. este código ahora compila …

#define BLUE 2
#define RED 7
#define BLUEO 8
#define YELLOW 12
#define REDO 13
#define SerialSPEED 9600

void setup()
{
  pinMode (BLUE, OUTPUT);
  pinMode (RED, OUTPUT);
  pinMode (BLUEO, OUTPUT);
  pinMode (YELLOW, OUTPUT);
  pinMode (REDO, OUTPUT);
  AllToLow();
  Serial.begin(SerialSPEED);
}

void loop() {

  int selected = ShowMessage();
  switch (selected)
  {
    case 48:
      Serial.println("Leds apagados");
      AllToLow();
      break;

    case 49:
      Serial.println("Led azul encendido!");
      AllToLow();
      digitalWrite (BLUE, HIGH);
      break;

    case 50:
      Serial.println("Led rojo encendido!");
      AllToLow();
      digitalWrite (RED, HIGH);
      break;

    case 51:
      Serial.println("Segundo led azul encendido!");
      AllToLow();
      digitalWrite (BLUEO, HIGH);
      break;

    case 52:
      Serial.println("Led amarillo encendido!");
      AllToLow();
      digitalWrite (YELLOW, HIGH);
      break;

    case 53:
      Serial.println("Segundo led rojo encendido!");
      AllToLow();
      digitalWrite (REDO, HIGH);
      break;

    case 57:
      Serial.println("Todos los LEDs encendidos!");
      digitalWrite (BLUE, HIGH);
      digitalWrite (RED, HIGH);
      digitalWrite (BLUEO, HIGH);
      digitalWrite (YELLOW, HIGH);
      digitalWrite (REDO, HIGH);
      break;
  }
}
void AllToLow()
{
  digitalWrite (BLUE, LOW);
  digitalWrite (RED, LOW);
  digitalWrite (BLUEO, LOW);
  digitalWrite (YELLOW, LOW);
  digitalWrite (REDO, LOW);
}

int ShowMessage()
{
  Serial.println ("Apagar todos los LEDs: 0");
  Serial.println ("Encender LED azul: 1");
  Serial.println ("Encender LED rojo: 2");
  Serial.println ("Encender el segundo LED azul: 3");
  Serial.println ("Encender el LED amarillo: 4");
  Serial.println ("Encender el segundo LED rojo: 5");
  Serial.println ("Encender todos los LEDs: 9");

  Serial.println ("introduce la opción: ");
  while (Serial.available() == 0);
  int input = (Serial.read());
  return input;
}

Esto es un contrasentido ,a parte de que faltan las llaves del bloque:

 while (Serial available() == 0);
 int input= (Serial.read);
 return input;

Basicamente estas poniendo en el condicional: mientras no haya nada que leer del buffer (puesto que si Serial.available() es igual a 0 es que no hay datos en el buffer) guardas en input el valor leido ,osea nada.

Lee las normas del foro y edita tu código usando etiquetas

Buenas noches Hell-Maker, estoy haciendo el mismo ejercicio y se me presentó el mismo problema. La solución es que tanto "AllToLow", como "ShowMessage" son dos funciones que se programan en el mismo sketch, pero debes declararlas antes de que aparezca su primera utilización en el programa, a continuación te copio el programa completo, espero que te ayude:

// Declaracion de constantes
#define BLUE 2 // Pin al que esta conectaDO EL led AZUL
#define GREEN 7 // Pin al que esta conectaDO EL led VERDE
#define WHITE 8 // Pin al que esta conectaDO EL led BLANCO
#define YELLOW 12 // Pin al que esta conectaDO EL led AMARILLO
#define RED 13 // Pin al que esta conectaDO EL led ROJO
#define SERIALSPEED 9600 // Velocidad de transmision del monitor serie

// Funcion que realiza el apagado de todos los LED del circuito
void AllToLow()
{
digitalWrite (BLUE, LOW);
digitalWrite (GREEN, LOW);
digitalWrite (WHITE, LOW);
digitalWrite (YELLOW, LOW);
digitalWrite (RED, LOW);
}

// Funcion que muestra el menú en la consoladel monitor serie y que lee la opcion elegida
int ShowMessage()
{
Serial.println ("Apagar todos los LEDs: 0");
Serial.println ("Encender LED azul: 1");
Serial.println ("Encender LED rojo: 2");
Serial.println ("Encender el segundo LED azul: 3");
Serial.println ("Encender el LED amarillo: 4");
Serial.println ("Encender el segundo LED rojo: 5");
Serial.println ("Encender todos los LEDs: 9");

Serial.println ("introduce la opción: ");
while (Serial.available() == 0);
int input = Serial.read();
return input;
}
//Configuracion de pines e inicializacion del monitor serie

void setup()
{
pinMode (BLUE, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (WHITE, OUTPUT);
pinMode (YELLOW, OUTPUT);
pinMode (RED, OUTPUT);
AllToLow() ;
Serial.begin(SERIALSPEED);
}


void loop() 
{
 // Muestra el mensaje en el monitor serie y lee la opcion elegida

int selected = ShowMessage();
switch (selected)
{
case 48: // Opcion 0 seleccionada
 Serial.println("Leds apagados");
 AllToLow();
 break;
 
case 49: // Opcion 1 seleccionada
 Serial.println("Led azul encendido!");
 AllToLow(); 
 digitalWrite (BLUE, HIGH);  
 break;

case 50: // Opcion 2 seleccionada
 Serial.println("Led verde encendido!");
 AllToLow();
 digitalWrite (GREEN, HIGH);
 break;

case 51: // Opcion 3 seleccionada
 Serial.println("Led BLANCO encendido!");
 AllToLow();
 digitalWrite (WHITE, HIGH);
 break;

case 52: // Opcion 4 seleccionada
 Serial.println("Led amarillo encendido!");
 AllToLow();
 digitalWrite (YELLOW, HIGH);
 break; 
 
case 53: // Opcion 5 seleccionada
 Serial.println("Led rojo encendido!");
 AllToLow();
 digitalWrite (RED, HIGH);
 break;

case 57: // Opcion 6 seleccionada
 Serial.println("Todos los LEDs encendidos!");
 digitalWrite (BLUE, HIGH);
 digitalWrite (GREEN, HIGH);
 digitalWrite (WHITE, HIGH);
 digitalWrite (YELLOW, HIGH);
 digitalWrite (RED, HIGH);
 break;
}
}

onieves, lee el privado que te he dejado.