Шина SPI

NRF24 и модуль RFID по spi

Ответить
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#1

Сообщение vfear » 13.02.2019{, 08:09}

Всем добрый день. Продвигаясь в проекте, столкнулся с вопросом. Модуль считывания карт rfid и радио передатчик NRF24 подключаются в одни и те же пины - т.е. по шине spi. Необходимо считать данные с Карты и отправить на другую ардуинку. Во время всего процесса Карта скорее всего будет лежать на считывателе. Хотел вот узнать, первое, как правильно подключить 2 устройства к spi и второе, какие нюансы в самой программе? Не будет ли rfid все время занимать шину, пока на нем карта? Как распределить их в Flprog? Заранее спасибо :)

Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06.09.2015{, 16:04}
Репутация: 6
Откуда: Маркс-Энгелс
Имя: Alexander

Шина SPI

#2

Сообщение Grafsaxar » 13.02.2019{, 16:49}

vfear писал(а):
13.02.2019{, 08:09}
подключаются в одни и те же пины - т.е. по шине spi.
А что если вместо радио передатчика NRF24 взять JDY-40.
https://ru.aliexpress.com/item/JDY-40-2 ... a480ba44-1

Работает с УАРТОМ. И проблема исчезнет.
Качество — это делать что-либо правильно, даже когда никто не смотрит

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#3

Сообщение vfear » 13.02.2019{, 18:31}

Может всё-таки можно как-то это запустить, По моей схеме ?

Отправлено спустя 5 часов 3 минуты 38 секунд:
SPI интерфейс поддерживает же несколько устройств. Просто, как правильно подключить и настроить?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Шина SPI

#4

Сообщение Sancho » 14.02.2019{, 08:22}

vfear, Пришли проект - лень собирать самому. (Надоело)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#5

Сообщение vfear » 14.02.2019{, 11:39}

Да пока только теория, ещё куча вопросов.
RFID записывает данные типа byte в массив, а блок NRF24 отправляет даные типа int. Как их отконвертировать правильно?

Скрин моей схемы прикладываю.

Пин ведомого устройства в блоке NRF24 можно поменять. Если SCK, MOSI и MISO подключить параллельно от nrf и rfid, а SS (выбор ведомого) поставить разные. Все нормально должно заработать?
Вложения
38C4B399-E1D3-4A8C-86D5-4858AF0361B4.jpeg

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Шина SPI

#6

Сообщение Sancho » 14.02.2019{, 12:40}

vfear писал(а):
14.02.2019{, 11:39}
Если SCK, MOSI и MISO подключить параллельно от nrf и rfid, а SS (выбор ведомого) поставить разные. Все нормально должно заработать?
Обязано.
Блок стандартный - "Bytes->World(Integer)". Отправляешь два байта. С остальными байтами из массива также.
На другой стороне распаковываешь на байты или другое по необходимости.

Отправлено спустя 1 минуту 11 секунд:
Был-бы сам проект - показал. На скринах не буду. :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Шина SPI

#7

Сообщение pan » 14.02.2019{, 13:20}

Sancho, Саня, ты чего еще не научился по фотографиям чинить?)

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#8

Сообщение vfear » 14.02.2019{, 13:34}

Sancho писал(а):
14.02.2019{, 12:41}
Отправлено спустя 1 минуту 11 секунд:
Был-бы сам проект - показал. На скринах не буду. :)
Прикрепил 2 файла (отправка и прием)
Пожалуйста покажите, как отправлять и распаковывать.
На выходе мне нужны данные типа int
Заранее огромное спасибо :) :) :)
Вложения
Отправка.flp
(2.3 МБ) 69 скачиваний
Прием.flp
(2.28 МБ) 58 скачиваний

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Шина SPI

#9

Сообщение Sancho » 14.02.2019{, 14:23}

Возможно, так.
Но только 10 байт
Вложения
Отправка_RC522_v1.flp
(2.4 МБ) 68 скачиваний
Приём_RC522_v1.flp
(2.33 МБ) 68 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#10

Сообщение vfear » 16.02.2019{, 10:13}

2 дня мучаюсь :( Все без толку. Модуль RFID не даёт NRF24 отправить данные. Проверял: оба модуля подключены к одним и тем же 3-м пинам (SPI), а ss (выбор ведомого) - на разных пинах. Запускаю монитор порта - от RFID данные карточек получаю. (Поставил блок отправка в UART). На отправку NRF24 подставил переменную (уже не от RFID приходящею, а просто создал переменную типа int и записал в неё число выдуманное) это просто для проверки, передаст или нет. На другой стороне Ардуинка подключена с экраном, ждёт данные переменной... но ничего не приходит. Последнее, что сделал ничего не меняя выдергиваю провода от RFID и NRF24 сразу же отправил мою переменную. А на экране принимающей стороны, высветилось мое число.
Подсоединяю RFID обратно, отправка снова не идёт, а карточки читаются. Делаю вывод что RFID не даёт отправить NRF-у. У кого, какие мысли?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Шина SPI

#11

Сообщение Sancho » 16.02.2019{, 10:56}

vfear, Не знаю, может я слепой, но в Ваших выложенных проектах CS пин в обоих блоках - 10-й...
Вот здесь измените 10 на Ваш
MFRC522 _mfrc522(10, 3); // строка 7
А здесь для радио
RF24 radio( 9 , тут ); // строка 19

Отправлено спустя 1 минуту 46 секунд:
Изменяйте по очереди до получения положительного результата.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#12

Сообщение vfear » 16.02.2019{, 11:23}

Sancho писал(а):
16.02.2019{, 10:57}
vfear, Не знаю, может я слепой, но в Ваших выложенных проектах CS пин в обоих блоках - 10-й...
Вот здесь измените 10 на Ваш
MFRC522 _mfrc522(10, 3); // строка 7
А здесь для радио
RF24 radio( 9 , тут ); // строка 19

Отправлено спустя 1 минуту 46 секунд:
Изменяйте по очереди до получения положительного результата.
Это было для примера. Вот последний проект (Прикрепил внизу). Здесь я просто проверял работоспособность обоих модулей. Связи между ними особой нет. Просто RFID отправляет в UART, а NRF24 пересылает переменную. Отсоединяю контакты RFID переменная отправляется. Подсоединяю обратно карта читается, но NRF не отправляет.

Отправлено спустя 3 минуты 36 секунд:
Вот распиновки
Nrf поменял на 7,6

Отправлено спустя 4 часа 2 минуты 39 секунд:
В общем не понятно как то(
Есть мысли?

Отправлено спустя 6 часов 37 минут 39 секунд:
Может разбить на 2 платы проект, и сделать свои выходы на Ss и принудительно отправлять на них сигналы по очереди? Будет так работать?
Вложения
43037153-6593-424C-872A-72C8F8C7FBCC.jpeg
938AFB98-D869-4FFF-B9C8-4207A3F83A1B.jpeg
3C192533-2CD5-4826-A346-59C3EFB273DA.jpeg
Тест1.flp
(2.34 МБ) 62 скачивания

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#13

Сообщение vfear » 17.02.2019{, 10:21}

Так и не подскажите? :smile37:

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

Шина SPI

#14

Сообщение vfear » 18.02.2019{, 08:15}

Всем спасибо, все заработало. Проблема была в плохих контактах. :)

Ответить

Вернуться в «Помогите, а то я "нимагу"»