#include <Servo.h> // Подключаем библиотеку без лишних знаков
Servo my_servo;
String mess;
void setup() {
Serial.begin(9600); // Запуск связи с компьютером
pinMode(13, OUTPUT); // Светодиод (согласно схеме на стр. 2)
pinMode(7, OUTPUT); // Пьезодинамик
}
void loop() {
if (Serial.available() > 0) {
mess = Serial.readString();
mess.trim(); // Удаляет лишние пробелы или символы переноса строки
if (mess == "open") {
my_servo.attach(8);
my_servo.write(0); // Открываем (0 градусов)
// Тройной звуковой сигнал
for(int i=0; i<3; i++) {
tone(7, 400 + (i*100), 50);
delay(150);
}
my_servo.detach();
digitalWrite(13, LOW); // Гасим индикатор
Serial.println("Замок открыт");
}
if (mess == "lock") {
my_servo.attach(8);
my_servo.write(180); // Закрываем (180 градусов)
// Тройной однотонный сигнал
for(int i=0; i<3; i++) {
tone(7, 200, 50);
delay(150);
}
my_servo.detach();
digitalWrite(13, HIGH); // Зажигаем индикатор
Serial.println("Замок закрыт");
}
}
}