verlichting volière

Heb uiteindelijk toch de functie bluetooth() eruit gehaald en het op deze manier opgelost, die volgens mij hetzelfde doet. Het werkt nu in elk geval.

Bedankt voor het meedenken en sturen.

J.

//Verlichtingsregeling voliere. Ledpin 3 is via aan Mosfet 30N06L aan 10 ledmodules verbonden.
//Via schakelaars op pin 7 en 8 kun je óf het licht aan / uit zetten óf aan / uit dimmen.
//Via bluetooth verbinding met een HC-05 module kan hetzelfde maar dan met instelbare signalen die de bluetooth verzender uitstuurt.

int ledPin = 3;
int state = 0;
int manual1 = 7;
int manual1_state;
int last_manual1_state = 0;
int manual2 = 8;
int manual2_state;
int last_manual2_state = 0;
int keuze;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(manual1, INPUT);
  pinMode(manual2, INPUT);
  digitalWrite(ledPin, LOW);

  Serial.begin(9600); // Default connection rate for my BT module
}

void loop() {

  manual1_state = digitalRead(manual1);
  manual2_state = digitalRead(manual2);

  //=====Bluetooth=====

  if (Serial.available() > 0) {
    keuze = Serial.read();
    if (keuze == 'A') {
      dimIn();
    }
    else if (keuze == 'a') {
      dimOut();
    }
    else if (keuze == 'B') {
      lightOn();
    }
    else if (keuze == 'b') {
      lightOff();
    }
  }

  //=====Handmatig=====

  if (manual1_state != last_manual1_state) {
    if (manual1_state == LOW) {
      Serial.println("1 low");
      dimOut();
    }
    else {
      Serial.println("1 high");
      dimIn();
    }
    delay(1);
    last_manual1_state = manual1_state;
  }


  if (manual2_state != last_manual2_state) {
    if (manual2_state == LOW) {
      Serial.println("2 low");
      lightOff();
    }
    else {
      Serial.println("2 high");
      lightOn();
    }
    delay(1);
    last_manual2_state = manual2_state;
  }
}


void dimIn() {

  for (int x = 0; x < 255; x++) {
    analogWrite(ledPin, x);
    delay(3000);
  }
  digitalWrite(ledPin, HIGH);
}

void dimOut() {

  for (int y = 255; y > 1; y--) {
    analogWrite (ledPin, y);
    delay(3000);
  }
  digitalWrite(ledPin, LOW);
}

void lightOn() {
  digitalWrite(ledPin, HIGH);
}

void lightOff() {
  digitalWrite(ledPin, LOW);
}