#include <Servo.h>
// Define pins
#define BUTTON_1_PIN 2
#define BUTTON_2_PIN 4
#define BUTTON_3_PIN 7 // Vasen 1 painike
#define RESET_BUTTON_PIN 8
#define EYE_RED_PIN 3
#define EYE_GREEN_PIN 5
#define EYE_BLUE_PIN 6
#define NEOPIXEL_PIN 11
#define RELAY_PIN 13 // Digital pin connected to relay
#define SERVO_POWER_PIN 12 // Servo power control pin
// Servo objects
Servo servo1;
Servo servo3;
// Servo positions
#define CLOSED_POSITION 90
#define OPEN_POSITION 180
// Button states
bool button1State = false;
bool button2State = false;
bool button3State = false; // Vasen 1 painike
bool resetButtonState = false;
// Servo state
bool servosOpen = false;
void setup() {
// Initialize servos
servo1.attach(9);
servo3.attach(10);
// Initialize relay pin
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // Activate relay initially
// Other setup code...
}
void loop() {
// Read button states
button1State = digitalRead(BUTTON_1_PIN);
button2State = digitalRead(BUTTON_2_PIN);
button3State = digitalRead(BUTTON_3_PIN); // Vasen 1 painike
resetButtonState = digitalRead(RESET_BUTTON_PIN);
// Handle button states
if (button1State == LOW) {
stopServos();
// Other actions for button 1
} else if (button2State == LOW) {
startServos();
// Other actions for button 2
} else if (button3State == LOW) {
// Other actions for button 3
}
// Check if reset button is pressed
if (resetButtonState == LOW) {
stopServos();
// Other actions for reset button
}
// Other loop code...
}
// Function to stop servos
void stopServos() {
digitalWrite(RELAY_PIN, LOW); // Deactivate relay to stop servo power
servosOpen = false;
}
// Function to start servos
void startServos() {
digitalWrite(RELAY_PIN, HIGH); // Activate relay to allow servo power
servosOpen = true;
// Additional servo control code...
}