Передача сигнала между ардуино

Тема в разделе "Arduino & Shields", создана пользователем Александр89, 26 сен 2015.

  1. Доброго времени суток!

    Мне нужно передать цифровой сигнал (0 или 1) от одной ардуино к другой. Как это сделать проще всего?
    В интернете находил только информацию по передаче данных по rx/tx, но мне всего лишь нужно передавать одиночный сигнал. К тому же у меня в распоряжении всего 2 провода.
     
  2. Вадыч

    Вадыч Нерд

    А просто проводом соеденить пины на разных ардуинах?
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    Соедините пины и земли. На приемнике сигнал можно повесить на прерывание - не придется постоянно его опрашивать.
     
  4. Пытался соединить напрямую пины и земли, но в этом случае на ардуине источнике почему-то начинают давать большую погрешность фоторезисторы.
    На приемнике же появляются ложные сигналы, скорее всего из-за того что длинный кабель и на нем наводки образуются. Даже ток в 0.15В уже считается за сигнал.

    Можно подробнее про прерывания?
     
  5. Megakoteyka

    Megakoteyka Оракул Модератор

  6. Примерно 10 метров
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Многовато. А при передаче сигнала на другом конце что-то вообще появляется или только наводки?
    Если сигнал в принципе проходит, то можно попробовать увеличить длительность сигнала и на приемнике проверять ее, чтобы отфильтровать наводки.
     
  8. Нужно проверить. Как только проверю отпишусь сразу.
    А нельзя просто один провод на пин подавать, без земли?
     
  9. Megakoteyka

    Megakoteyka Оракул Модератор

    Без земли нельзя.
    Можете еще про RS-485 почитать, при передаче по дифференциальной паре наводки сами себя гасят, но потребуется тянуть витую пару и ставить микросхему на каждом конце.
     
  10. Mestniy

    Mestniy Гуру

    Смотри тему 2Arduino и дисплей, там подробно об этом говориться...
     
  11. а можно ссылку на эту тему, если не сложно

    Там уже заложен обычный двухжильный кабель. Перепроложить не получится(
     
  12. Megakoteyka

    Megakoteyka Оракул Модератор

  13. Airbus

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

    По Радио не?http://zelectro.cc/arduino-radio-transmitter-receiver Тогда тупо соедени вывод 12 передающей Арды с выводом 11 принимающей ну и второй провод "земля".Ну и при желании скетч можно укоротить и упростить выбросив неиспользуемые библиотеки.Удачи!
     
  14. По радио можно, но не хочется покупать ничего лишнего.

    Получается, что даже когда источник отключен в приемник идет 0.25В. Может быть можно как то понизить, например использовав составление?
    Или подключить к аналоговому пину и фильтровать в скетче?
     
  15. Salk

    Salk Гик

    А если подтянуть линию передачи через резистор ~4.7-10 кОм к массе (gnd), ну например с обоих сторон или для проверки с одной? В момент передачи высокого уровня он должен пересилить подтяжку и засчитать за "1", а в момент низкого уровня или его отсутствия будет гарантированно стянут к массе. Или экранируйте провод металлическим экранном, но его лучше заземлить.
     
  16. Я пробовал поставить резистор на 10кОм на приемник - не сработало. Экранировать кабель уже нельзя, т.к. он уже проложен.
    А нельзя как-то уменьшить это напряжение хотя бы раза в 2-3, чтобы не было ложных срабатываний?
     
  17. Sky555

    Sky555 Нуб

    Присоединяюсь к вопросу. У меня та же задача. Передать между ардуинами 0 или 1.
    Имеется два контроллера nano. К ним подключены фоторезисторы, на которые светил лазерный луч. Еще есть контроллер UNO, к которому подключен дисплей. Задача в том, чтобы при прерывании одного или второго (или обоих сразу) луча Nano посылали "1" на UNO. В свою очередь, UNO, принимая "1", должен отображать на дисплее определенную информацию в зависимости от того, какой из лучей прерван. Каждый из трех контроллеров имеют свое независимое питание.
    Соединил два пина между Nano и UNO, при попытке соединить их земли зажигается подсветка дисплея. В итоге не работает.
    В этом деле новичок, пытаюсь во всем разобраться. Что я делаю не так? Как самым простым способом по проводам передать единицу с одного контроллера на другой? Заранее спасибо.