Подключение нескольких arduino uno к одной arduino mega2560
- Войдите на сайт для отправки комментариев
Всем доброго времени суток. Есть несколько плат arduino uno, на каждой из них при изменениинапряжения на аналоговом пине подсчитывает моргание светодиода и отсылает результат вместе с идентификатором платы(две латинские буквы) через TX на плату Arduino Mega2560.
Код в Arduino Uno:
Когда я в мегу заливаю скетч только на один программный порт(без кода, выделенного жирным шрифтом) и подключаю к меге только одну Uno, то все работает нормально. Но если я подключаю к меге хотя бы 2 Uno, то вот тут и возникает проблема, из-за которой я вам и пишу, а именно: данные с Uno передаются на мегу, а дальше с меги они то передаются в программу(вместо программы пробовал монитор порта), то не передаются, то передаются кусками неполными. Я предполагаю, что это все из-за того, что мега по очереди слушает каждый из портов, и в тот момент, когда данные, например, передаются по первому порту мега слушает второй(хотя может и ошибаюсь, возможно с кодом накосячил).
Подскажите, пожалуйста, как мне поправить код на меге, так, чтобы при подключении к ней нескольких Uno, она бы нормально считывала поступающие с них данные и отправляла на комп?(данны никогда не будут передаваться одновременно с разных Uno, в один момент времени данные будут идти только с одной платы).
скорее всего мега нормально отправляет данные, а вот то что вы на один разъем повесили несколько uno вот это и карежит все данные, потому что они отправляют и по отдельности и вместе
скорее всего мега нормально отправляет данные, а вот то что вы на один разъем повесили несколько uno вот это и карежит все данные, потому что они отправляют и по отдельности и вместе
Не совсем понял вашего ответа. На меге создано несколько программных com-портов, к каждому из которых подключена своя Uno, а вот поступившие данные на меге зате передаются через нулевой аппаратный com-порт на компьютер.
а понятно
Cоздаем новый стек tcp/ip на ardino-ах.
а понятно
Cоздаем новый стек tcp/ip на ardino-ах.
эмм... есть езернет-шилд, а как его под это дело прикрутить?
А с комами ничего не получится чтоли?
если софтварный врядли. либо кидать еще один пин что сейчас будет передача
а в меге же не один uart хардварный, или у вас больше?
Я же писал, что на меге настроены программнные uart'ы, к которым прикручены ардуины uno, а вот то, что приходит от уна на мегу уже идет через нулевой uart на комп. Я же писал это все выше. Ведь есть же даже пример, в котором читаются данные с двух разных программных uart'ов(у меня в скетче это все написано)
Неужели нет ни одного человека, который бы мне внятно хоть что-то ответил, мол можно так или ты вот тут не так сделал, и тд.???
меня тоже ждет сопряжение трех контроллеров, но я буду осваивать SPI, что и советую.