RfidRc522 как сделать так, чтобы при подносе карты выполнялось какое-либо действие???

Тема в разделе "Проводная и беспроводная связь", создана пользователем MakS_2254, 29 авг 2016.

  1. MakS_2254

    MakS_2254 Нуб

    Очень хочеться узнать как сделать так, чтобы при подносе карты выполнялось какое-либо действие???
    С тем как же считывать код карты я уже разобрался т.к. на просторах инета очень много статей на эту тему.
    Собственно код карты в DEC 3801823701, а брелка 383764539. Плата у меня Arduino Uno. Подключение традиционное:
    Reset 9
    SPI SS 10
    SPI MOSI 11
    SPI MISO 12
    SPI SCK 13
     
  2. vvr

    vvr Инженерище

    если честно, то на просторах интернета так же куча примеров по вашему вопросу)))
     
  3. MakS_2254

    MakS_2254 Нуб

    Можете скинуть ссылку или скетч для примера??
     
  4. DIYMan

    DIYMan Guest

    http://forum.amperka.ru/threads/Замок-на-rfid.9190/

    Только не говорите, что это вам не подойдёт, потому что у вас другой считыватель. Алгоритм там показан, адаптируется под любой тип считывателя, при желании сделать самому.
     
  5. MakS_2254

    MakS_2254 Нуб

    Спасибо! Буду пробовать с RC522. Результаты возможно скину сюда же.
     
  6. MakS_2254

    MakS_2254 Нуб

    вот код
    #include <SPI.h>
    #include <MFRC522.h> // библиотека "RFID".
    #define SS_PIN 53
    #define RST_PIN 5
    MFRC522 mfrc522(SS_PIN, RST_PIN);
    byte uidCard[4] = {0xE2, 0x9B, 0x39, 0xD5};
    boolean light = false;
    void setup() {
    Serial.begin(9600);
    Serial.println("Waiting for card...");
    SPI.begin(); // инициализация SPI / Init SPI bus.
    mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card.
    // устанавливаем серву в закрытое сосотояние
    }
    void loop() {
    // Поиск новой метки
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
    }
    // Выбор метки
    if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
    }
    for (byte i = 0; i < 4; i++) {
    if (uidCard != mfrc522.uid.uidByte)
    return;
    }
    light = !light;
    if (light) {
    Serial.println("Card is OK");
    digitalWrite(8,HIGH);
    delay(100);

    }
    else {
    digitalWrite(8,LOW);
    delay (100);

    }
    }
    Суть что при подносе карты загорается светодиод и ганет при повторном подносе карты. Но светодиод загорается очень тускло. В чём у меня ошибка???
     
  7. vvr

    vvr Инженерище

    а зачем делеи ?
     
  8. MakS_2254

    MakS_2254 Нуб

    Для системы умный дом эт только тест RFID
     
  9. vvr

    vvr Инженерище

    ладно
    спросим по-другому - нафига они вам гасят светодиод ?
     
  10. MakS_2254

    MakS_2254 Нуб

    Просто

    Ну хотя бы просто включает

    :):):)

    Но почему он горит тускло даже если я делаю это через Boolean
     
    Последнее редактирование модератором: 18 сен 2016
  11. ZAZ-965

    ZAZ-965 Гуру

    Какое сопротивление токоограничивающего резистора?
     
  12. MakS_2254

    MakS_2254 Нуб

  13. ZAZ-965

    ZAZ-965 Гуру

    А если светодиод через резистор 220 Ом подключить к 5В и земле?
     
  14. MakS_2254

    MakS_2254 Нуб

    Горит ярко пробовал
     
  15. Tomasina

    Tomasina Сушитель лампочек Модератор

    в setup вообще нет кода для конфигурации вывода 8 под светодиод, поэтому он подключается через внутренний резистор 30k.
     
  16. MakS_2254

    MakS_2254 Нуб

    Получается надо в setup добавить строку pinMode(8,OUTPUT);???
     
  17. Tomasina

    Tomasina Сушитель лампочек Модератор

  18. MakS_2254

    MakS_2254 Нуб

    Спасибо