Шина SPI

Ответить
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

Всем добрый день. Продвигаясь в проекте, столкнулся с вопросом. Модуль считывания карт rfid и радио передатчик NRF24 подключаются в одни и те же пины - т.е. по шине spi. Необходимо считать данные с Карты и отправить на другую ардуинку. Во время всего процесса Карта скорее всего будет лежать на считывателе. Хотел вот узнать, первое, как правильно подключить 2 устройства к spi и второе, какие нюансы в самой программе? Не будет ли rfid все время занимать шину, пока на нем карта? Как распределить их в Flprog? Заранее спасибо :)
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Шина SPI

Сообщение Grafsaxar »

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

Работает с УАРТОМ. И проблема исчезнет.
Качество — это делать что-либо правильно, даже когда никто не смотрит
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

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

Отправлено спустя 5 часов 3 минуты 38 секунд:
SPI интерфейс поддерживает же несколько устройств. Просто, как правильно подключить и настроить?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Шина SPI

Сообщение Sancho »

[ref]vfear[/ref], Пришли проект - лень собирать самому. (Надоело)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

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

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

Пин ведомого устройства в блоке NRF24 можно поменять. Если SCK, MOSI и MISO подключить параллельно от nrf и rfid, а SS (выбор ведомого) поставить разные. Все нормально должно заработать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Шина SPI

Сообщение Sancho »

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

Отправлено спустя 1 минуту 11 секунд:
Был-бы сам проект - показал. На скринах не буду. :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Шина SPI

Сообщение pan »

[ref=#ff8000]Sancho[/ref], Саня, ты чего еще не научился по фотографиям чинить?)
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

Sancho писал(а): 14 фев 2019, 12:41 Отправлено спустя 1 минуту 11 секунд:
Был-бы сам проект - показал. На скринах не буду. :)
Прикрепил 2 файла (отправка и прием)
Пожалуйста покажите, как отправлять и распаковывать.
На выходе мне нужны данные типа int
Заранее огромное спасибо :) :) :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Шина SPI

Сообщение Sancho »

Возможно, так.
Но только 10 байт
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

2 дня мучаюсь :( Все без толку. Модуль RFID не даёт NRF24 отправить данные. Проверял: оба модуля подключены к одним и тем же 3-м пинам (SPI), а ss (выбор ведомого) - на разных пинах. Запускаю монитор порта - от RFID данные карточек получаю. (Поставил блок отправка в UART). На отправку NRF24 подставил переменную (уже не от RFID приходящею, а просто создал переменную типа int и записал в неё число выдуманное) это просто для проверки, передаст или нет. На другой стороне Ардуинка подключена с экраном, ждёт данные переменной... но ничего не приходит. Последнее, что сделал ничего не меняя выдергиваю провода от RFID и NRF24 сразу же отправил мою переменную. А на экране принимающей стороны, высветилось мое число.
Подсоединяю RFID обратно, отправка снова не идёт, а карточки читаются. Делаю вывод что RFID не даёт отправить NRF-у. У кого, какие мысли?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Шина SPI

Сообщение Sancho »

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

Отправлено спустя 1 минуту 46 секунд:
Изменяйте по очереди до получения положительного результата.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

Sancho писал(а): 16 фев 2019, 10:57[ref]vfear[/ref], Не знаю, может я слепой, но в Ваших выложенных проектах 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 и принудительно отправлять на них сигналы по очереди? Будет так работать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

Так и не подскажите? :smile37:
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30 янв 2019, 14:56
Имя: Владимир

Шина SPI

Сообщение vfear »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость