Программа Moрзе на Arduino UNO
- Войдите на сайт для отправки комментариев
Здравствуйте. Загрузил программу на aruino UNO, которая заставляет мигать светодиод по азбуке Морзе, конкретно слово SOS. Все команды отрабатывают нормально, кроме последней, где стоит задержка выключенного светодиода в 7 секунд – deluy (7000); На этой команде по факту не какой задержки в семь секунд не происходит, а светодиод начинает мерцать в течении пол секунды и цикл повторяется снова. Вопрос почему не происходит заданная задержка? Может кто знает? Программа: int pin = 13; // Номер пина, // на котором расположен светодиод int cek = 1000; // Время длительности // символа "точки" void setup() { pinMode (pin, OUTPUT); } void loop() { // == Буква S == //Точка digitalWrite (pin, HIGH); delay (cek); digitalWrite (pin, LOW); delay (cek); //Точка digitalWrite (pin, HIGH) ; delay (cek); digitalWrite (pin, LOW) ; delay (cek); //Точка digitalWrite (pin, HIGH); delay (cek); digitalWrite (pin, LOW); // Окончание буквы delay (3 * cek); // == Буква O == //Тире digitalWrite (pin, HIGH); delay (3 * cek); digitalWrite (pin, LOW); delay (cek); //Тире digitalWrite (pin, HIGH); delay (3 * cek); digitalWrite (pin, LOW); delay (cek); //Тире digitalWrite (pin, HIGH); delay (3 * cek); digitalWrite (pin, LOW); // Окончание буквы delay (3 * cek); // == Буква S == //Точка digitalWrite (pin, HIGH); delay (cek); digitalWrite (pin, LOW); delay (cek); //Точка digitalWrite (pin, HIGH); delay (cek); digitalWrite (pin, LOW); delay (cek); //Точка digitalWrite (pin, HIGH); delay (cek); digitalWrite (pin, LOW); // Окончание слова delay (7 * cek); }
Вы уверены, что кому-то захочется рабираться в том компоте, что Вы назвали программой? Попробуйте нормально выложить, может тогда больше повезёт.
Не серчайте; первый раз потому-что выложил. Но программа видимо нормальная, так как открываешь окно "Монитор порта" и всё нормально начинает работать. Закрываешь его и сетодиод на последней команде опять начинает мерцать.
Открываешь монитор порта = нажимаешь кнопку RESET.
Открыл окно "монитор порта" нажал кнопку RESET на плате. Закрыл окно - всё также мерцает на последней команде. Может я что-то не правильно сделал.
Открыл окно "монитор порта" нажал кнопку RESET на плате. Закрыл окно - всё также мерцает на последней команде. Может я что-то не правильно сделал.
Предполагалось, что запуск монитора порта равносилен нажатию кнопки RESET. Ваш скетч верен, прогон на nano ошибок не выявил.
UPD. Когда выкладываете код, нумерация строк обязательна.
Спасибо
Олежка, во-первых, 1 секунда для точки - это очень много (если речь идет об азбуке Морзе. А во вторых, у Вас выводится строка "SOS", а не сигнал SOS.