Суть программы,один светодиод должен моргать независимо от другого.А второй должен включаться и выключаться по нажатию кнопки Код (C++): const int button = 9; const int ledLamp = 10; const int ledLamp1 = 11; void setup () { pinMode(ledLamp,OUTPUT); pinMode(button,INPUT); pinMode(ledLamp1,OUTPUT); } void loop() { if (digitalRead(button) == HIGH) { digitalWrite(ledLamp, HIGH); } else { digitalWrite(ledLamp, LOW); } digitalWrite(ledLamp1,HIGH); delay(2000); digitalWrite(ledLamp1,LOW); delay(2000); } Но схема не работает.
Так один светодиод должен моргать независимо от другого,а второй светодиод(который не включается) должен включаться по нажатию кнопки.
Микроконтроллер выполняет код по порядку. 1) Сначала он посмотрит, что у него на пине (button), далее в зависимости от состояния кнопки (нажата - не нажата) он включит или выключит светодиод. - т.е. отработает оператор if...else . 2) Потом включит светодиод на пине ledLamp1 -т.е. отработает digitalWrite 3) Потом пауза 2 секунды - delay 4) Потом выключит ledLamp1 - digitalWrite 5) Потом опять пауза 2 секунды - delay Затем опять возвращается к пункту 1, и всё повторяется. Допустим ты нажал на кнопку, когда микроконтроллер выполнял пункт 2. Пока он не закончит выполнения пункта 2, затем 3, затем, 4, затем 5 он не приступит к пункту 1. Операторы digitalWrite он выполнит ооооочень быстро, а вот delay будет отрабатывать два раза по 2 секунды = 4 секунды. Тебе нужно сделать так, чтоб микроконтроллер ни на какой строчке кода долго не задерживался. Тогда для человека создаётся эффект, что у микроконтроллера всё под контролем и он всё делает одновременно(хотя на самом деле он ВСЕГДА ВСЁ будет делать по порядку). Для реализации твоей задумки, тебе необходимо изучить Мигаем светодиодом без delay() . И будет тебе счастье! http://arduino.ru/tutorials/BlinkWithoutDelay
Когда спрашивает НУБ, нужно отвечать и советовать развёрнуто и понятно. На то и форум, чтоб получить недостающий опыт от более опытного форумчанина. Ваш же ответ похож на издёвку над менее опытным товарищем. Лучше бы вы вообще ничего не отвечали!
Ничего личного! Не переживайте так! На вашем месте мог оказаться любой ГУРУ этого форума. Иногда почитываю Ваши(в смысле не только ваши, а практически всех гуру) издёвки над нубами и думаю: какова ваша цель ? Самоутвердиться или поиздеваться? PS "Полить лысину водкой" можно и без повода!
Судя по вопросу, человек даже не поймёт куда копать и что искать. Тыкать пальцем в небо??? По каким тэгам гуглить или искать среди сотен страниц форума?? Какие даташиты ему читать??? Время- деньги! И если есть шанс сэкономить время, потраченное возможно в пустую, т.к. в конце концов не найдя то что нужно, человек вообще может бросить микроэлектронику и переключиться на что-нибудь другое, почему бы не объяснить в чём его ошибка и не направить его по конкретному адресу???
Нееее, мало вводить статус БИЧ!!! Нужен ещё один - КИБОРГ! Как доказывать будете, что у вас электроника в спинном мозгу?? Проводочек ниоткуда не торчит?? Статус КИБОРГ нужно заслужить!
Нене, надо срочно разжовывать базовые понятия! Минуя всяческие учебники, в том числе и 10 мини-проектов от Амперки для самых маленьких! Незачем нубам и нердам такой ерундой заниматься, время свое тратить драгоценное, если гики и прочие киборги уже его потратили и знают готовые ответы.