estacionamiento inteligente

hola a todos tengo el sigueinte problema no se como sacar de ciclo mi programa es de un estacionamiento inteligente pero se satura la memoria y se traba mi maquina plis ayuda
//CONTROL DE CAJONES DE ESTACIONAMUENTO
int boton1 = 0;
int boton2 = 0;
int boton3 = 0;
int boton4 = 0;
void setup()
{
pinMode(13,OUTPUT);
pinMode(2,INPUT);
pinMode(12,OUTPUT);
pinMode(3,INPUT);
pinMode(11,OUTPUT);
pinMode(4,INPUT);
pinMode(10,OUTPUT);
pinMode(5,INPUT);
pinMode(9,OUTPUT);
pinMode(6,OUTPUT);
Serial.begin(9600);
}

void loop(){
boton1=digitalRead(2);
if(boton1==HIGH){
digitalWrite(13, HIGH);
Serial.print("CAJON 1 OCUPADO");

}
else{
digitalWrite(13,LOW);
Serial.print("CAJO 1 DISPONIBLE");
}

boton2=digitalRead(3);
if(boton2==HIGH){
digitalWrite(12, HIGH);
Serial.print("CAJON 2 OCUPADO");
}
else{
digitalWrite(12,LOW);
Serial.print("CAJON 2 DISPONIBLE");
}

boton3=digitalRead(4);
if(boton3==HIGH){
digitalWrite(11, HIGH);
Serial.print("CAJON 3 OCUPADO");
}
else{
digitalWrite(11,LOW);
Serial.print("CAJON 3 DISPONIBLE");
}

boton4=digitalRead(5);
if(boton4==HIGH){
digitalWrite(10, HIGH);
Serial.print("CAJON 4 OCUPADO");
}
else{
digitalWrite(10,LOW);
Serial.print("CAJON 4 DISPONIBLE");
}

if(boton1==HIGH, boton2==HIGH, boton3==HIGH ,boton4==HIGH){
digitalWrite(9,HIGH);
digitalWrite(6,LOW);
Serial.print("ESTACIONAMIENTO LLENO");
}
else{
digitalWrite(9,LOW);
digitalWrite(6,HIGH);
Serial.print("ESPACIOS DISPONIBLES");
}
}

proba con ponerle un delay:

int boton1 = 0;
int boton2 = 0;
int boton3 = 0;
int boton4 = 0;

unsigned long time;
unsigned long timeA;




void setup()
{
  pinMode(13,OUTPUT);
  pinMode(2,INPUT);
  pinMode(12,OUTPUT);
  pinMode(3,INPUT);
  pinMode(11,OUTPUT);
  pinMode(4,INPUT);
  pinMode(10,OUTPUT);
  pinMode(5,INPUT);
  pinMode(9,OUTPUT);
  pinMode(6,OUTPUT);
  Serial.begin(9600);
}

void loop(){
  
     time=millis();
     if(time-timeA>1000){//cada 1seg
       timeA=time;
  
  
  
  
                    boton1=digitalRead(2);
                    if(boton1==HIGH){
                      digitalWrite(13, HIGH);
                      Serial.print("CAJON 1 OCUPADO");
                     
                    }
                    else{
                      digitalWrite(13,LOW);
                      Serial.print("CAJO 1 DISPONIBLE");
                    }
                   
                    boton2=digitalRead(3);
                    if(boton2==HIGH){
                      digitalWrite(12, HIGH);
                      Serial.print("CAJON 2 OCUPADO");
                    }
                    else{
                      digitalWrite(12,LOW);
                      Serial.print("CAJON 2 DISPONIBLE");
                    }
                  
                     boton3=digitalRead(4);
                     if(boton3==HIGH){
                      digitalWrite(11, HIGH);
                      Serial.print("CAJON 3 OCUPADO");
                    }
                    else{
                      digitalWrite(11,LOW);
                      Serial.print("CAJON 3 DISPONIBLE");
                    }
                   
                      boton4=digitalRead(5);
                      if(boton4==HIGH){
                      digitalWrite(10, HIGH);
                      Serial.print("CAJON 4 OCUPADO");
                    }
                    else{
                      digitalWrite(10,LOW);
                      Serial.print("CAJON 4 DISPONIBLE");
                    }
                   
                    if(boton1==HIGH, boton2==HIGH, boton3==HIGH ,boton4==HIGH){
                    digitalWrite(9,HIGH);
                    digitalWrite(6,LOW);
                    Serial.print("ESTACIONAMIENTO LLENO");
                    }
                    else{
                      digitalWrite(9,LOW);
                      digitalWrite(6,HIGH);
                      Serial.print("ESPACIOS DISPONIBLES");
                    }
                    
                    
     }//end       
}

hola trato de conectar 2 servos cada uno con su sensor y sus salidas analogicas pero no lo logro hacer me podrian ayudar porfavo son 2 sersores de presencia ayuda...
#include <Servo.h>

Servo servo1;
Servo servo2;
int analogo=4;
int analogo1=3;
int valor;
int valor1;
void setup()
{
servo1.attach(9);
servo2.attach(6);
}
void loop(){
valor=analogRead(analogo);
valor=map(valor,0,1023,0,179);
servo1.write(valor);
delay(20);
valor1=analogRead(analogo1);
valor1=map(valor,1024,2047,75,0);
servo2.write(valor1);
delay(2000);
}

estabas utilizando fotoresistencias como entradas!?... o que estabas utilizando para las entradas!?

¿Estás seguro de que esta sintaxis es correcta?

if(boton1==HIGH, boton2==HIGH, boton3==HIGH ,boton4==HIGH)

vffgaston:
¿Estás seguro de que esta sintaxis es correcta?

if(boton1==HIGH, boton2==HIGH, boton3==HIGH ,boton4==HIGH)

Yo diría que no... Probaría con

if(boton1==HIGH && boton2==HIGH && boton3==HIGH  && boton4==HIGH)

Hola amigo en que lo simulaste? en proteus? puedes colocar no se si tienes la imagen? saludos??