Доброго времени суток! Мне нужно передать цифровой сигнал (0 или 1) от одной ардуино к другой. Как это сделать проще всего? В интернете находил только информацию по передаче данных по rx/tx, но мне всего лишь нужно передавать одиночный сигнал. К тому же у меня в распоряжении всего 2 провода.
Соедините пины и земли. На приемнике сигнал можно повесить на прерывание - не придется постоянно его опрашивать.
Пытался соединить напрямую пины и земли, но в этом случае на ардуине источнике почему-то начинают давать большую погрешность фоторезисторы. На приемнике же появляются ложные сигналы, скорее всего из-за того что длинный кабель и на нем наводки образуются. Даже ток в 0.15В уже считается за сигнал. Можно подробнее про прерывания?
Многовато. А при передаче сигнала на другом конце что-то вообще появляется или только наводки? Если сигнал в принципе проходит, то можно попробовать увеличить длительность сигнала и на приемнике проверять ее, чтобы отфильтровать наводки.
Нужно проверить. Как только проверю отпишусь сразу. А нельзя просто один провод на пин подавать, без земли?
Без земли нельзя. Можете еще про RS-485 почитать, при передаче по дифференциальной паре наводки сами себя гасят, но потребуется тянуть витую пару и ставить микросхему на каждом конце.
а можно ссылку на эту тему, если не сложно Там уже заложен обычный двухжильный кабель. Перепроложить не получится(
По Радио не?http://zelectro.cc/arduino-radio-transmitter-receiver Тогда тупо соедени вывод 12 передающей Арды с выводом 11 принимающей ну и второй провод "земля".Ну и при желании скетч можно укоротить и упростить выбросив неиспользуемые библиотеки.Удачи!
По радио можно, но не хочется покупать ничего лишнего. Получается, что даже когда источник отключен в приемник идет 0.25В. Может быть можно как то понизить, например использовав составление? Или подключить к аналоговому пину и фильтровать в скетче?
А если подтянуть линию передачи через резистор ~4.7-10 кОм к массе (gnd), ну например с обоих сторон или для проверки с одной? В момент передачи высокого уровня он должен пересилить подтяжку и засчитать за "1", а в момент низкого уровня или его отсутствия будет гарантированно стянут к массе. Или экранируйте провод металлическим экранном, но его лучше заземлить.
Я пробовал поставить резистор на 10кОм на приемник - не сработало. Экранировать кабель уже нельзя, т.к. он уже проложен. А нельзя как-то уменьшить это напряжение хотя бы раза в 2-3, чтобы не было ложных срабатываний?
Присоединяюсь к вопросу. У меня та же задача. Передать между ардуинами 0 или 1. Имеется два контроллера nano. К ним подключены фоторезисторы, на которые светил лазерный луч. Еще есть контроллер UNO, к которому подключен дисплей. Задача в том, чтобы при прерывании одного или второго (или обоих сразу) луча Nano посылали "1" на UNO. В свою очередь, UNO, принимая "1", должен отображать на дисплее определенную информацию в зависимости от того, какой из лучей прерван. Каждый из трех контроллеров имеют свое независимое питание. Соединил два пина между Nano и UNO, при попытке соединить их земли зажигается подсветка дисплея. В итоге не работает. В этом деле новичок, пытаюсь во всем разобраться. Что я делаю не так? Как самым простым способом по проводам передать единицу с одного контроллера на другой? Заранее спасибо.