Перейти к публикации
iT4iT.CLUB

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 21.04.2016 во всех областях

  1. 2 балла
    Прикупил ридер Pn532 . RFID модуль поддерживает технологию NFC (NFC это часть RFID стандарта ISO 14443) и может взаимодействовать с девайсами поддерживающими данную возможность(в большинстве современных смартфонов имеется) Модуль стоит ощутимо дороже rc522 я взял за 800р но так как давно имею задумку соорудить IT замок в квартиру, покупку считаю оправданной. Покурив тему не нашел примеров реализации замка в рунете так что обращаю внимание на данную тему уважаемого KITSUM. Так вот немного подробнее: ридер имеет размер . Поддержка I2C , SPI и HSU (High Speed UART ) прошу прощения за кривой гугл перевод данных производителя чтения и запись , P2P общение с коллегами, NFC с Android телефон RFID- устройство считывания / записи поддерживает следующие функции: Mifare 1k , 4k , Ultralight , и DESFire карт ISO / IEC 14443-4 карты, такие как CD97BX , CD свет, DESFire , P5CN072 ( SMX ) Innovision Jewel карты, такие как карты IRT5001 FeliCa карты, такие как RCS_860 и RCS_854 До 5 см - 7см расстояние чтения На борту сдвига уровня , Стандартный 5V TTL для I2C и UART , SPI 3.3V TTL В качестве основной функции , этот модуль может считывать и записывать RFID- карты . Различные карты могут быть поддержаны . Два модуля PN532 могли бы общаться друг с другом . в качестве ключа можно использовать телефон с NFC и если допустим в базе пользователь не зарегистрирован то телефон автоматически переходит на страничку с инструкцией по получению ключа а в случае авторизированного пользователя можно получить страничку с кнопками для дальнейших действий и все это использует в качестве связи технологию NFC никаких WIFi или GSM ссылка на английский мануал от производителя http://www.elechouse.com/elechouse/images/product/PN532_module_V3/PN532_%20Manual_V3.pdf библеотечка nfc-pn532-master.zip PN532-PN532_HSU.zip На данный момент занят собственными изысканиями на эту тему буду рад любой информации и идеям.
  2. 2 балла
    Извиняюсь за назойливость! Приятно когда всё работает как хотелось!
  3. 1 балл
    @Kitsum Спасибо за помощь в трудную минуту и питание моего мозга нужной информацией! теперь моя машинка станет еще угоноустойчивее благодаря всем форумчанам и в отдельности благодаря вам!
  4. 1 балл
    @sergon63tlt отключены лишние подтягивающие резисторы встроенные в микроконтроллер и исправил некоторые косяки которые связанные с внедрением функции lock. Хотя на домашнем компьютере версия замка @Alex13 была уже с этими исправлениями... Это еще раз доказывает, что коллективно проект развивается намного быстрее и качественнее.
  5. 1 балл
    Мне кажется проблема с кнопками открытия двери и сброса памяти! Когда я собирал проект на макетке, кнопка сброса памяти была подтянута к земле напрямую, а кнопка открытия двери вообще была откинута всё работало! Попробуйте так. Ещё посмотрите остальные пины которые изменяют состояние замка и сигнализации! Вот например переключатель ручного закрытия замка или автоматического, в ручном режиме чтоб закрыть замок, надо ещё раз поднести ключ. В общем внимательно всё проверьте и почитайте как всё работает, думаю ошибку найдёте, как было и у меня, виной кривой работы замка оказались банальные светодиоды!!!
  6. 1 балл
    Да, изначально скетч писался для электромагнитного замка, но управление нагрузкой это всего лишь пару строчек кода, которые легко переписываются. Львиная доля программы - обработка RFID меток и соответствующая реакция на них. Для того чтобы было понятно, что мы пытаемся изменить, предлагаю с начало разобраться в том, что происходит при подаче питания с пинами управления реле. В самом начале программы смотрим содержимое первого байта EEPROM микроконтроллера. Там должно быть число, указывающее на количество ключей. byte keys_count = EEPROM.read(); В функции Setup происходит инициализация пинов и на них выставляется высокий логический уровень, опять же все ради Китайских реле, это обесточит их. // Реле pinMode(PIN_RELAY_1, OUTPUT); digitalWrite(PIN_RELAY_1, HIGH); pinMode(PIN_RELAY_2, OUTPUT); digitalWrite(PIN_RELAY_2, HIGH); Следующий ключевой момент - принятие решения, открыть замок при отсутствие ключей в памяти и сообщить об этом в Serial или же запереть замок и встать на охрану. if(keys_count > and keys_count < 255) { keysRead(); lock(true); } else { keys_count = ; Serial.println(F("The master key is not in memory. The first presentation to the key will be the master!\n")); lock(false); } Серьезным отличием от электромагнитного замка является наличие функции void lock(bool lock); именно она манипулирует пинами и переключает реле с паузой в 0.4 сек. Заодно фиксирует последнее состояние замка, своего рода программный концевик на двери. void lock(bool lock) { digitalWrite(lock ? PIN_RELAY_1 : PIN_RELAY_2, LOW); delay(400); digitalWrite(lock ? PIN_RELAY_1 : PIN_RELAY_2, HIGH); lockStat = lock; } До момента, описанного в п.3 реле находились в покое и не производили никаких манипуляций с соленоидом. Функция lock, кроме возложенных на неё обязанностей, гарантирует нам, что любое реле будет в работе ровно 0.4 секунды, а затем вернется в свое обычное состояние. Следовательно, если ключ будет отсутствовать в памяти микроконтроллера то по условию в п.3 произойдет вызов lock(false); и это приведет к появлению логического нуля на 6 пине на 0.4 секунды, после вернется логическая единица. Если в EEPROM будет находиться хотя бы один ключ, то произойдет вызов lock(true); и аналогичные манипуляции произойдут с пином 7 - замок закроется. Предлагаю проделать следующее: Просмотреть вывод в Serial начиная с момента подачи питания, возможно там будет подсказка. Модернизировать функцию lock и выводить в Serial все, что происходит с реле void lock(bool lock) { digitalWrite(lock ? PIN_RELAY_1 : PIN_RELAY_2, LOW); Serial.println(lock ? "RELAY CLOSE (PIN 6) ACTIVATED" : "RELAY OPEN (PIN 7) ACTIVATED"); delay(400); digitalWrite(lock ? PIN_RELAY_1 : PIN_RELAY_2, HIGH); Serial.println(lock ? "RELAY CLOSE (PIN 6) DEACTIVATED" : "RELAY OPEN (PIN 7) DEACTIVATED"); lockStat = lock; } Можно, но не обязательно, пару фотографий как это выглядит (собрано). Это вполне ожидаемое поведение т.к после подачи питания, микроконтроллер MFRC522 скорее всего ожидает запись в соответствующие регистры. Уверен, что этим занимается PCD_Init().
×
×
  • Создать...