#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial BT(10, 11); // RX, TX -> HC-06 TXD to pin 10, RXD to pin 11
Servo fanServo;
const int PIN_SERVO = 9;
const int ANGLE_REST = 90; //TUNE THIS TO YOUR OWN SWITCHES
const int ANGLE_ON = 56;
const int ANGLE_OFF = 124;
const int PRESS_DELAY = 400;
void setup() {
Serial.begin(9600);
BT.begin(9600);
fanServo.attach(PIN_SERVO);
fanServo.write(ANGLE_REST);
Serial.println("Ready. Send 1 = ON, 0 = OFF.");
}
void loop() {
if (BT.available()) {
char c = BT.read();
if (c == '1') {
pressSwitch(ANGLE_ON);
BT.println("Fan ON");
Serial.println("Fan ON");
}
else if (c == '0') {
pressSwitch(ANGLE_OFF);
BT.println("Fan OFF");
Serial.println("Fan OFF");
}
}
}
void pressSwitch(int angle) {
fanServo.write(angle);
delay(PRESS_DELAY);
fanServo.write(ANGLE_REST);
}