Proyecto Dispensador de Alimento

No tengo mucha practica en Arduino y Estoy haciendo un proyecto de un dispensador automatico de alimento para mascotas programando la hora en la que quieres alimentarlo y seleccionando un entre 3 tipos de tamaño (que se define por los segundos en que la compuerta estara abierta entre mas tiempo mas alimento cae).

utilizando un reloj RTC RS1307, un servomotor para la compuerta del dispensador y 3 push buttons(2 cursores y un boton de enter) para seleccionar el horario y tamaño de mascota todo se vera proyectado en un LCD 16X2

he tenido problemas para compilar mi codigo y no he encontrado respuestas en internet que me saquen de duda, si pudieran ayudarme se los agradeceria.

/*

*/
#include <Servo.h>
#include <LiquidCrystal.h>
#include <Time.h>
#include <TimeAlarms.h>
#include <DS1307RTC.h>

int arriba = 10;
int abajo = 8;
int enter = 9;
int hora1;
int tamano;

Servo servoMotor;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

{
  void T_mascota()
  {
  switch (tamano) {
      case 1:
        servoMotor.write(90);
        delay (3000);
        break;

      case 2:
        servoMotor.write(90);
        delay (5000);
        break;

      case 3:
        servoMotor.write(90);
        delay (7000);
        break;

      default:
        servoMotor.write(90);
        delay (3000);
        break;
    }
  }
}
  
void setup() 
{
  lcd.begin(6, 0);
  lcd.print("SEVY");

  servoMotor.attach(7);
  servoMotor.write(0);

  pinMode(arriba, INPUT);
  pinMode(abajo, INPUT);
  pinMode(enter, INPUT);

  setSyncProvider(RTC.get); 
  
  hora1 == 0;
  
  tamano == 0;
    
  
    lcd.begin(16, 2);
    lcd.print("Hora de la primera comida:");
    lcd.setCursor(6, 1);
    lcd.print(hora1);
    lcd.setCursor(8, 1);
    lcd.print("hrs");
    Alarm.alarmRepeat(hora1, 0, 0, COMIDA1);
    
    if (digitalRead(arriba) == HIGH)
    {
      hora1++;
    }
    if (digitalRead(abajo) == HIGH)
    {
      hora1--;
    }
    if (digitalRead(enter) == HIGH)
    {
      break;
    }
  
     
          lcd.begin(16, 2);
            lcd.SetCursor(0,0);
            lcd.print("¿De que tamaño es tu mascota?");
            lcd.setCursor(0, 1);
            lcd.print("1:Pequeño 2:Mediano 3:Grande");
            delay(5000);
            lcd.setCursor(0, 1);
            lcd.print("Tamaño: ");
            lcd.setCursor(10, 1);
            lcd.print(tamano);
            
            if (digitalRead(arriba) == HIGH)
            {
              tamano++;
            }
            if (digitalRead(abajo) == HIGH)
            {
              tamano--;
            }
            if (digitalRead(enter) == HIGH)
            {
              break;
            } 
           
}

 
void loop() 
{    
   void COMIDA1()
    {
    T_mascota();
    }
}

Tu codigo tiene muchos errores como:

setSyncProvider(RTC.get);  //Olvidaste instancias RTC
hora1 == 0;     //Esto es un comparador, quita un =
tamano == 0;  //Esto es un comparador, quita un =
if (digitalRead(enter) == HIGH){
      break;   //De donde pretendes escapar ?
}  
delay(5000);  //Eliminar del setup() no tiene sentido.

Recuerda que el setup() solo se ejecuta una vez al arranque y no lo volveras a ver mas.

La funciones de usario se crean fuera de setup() y loop()

void loop(){    
   void COMIDA1()   {  //Error, quitar
      T_mascota();
   }                         //tambien quitar
}