Почему посылается сигнал на цыфровые выходы при работе с COM портом.

sokol88
Offline
Зарегистрирован: 17.03.2012

 Здравствуйте, уважаемые форумчане! Решил я к свой ей Arduino Uno на 10 цифровых выводов (от 2 до 11) подключить по одному светодиоду на каждый выход! Цель - обычное включение/выключение светодиодов через ПК (по USB через виртуальный COM порт). Но при загрузке скетча почему то начали мигать светодиоды на 8, 9, 10 и 11 выводах, а также встроеный 13-й. Также эти же сктодиоды мигают при включении/выключении Serial Monitor, причем при изменении скорости порта - они также мигают! Причем при посылании мною каких либо левых команд они не реагирую (как по идее и должно быть). Собственно поэтому у меня вопрос: почему эти светодиоды мигают, т.е. почему на них идет сигнал?
Плата - Freeduino 2009 - полный аналог Arduino Duemilanove. ATMega328

carduino.ru
Offline
Зарегистрирован: 06.12.2011

Может быть потому что скетч? 

sokol88
Offline
Зарегистрирован: 17.03.2012

 Сначала, я тоже так подумал, но увы:( После записи пустого скетча, где совершенно не должны включаться светодиоды, они все равно мигают!

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 

Учите Мат.часть!

 

При запуске или перзагрузке программы автозагрузчик опрашивает serial на предмет прошивки новой прогрммы .

Если новая программа не найдена , МК начинает исполнение прошитой ранее программы.

Так вот , при работе автозагрузчика мерцают все (или почти все) ноги МК.

При запуске Serial Monitor так же происходит перезагрузка программы (reset). 

sokol88
Offline
Зарегистрирован: 17.03.2012

 А причем тут Мат. Часть?

Тогда если это автозагрузчик, то как его возможно выключить? 

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

Выключить автозагрузчик ?!

И мат. часть тут очень даже причем. Если бы вы знали основы то не задавали бы таких вопросов.

Если вам мешает автозагрузчик , возьмите чистый МК и шейте его классическим СИ , через дудку или пони прог.

Конкретно  , в случае с дуиной , есть такой вариант :

подключаете минусы ваших светодиодов к GND через транзистор или релюшку , так чтобы минус был  "нормально" отключен и включаете   релюшку только из программы. Тогда мерцания портов при запуске никак не отразятся на работе исполняющих устройств (светодиоды не будут работать так как GND отключен).

Ну и  , наверное , дальше последует классическая просьба написать пример программы и схемы ?

sokol88
Offline
Зарегистрирован: 17.03.2012

 Основы математики мне известны! но я так понимаю вы не это имели ввиду, а основы работы с МК! 

А вот с класической просьбой вы не угадали! смысл просить - и так все понятно! Я просто думал, что вдруг где то что то упустил, или есть какая то перемычка для выключения! Спасибо большое за ответ, буду релюшками рулить!

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

Мат. часть  Это материальная часть. 

sokol88
Offline
Зарегистрирован: 17.03.2012

 Так с этого и надо было начинать:) но за совет спасибо:)

chervyachok
chervyachok аватар
Offline
Зарегистрирован: 22.12.2011

nestandart пишет:

 Учите Мат.часть!

 1 - При запуске или перзагрузке программы автозагрузчик опрашивает serial на предмет прошивки новой прогрммы .

 2 - Если новая программа не найдена , МК начинает исполнение прошитой ранее программы.

 3 - Так вот , при работе автозагрузчика мерцают все (или почти все) ноги МК.

 4 - При запуске Serial Monitor так же происходит перезагрузка программы (reset). 

Извиняюсь, но немного поправлю

1, 2  - не знаю, спорить не буду

3 - так все и или почти все. Сколько плат не использовал (UNO r2, MEGA, MEGA ADK) причем не единичные екземпляры, так ни разу подобного не наблюдалось. Да и по логике такого и быть не может, так как "меги" используються не только в детских игрушках типа "помигать светодиодом" а и в довольно серьезных устройствах, где случайное изменение напряжения на выходах может привести к фатальным последствиям. Ети устройства естественно работают на прошывке, которую иногда приходиться обновлять (оптимизация например). 

И если считать что "все (или почти все)" ноги мерцают то подключение транзистора или реле, которые в свою очередь также управляються от тех же ног - как минимум звучит смешно. Что если мигнут вместе нога которая подает напряжение на светодиод и нога которая управляет транзистором - результат тот же - сведодиод мигнул.

4 - работу Serial Monitor ардуиновского интерфейса иногда очень трудно понять. Например только что подключил МЕГА АДК с стетчем протокола общения от одного устройства и проверил на придмет перезагрузки. Так при запуске все продолжает работать, а при закрытии МК перезагружаеться. Лично я уже давно разрабатываю на VisualStudio, там тоже есть средство для общения по серийному порту. Так там никаких перезагрузок нет, скетч продолжает работать как при соединении так и при закрытии порта.

В общем думаеться что проблема здесь не в вышеперечисленом. Попробуйте сначала другой МК если есть возможность.

 

step962
Offline
Зарегистрирован: 23.05.2011

chervyachok пишет:

 Да и по логике такого и быть не может, так как "меги" используються не только в детских игрушках типа "помигать светодиодом" а и в довольно серьезных устройствах, где случайное изменение напряжения на выходах может привести к фатальным последствиям.

Между "мегой" и "ардуиной" все же есть некоторое различие - пресловутый бутлоадер. И "мигание диодами" при запуске "меги" с прошитым "ардуиновским" бутлоадером никак не может помешать той же меге "правильно" запускаться в условиях его отсутствия.

Другими словами: мигание диодами при старте может быть не болезнью микроконтроллера, а "фичей" зашитой в него программы.