|
23.11.2012, 16:21 | #1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Тестовый код для управления по шине RS485
По просьбе mebitek, выкладываю тестовые скетчи
УУ - Удаленный узел ЦУ - Центральный узел Для тестирования светодиода D13 на УУ, ЦУ должен быть подключен к ПК или любому роутеру с OpenWrt По UART из терминалки или из сериал монитора, в ЦУ отправляем цифру 1 и светодиод на УУ засветится, что бы его потушить отправьте 0 и т.д. Код для ЦУ, в роли ЦУ Arduino Mega PHP код:
PHP код:
|
23.11.2012, 23:55 | #2 |
Member
Регистрация: 23.11.2012
Сообщений: 47
Вес репутации: 184 |
Я так понимаю, ардуинки между собой соедены при помощи MAX485 например и витой парой, а если добавиться 3 ардуинка то будет так:
byte outdata[9]={255,170,83,87,11,0,0,0,253};//исходящий буфер или как? Первый скетч не компилируется, ошибка закралась, подправьте. Ну и конечно, схему подключения лучше бы выкладывать сразу с распиновкой.... Такие вещи попробывать сходу хочеться, а не гуглить... |
24.11.2012, 00:29 | #3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Схема находится рядом
Скетч тестовый и пока в нем не производится фильтрация ID УУ Но для фильтрации достаточно добавить несколько строк кода Проект находится пока в зачаточном состоянии. Все информация по проекту находится здесь Первый скетч написан для Arduino Mega, возможно Вы пытаетесь скомпилировать его под другой контроллер |
24.11.2012, 02:36 | #4 | |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Цитата:
|
|
24.11.2012, 04:20 | #5 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Я планирую так же делать:
В скетче у тебя вот так. PHP код:
И ещё вот так: И ещё какое-то защитное смещение: Rвх - входное сопротивление приемника (обычно 12 кОм); Rc - согласующие резисторы (120 Ом); Rзс - резисторы защитного смещения- 560 Ом. Я подумал Тебе будет это интересно. А вот некоторые вещи мне не понятны, поясни пожалуйста! В скетче для Arduino Mega, Ты отправляешь 9 байт. PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
И вот тут, для ардуино нано: PHP код:
А вот _delay_us(350); -это 350 микросекунд пока данные долетят? //формируем старт бит и время для отправки данных А что значит формирует старт бит? И ещё савсем последний вопросик))) Для Ардуина Мега: PHP код:
Я извиняюсь за такое количество вопросов!!!!!!!!!! Последний раз редактировалось stD; 24.11.2012 в 04:24. |
24.11.2012, 19:25 | #6 | |||||||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Цитата:
Они помогают повысить помехозащищенность шины Цитата:
Цитата:
Без прерываний контроллер может пропустить нажатие, а пользователь не сможет включить свет с первого раза Цитата:
Я ее в скетче пока не использую Цитата:
Если во время не перевести в режим прослушивания шины, то УУ может пропустить команду от ЦУ Цитата:
Цитата:
|
|||||||
24.11.2012, 23:06 | #7 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
PHP код:
|
25.11.2012, 00:05 | #8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Я не вижу ошибку
|
25.11.2012, 01:38 | #9 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Ну как же, digitalWrite(DE, HIGH); "переводим драйвер в режим приёмника", я думал здесь должно быть написано "передатчика"
А потом, Serial.write(outdata,9); "передаём данные" |
25.11.2012, 01:44 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Понял, а я скетч для ЦУ смотрел и не увидел ошибки
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|