arduino uno ssrvo rfid rc522 door lock open

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем machitoo, 24 авг 2017.

Метки:
  1. machitoo

    machitoo Нерд

    zdrastvite mne ochen nujnaa vash pomosh pajalusta pamagite. ia novinki vetam dele. ia sobral rfis servo i arduino. skech napisal. rabotaet atkrivat karta servo toje rabotaet. no kak sdelat button chdobi dver iz nutkri otkrit. spasiba za ranie
     
    Kelvin нравится это.
  2. Kelvin

    Kelvin Гик

    Для тех кто собрался помогать ему, может поможет, менее напряжно читать.
    http://translit.net
     
  3. Tomasina

    Tomasina Иномирянин

    Код (C++):
    boolean lockState = false; // zamok zakryt
    loop()
    {
    ...
    if(..... // RFID valid card
    {
    lockState = true;
    }
    else lockState = false;
    ...
    if(digitalRead(BUTTON_PIN) == HIGH) lockState = true;
    ...
    if(lockState)
    {
    digitalWrite(LOCK_PIN, HIGH);
    delay(2000);
    lockState = false;
    }
    else digitalWrite(LOCK_PIN, LOW);
     
  4. machitoo

    machitoo Нерд

    ia gruzin drug i pa ruski znaiu tolka gavarit napisat ne vixodit u minda. izviniti za moi latinski alfavit.
     
  5. machitoo

    machitoo Нерд

  6. machitoo

    machitoo Нерд

    vot xachu podkluchit button dla otkritia dverei s rezistoram 1k ohm. i dva dioda dla otkriti dverei zelioi a kagda zakriti krasni. shas adkrivaiet tolka rfid
     
  7. machitoo

    machitoo Нерд

    a na ledax skolka omov nada rezistor
    ? pamagitee :)
     
  8. machitoo

    machitoo Нерд

    vot tak lejit u mina eta uje 3 mesica
     

    Вложения:

  9. machitoo

    machitoo Нерд

    esli pamagite ia video palaju kak vsio delaiu i shto vidit i drugie veshi iest
     
  10. Tomasina

    Tomasina Иномирянин

    Код (C++):
    #include <Servo.h>

    #define BUTTON_PIN      2   // кнопка между пином и GND: http://www.pighixxx.com/test/portfolio-items/pushbutton-to-gnd/
    #define LED_PIN         4   // http://www.pighixxx.com/test/portfolio-items/light-two-leds/
    #define SERVO_PIN       6
    boolean state = false;      // переменная, где хранится состояние замка: false - это закрыто
    Servo myservo;              // create servo object to control a servo


    void setup()
    {
      pinMode(BUTTON_PIN, INPUT_PULLUP);
      pinMode(LED_PIN, OUTPUT);
      pinMode(SERVO_PIN, OUTPUT);
    }


    void readCard()    // читаем карту, состояние записываем в переменную state
    {
      // код для работы с RFID
      /*
      if ( ..... ) // правильная карта
      {
        state = true;     // разрешено открывать замок
      }
      else state = false; // запрещено открывать замок
      */

    }


    void checkButton()    // проверяем кнопку, состояние записываем в переменную state
    {
      if (digitalRead(BUTTON_PIN) == LOW) state = true; // нажатие кнопки меняет состояние переменной
    }


    void stateManager()    // обработчик событий
    {
      static boolean runOnce = true;
      if (runOnce != state)
      {
        if (state == true)   // разрешено открывать замок
        {
          digitalWrite(LED_PIN, LOW);          // включаем зеленый светодиод
          myservo.attach(SERVO_PIN);           // активируем серву
          myservo.write(120);                  // крутим серву
          delay(200);
          // myservo.write(0);                 // если нужно "захлопнуть" замок
          // delay(200);
          myservo.detach();                    // отключаем серву, чтобы не скрипела
        }
        else                // запрещено открывать замок
        {
          digitalWrite(LED_PIN, HIGH);         // включаем красный светодиод
          myservo.attach(SERVO_PIN);           // активируем серву
          myservo.write(0);                    // крутим серву
          delay(200);
          myservo.detach();                    // отключаем серву, чтобы не скрипела
        }
      }
      runOnce = state;    // блокируем повторное срабатывание сервы в следующем цикле
    }


    void loop()          // основной цикл
    {
      readCard();       // читаем карту
      checkButton();    // проверяем кнопку, событие кнопки имеет более высокий приоритет чем событие карты
      stateManager();   // обработчик событий
    }
     
  11. machitoo

    machitoo Нерд

    balshoe spasiba abizatilna sivodniaje praveriu. a vtaroi led v kakom pine nada sdelat?
     
  12. Tomasina

    Tomasina Иномирянин

    Светодиоды сидят на одном пине. Ссылка на схему подключения и кнопки и светодиодов есть ;)
     
  13. machitoo

    machitoo Нерд

    ok. sio ponial. balshoe spasib. super. ia sdelaiu i obizatilna video palaju i fotki