Соединение Arduino через цифровые контакты и магниты
Прежде чем я углублюсь в этап проектирования проекта, который я имею в виду, есть ли способ подключить Arduino в режиме «не главный/подчиненный», чтобы передать несколько различных комбинаций HIGH/LOW (скажем, 5) или «информация» в обоих направлениях с использованием цифровых контактов? Возможно, это какая-то библиотека, о которой я не знаю?
Каждый из этих модулей должен быть идентичным и иметь возможность подключения любой стороной к любому другому модулю. Я привел грубое изображение того, чего я хотел бы достичь.
Я уже определил, что могу припаять эти неодимовые магниты без потери магнитных свойств, прикрепив маленькие магниты к более сильному магниту в процессе пайки. Соединение магнит-магнит показывает лишь очень небольшое сопротивление.
Если это невозможно, мне придется отказаться от проекта и искать другие способы его реализации. Заранее спасибо!
~дзен
@zen Sutherland, 👍2
Обсуждение2 ответа
Неглавный/подчиненный вариант абсолютно лучший вариант для многих приложений. Зачем заморачиваться с Arduino? Есть гораздо лучшие процессоры, доступные по низкой цене. Многие процессоры STM32 позволяют обращаться к последовательным портам. Например, из справочника популярного STM32F103 (Синяя таблетка). Цитата. Обнаружение метки адреса (WAKE=1) В этом режиме байты распознаются как адреса, если их старший бит равен «1», в противном случае они являются адресами. рассматриваться как данные. В байте адреса адрес целевого получателя помещается в 4-е место. ЛСБ. Это 4-битное слово сравнивается получателем со своим адресом, который запрограммирован. в битах ADD регистра USART_CR2. USART переходит в режим отключения звука при получении символа адреса, который не соответствовать его запрограммированному адресу. В этом случае бит RWU устанавливается аппаратно. RXNE Для этого адресного байта не установлен флаг, и ни прерывание, ни запрос DMA не выдаются в качестве USART перешел бы в беззвучный режим. Убрать кавычки. Затем воспользуйтесь бесплатным компилятором Embitz, при необходимости используйте C или C++. C++ не может конкурировать с C во встроенных функциях, что доказано неоднократно сравнением размера кода и скорости работы. Зачем использовать процессор без достойного отладчика? Embitz и STM32 предоставят вам непревзойденный отладчик. Более крупные процессоры STM32 также имеют Canbus, который не является главным/подчиненным. Canbus несложно настроить, и вы никогда не оглянетесь назад. Альтернативно используйте ESP32 и Canbus. С уважением Йохан Смит
Хотя идея выглядит круто, вам нужны какие-то «замки», потому что не «любая комбинация» может работать.
Поверните второй Arduino в нижнем ряду на 180 градусов, и вы увидите, что GND/5V поменялись местами относительно первого Arduino во втором ряду.
Чтобы обеспечить хорошую фиксацию, необходимо учитывать полярность магнита NS. Вероятно, вы можете использовать полярность магнита для достижения правильной ориентации.
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Питание светодиодной ленты - Сколько ампер?
- Arduino nano как клавиатура HID
- Как я могу запитать Arduino Nano от батареи LiPo, желательно 3,7 В
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
подойдет ли вам последовательное соединение?, @Jaromanda X
Пока я общался только с одной стороной модуля одновременно, но мое понимание связи Tx/Rx могло передавать команду всем модулям. Я хочу отправлять/получать только один модуль, а не все одновременно., @zen Sutherland
у вас более одного последовательного интерфейса - у некоторых Arduino есть 4 аппаратных последовательных интерфейса (если я помню)... тогда есть SoftwareSerial - чтобы сделать любую пару контактов "последовательным" интерфейсом, @Jaromanda X
Хммм... поскольку остальная часть проекта представляет собой только светодиодное освещение без особого программирования, я надеялся использовать дешевую, маломощную (обычно с 1 последовательным интерфейсом) Arduino, например Lilypad или подобную. Я бы создал около 30-40 модулей для взаимодействия, и таким образом стоимость каждого умножалась., @zen Sutherland
Разрешает ли «SoftwareSerial» несколько наборов контактов Tx/Rx? Это выглядит многообещающе!, @zen Sutherland
Итак, ваша проводка показывает, что каждый «Ардуино» использует 3 пары проводов для подключения к соседнему «Ардуино» — и как вы предполагали, что эти провода будут использоваться для «связи», @Jaromanda X
Мне нужно, чтобы они передавали или получали такое значение, как 1 для зеленого, 2 для красного, 3 для синего или что-то подобное. Принятие решения Arduino будет определять, будет ли это значение передано другому лицу. (Это звучит все страннее и страннее)., @zen Sutherland
https://arduinoprosto.ru/q/43118/simple-multiple-rx-tx-softwareserial показывает 4 используемых серийных номера программного обеспечения., @Jaromanda X
кстати я бы по другому подключил... если 1 выход а 2 вход например то нужно например 1 поверх 2 слева на плате, а 2 сверху 1 справа... следовательно, выход соединяется со входом и наоборот :p, @Jaromanda X
Сладкий! Это похоже на билет. Спасибо за указатель!, @zen Sutherland
хоть и не используй высокие скорости... но вроде и не понадобится - думаю 9600 подойдёт, @Jaromanda X
Ну, черт. Мне нужно, чтобы каждый из модулей и их поверхности были идентичны с точки зрения проводки, а это означает, что любая грань должна быть магнитно прикреплена к любой грани. Вы правы, я не могу соединить Tx с Tx, если ожидаю что-нибудь прочитать..., @zen Sutherland
Да, 9600 было бы достаточно быстро..., @zen Sutherland
Хммм... так может быть мне нужно использовать по 4 контакта для каждой стороны, чтобы иметь возможность последовательного обмена данными туда и обратно? Мой разум немного путается., @zen Sutherland
не знаю, зачем вам 4 — главное — вращательная симметрия, @Jaromanda X
Ой, подожди. Да. Если у меня есть контакт Tx слева и Rx справа, они соответствуют Rx и Tx друг друга. Извините, я запутался. Огромное спасибо за вашу помощь и за то, что мне пришлось страдать из-за моего замешательства!, @zen Sutherland
голосую за классную идею..... я бы дал вам еще один голос, если бы мог, за включение информации о пайке магнитов, @jsotola
@jsotola — я проголосую за тебя :p, @Jaromanda X
есть также проблема с полярностью магнита..... Rx может быть магнитом... Tx будет простым металлическим контактом.... контакты питания должны быть пого-контактами... иначе вы бы этого не сделали получить вращательную симметрию, @jsotola
Как штифты помогут вращательной симметрии @jsotola? Однако есть способ получить вращательную симметрию с помощью мощности https://photos.google.com/share/AF1QipOuhzEuYNfLFVrEynOVZ015yysy5AGGHLprJbm-S2iH80RgSi98F5woS5yH6yDZmA?key=R01LaERCM3huNExpX1lWeEpmWV9MT3pkOURNRzVR, @Jaromanda X
@JaromandaX, я не совсем понял свое заявление .... я имел в виду вертикальное расположение контактов питания с контактами данных с обеих сторон., @jsotola