Загрузка данных


#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("Замок закрыт");
    } 
  } 
}