Помогите подружить Attiny85 и RFID RC522

Тема в разделе "Микроконтроллеры AVR", создана пользователем Vittorio, 11 апр 2015.

  1. Vittorio

    Vittorio Нуб

    Здравствуйте.
    Помогите разобраться, можно ли запустить модуль RC522 на тиньке - у нее 6 пинов IO, и у RC522 6 пинов.
    Проблема собственно пока с подключением.
    У RC522 такая распиновка:
    1 → SPI SS/SDA
    2 → SPI SCK
    3 → SPI MOSI
    4 → SPI MISO
    7 → RST/Reset

    У тиньки (я использую Digispark) такая:
    Pin 0 → I2C SDA, PWM
    Pin 1 → PWM, LED
    Pin 2 → I2C SCK, Analog 1
    Pin 3 → Analog 3 (also used for USB+ when USB is in use)
    Pin 4 → PWM, Analog 2 (also used for USB- when USB is in use)
    Pin 5 → Analog 0

    Это вообще реально? Хочется именно на Attiny85. Использовать для этого Arduino с ее 20 IO - это как-то из пушки...
     
  2. geher

    geher Гуру

    В теории может и заработать как-нибудь.

    У Attiny85 распиновка такая:
    Код (Text):
    //  Reset/Ain0 (D 5) PB5  1|o  |8  Vcc
    //        Ain3 (D 3) PB3  2|   |7  PB2 (D 2) Ain1 - SCK
    //        Ain2 (D 4) PB4  3|   |6  PB1 (D 1) pwm1 - MOSI
    //                   GND  4|   |5  PB0 (D 0) pwm0 - MISO
    Судя по распиновке сканера, управляется он по SPI.
    Значит,
    Код (Text):
    Сканер      Attiny85
    2 → SPI SCK  → 7
    3 → SPI MOSI → 6
    4 → SPI MISO → 5
    RST и SS сканера к свободным пинам.
    Остается только доработать библиотеку, чтобы привести ее к нужным пинам, если они "прибиты в библиотеке гвоздями" и ограниченным возможностям тиньки, если библиотека выходит за их скромные пределы.
    Напряжение питания выставить в соответствии с предпочтениями сканера (тини переварит и 3В, и 5В)

    Только возникает вопрос с тем, а что помимо сканера будет делать тинька? Ведь все рабочие ноги будут заняты.
    Притом будут проблемы с перепрошивкой, поскольку пин Reset тоже придется переключить на работу в качестве обычного пина. Проблема решаемая, но тем не менее.

    Конечно, некоторые пины можно использовать "повторно". Подобным образом использовались пины в комбинации из Tiny45, NRF24L01 и датчика температуры/влажности SHT1x. Но далеко не факт, что такой фокус прокатит со сканером в комбинации с тем функционалом, который нужно будет кроме сканера использовать.
     
    Последнее редактирование: 11 апр 2015
  3. Vittorio

    Vittorio Нуб

    В соседнем форуме камраду Tomasina удалось выяснить, что достаточно 4х пинов, а RST можно не использовать, таким образом, с ногами проблем нет.
    Но в тиньке нет SPI и библиотеку для нее я не нашел. Пичалька.
     
    Последнее редактирование: 11 апр 2015
  4. geher

    geher Гуру

    А тут
    http://www.atmel.com/ru/ru/Images/A...ller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf
    пишут, что есть. Это в 2313 вроде как нет
    Библиотека под SPI тут (внутри архива):
    https://github.com/stanleyseow/attiny-nRF24L01
    А то, что только четыре ноги нужно, так совсем прекрасно. Два пина в итоге освобождается под любые нужды.
    Остается переписать библиотеку.
     
    Последнее редактирование: 11 апр 2015
  5. DrProg

    DrProg Вечный нерд

    Хочу всколыхнуть эту забытую тему. Тоже пробую запустить SPI на Tiny 85 и нефига не получается. Компилятор зависает при попытке сделать код с использованием <SPI.h>. Хочу чтобы 85 считывала RFID, но увы.

    Пробовал другую библиотеку SPI, но <MFRC522.h> требует именно <SPI.h>. Что мне делать?
     
    ИгорьК нравится это.
  6. у RC522 есть еще i2c и uart, может стоит капнуть в ту сторону?
     
  7. DrProg

    DrProg Вечный нерд

    К сожалению совсем нет времени копать, все ухлопал на то чтобы заставить RC522 работать пачкой на Меге, но они уперлись и не хотят. Пытаюсь сделать каждый RFID на своей МК, так МК тупит и не хочет работать с RC522.

    У Tiny85 же нет вроде UART?

    Да, и как работать с RC522 через I2C найти не могу, все только про SPI. (
     
    ИгорьК нравится это.
  8. Airbus

    Airbus Радиохулиган Модератор

    Типа такого? http://tinyurl.com/q4ow6pk Ног в Тини 85 хватит и reset можно использовать при желании
     
  9. DrProg

    DrProg Вечный нерд

    Ног то хватит, но протокол SPI не поддерживает она в нужном объеме. А специальных для нее нет,
     
    ИгорьК нравится это.
  10. DrProg

    DrProg Вечный нерд

    Много гуглил, так и не нашел способа работы с этим ридером через i2c или UART, везде только упоминается такая возможность, а реализация только на SPI.
     
    ИгорьК нравится это.
  11. Tomasina

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

    Не проще взять atmega328p в DIP-корпусе? Или проМини.
    Хотя вот тут чуваку вроде удалось их подружить, но там метки на 125 кГц.
     
    Последнее редактирование: 17 окт 2015
  12. DrProg

    DrProg Вечный нерд

    В том примере он не дружил, а подменил метку тинькой с резистором. Теоретически это позволяет обманывать ридеры, но у меня другая задача.
     
    ИгорьК нравится это.
  13. Tomasina

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

    Так есть в тиньке UART или нет? А то случайно обнаружилась библиотека для RC522 для работы по UART, а опробовать пока не на чем.
     
  14. DrProg

    DrProg Вечный нерд

    Названия файлов идентичны библиотеке SPI для этого рфида. Не законфликтуют ли они?
     
    ИгорьК нравится это.
  15. Tomasina

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

    ну всегда можно сделать копию папки Arduino и работать с ней ;)