Meter dos códigos en uno?

Quisiera una mano para juntar estos dos códigos, recien lo intente pero me da error. Que debo hacer?

int ledPin = 3;
int buttonPin = 4;

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop()
{
  // read from the button pin
  int button = digitalRead(buttonPin);
  if (button==HIGH)
  {
    digitalWrite(ledPin,HIGH);
  } 
  else
  {
    digitalWrite(ledPin, LOW);
  }
}
#include <Servo.h> // Librería para servos
Servo servo1; // Creamos un objeto de tipo servo
#define button 9 // definimos un primer botón
#define button2 7 // definimos un segundo botón
// Si da problemas el código, poner las var de los botones en MAYUS

void setup() {

 servo1.attach(8); // pin del servomotor en Arduino
 pinMode(button, INPUT); // se declara el botón como componente de entrada
 pinMode(button2, INPUT); // se declara el otro botón como componente de entrada
}

void loop () {

 int buttonstate1 = digitalRead(button);  // Creamos dos estados para los dos botones
 int buttonstate2 = digitalRead(button2);
if(buttonstate1 == true){ //si el estado del primer botón es true o encendido (pulsado), entonces...

  servo1.write(180); // mover el servomotor 180 grados
  delay(1000);  // esperamos un segundo
}

if(buttonstate2 == true){ // si el estado del segundo botón es true o encendido (pulsado), entonces...

servo1.write(90); //mover el servomotor 90 grados
delay(1000); // esperamos un segundo
}




}

Creo que ahi pude muchachos.

Juntar dos codigos no es dificil. Ahora bien tienes que tener en cuenta que uno de ellos tiene dos delay (1000), es decir que detienen el flujo del codigo durante un segundo. Si mantienes esto al "juntar" los dos codigos te pasara que la pregunta de si button es igual a High del otro codigo no sera efectiva durante esa espera.

Sera mejor que remplaces el delay por la funcion millis, hay varios ejemplos en el foro.