остановить сервопривод

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем demzykster, 10 ноя 2018.

  1. demzykster

    demzykster Нерд

    Ребят. понимаю что тема наверняка обсуждалась сотни раз.
    но я только вникаю в тему и не могу применить найденные решения под конкретный скетч.

    Код (C++):
    #include <Servo.h>
    #include <SPI.h>
    #include <MFRC522.h> // библиотека "RFID".
    #define SS_PIN 10
    #define RST_PIN 9
    MFRC522 mfrc522(SS_PIN, RST_PIN);
    unsigned long uidDec, uidDecTemp;  // для храниения номера метки в десятичном формате
    Servo servo;
    void setup() {
      Serial.begin(9600);
      Serial.println("Waiting for card...");
      SPI.begin();  //  инициализация SPI / Init SPI bus.
      mfrc522.PCD_Init();     // инициализация MFRC522 / Init MFRC522 card.
      servo.attach(6);
      servo.write(0);//станавливаем серву в закрытое сосотояние
    delay(3000); // пауза 3 сек и механизм запирается.
    }
    void loop() {
      // Поиск новой метки
      if ( ! mfrc522.PICC_IsNewCardPresent()) {
        return;
      }
      // Выбор метки
      if ( ! mfrc522.PICC_ReadCardSerial()) {
        return;
      }
      uidDec = 0;
      // Выдача серийного номера метки.
      for (byte i = 0; i < mfrc522.uid.size; i++)
      {
        uidDecTemp = mfrc522.uid.uidByte[i];
        uidDec = uidDec * 256 + uidDecTemp;
      }
      Serial.println("Card UID: ");
      Serial.println(uidDec); // Выводим UID метки в консоль.
      if (uidDec == 3181037427) // Сравниваем Uid метки, если он равен заданому то серва открывает.
      {
        tone(5, 200, 500); // Делаем звуковой сигнал, Открытие
        servo.write(60);//Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.)
        delay(3000); // пауза 3 сек и механизм запирается.
        tone(5, 500, 500); // Делаем звуковой сигнал,  Закрытие
      }
      servo.write(0);// устанавливаем серву в закрытое сосотояние
       delay(3000); // пауза 3 сек и механизм запирается.


    }

    дело в том что когда серва стоит в закрытом положении (на 0)
    она непрерывно работает (гудит).
    каким образом можно ее отключить "заморозить" в текущем положении до последующей проворной активации через ключом RFID?

    спасибо большое.
     
  2. Вместо нуля выставьте 10 или что-то в этом роде.
     
    demzykster нравится это.
  3. demzykster

    demzykster Нерд

    Господи... так банально..

    спасибо большое