Как сделать чтобы одна часть кода работала, а вторая нет
- Войдите на сайт для отправки комментариев
Ср, 15/04/2015 - 00:31
Помогите обьеденить функции, я новичек поэтому не ругайтесь
Нужно сделать так чтобы в коде:
int val=0; int sensePin =2; int ledPin = 8; int ledPin1 = 9; int ledPin2 = 10; int ledPin3 = 11; void setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void loop() {digitalWrite(8,HIGH); delay(3); digitalWrite(8,LOW); delay(3); digitalWrite(9,HIGH); delay(3); digitalWrite(9,LOW); delay(3); digitalWrite(10,HIGH); delay(3); digitalWrite(10,LOW); delay(3); digitalWrite(11,HIGH); delay(3); digitalWrite(11,LOW); delay(3); }
Работала вот эта часть 10 секунд:
{digitalWrite(8,HIGH); delay(3); digitalWrite(8,LOW); delay(3); digitalWrite(9,HIGH); delay(3); digitalWrite(9,LOW); delay(3); digitalWrite(10,HIGH); delay(3); digitalWrite(10,LOW); delay(3); digitalWrite(11,HIGH); delay(3); digitalWrite(11,LOW); delay(3);
потом весь код замер, через 10 секунд она снова включилась
Из 16 строки фигурную скобку переместите в конец 15-й
millis изучите.
Если предыдущее значение миллис меньше текущего на 10000, то 10 секунд прошло.
Проверку этого поместите в между 15 и 16 строками.выпроняйте весь остальной код если выполняется необходимое условие. Если нет просто опрашивайте миллис.
Из 16 строки фигурную скобку переместите в конец 15-й
millis изучите.
Если предыдущее значение миллис меньше текущего на 10000, то 10 секунд прошло.
Проверку этого поместите в между 15 и 16 строками.выпроняйте весь остальной код если выполняется необходимое условие. Если нет просто опрашивайте миллис.
сделал вот так - не работает(( чето я совсем не понимаю как, если вам не трудно напишите как правильно
Из 16 строки фигурную скобку переместите в конец 15-й
millis изучите.
Если предыдущее значение миллис меньше текущего на 10000, то 10 секунд прошло.
Проверку этого поместите в между 15 и 16 строками.выпроняйте весь остальной код если выполняется необходимое условие. Если нет просто опрашивайте миллис.
Или например, скажите, есть такая функция которая делает например так : повторить 100 раз, а потом выполнить следующее действие.
Или например, скажите, есть такая функция которая делает например так : повторить 100 раз, а потом выполнить следующее действие.
Функцию зовут: переменная-счетчик+оператор if , для более узкого применения оператор for .
Вы вызвали количество миллисекунд с момента ресета и посмотрели на него. Однако не сформировали никаких условий и не предприняли никаких проверок этих условий, чтобы предпринять на их основании действия.
не пытайтесть сразу писать программу . Составте алгоритм из строк - описанийдействий - словестных для начала и проверьте логику и понимание что же именно Вы будете потом кодить.
кстати на ледах Вы не успеете ничего глазом увидеть. А видеть наверно хотели волну вспышек...
Спасибо за код, работает все - но работает все вместе, я добавил вот такую штуку
и у меня работает весь код целиком, а мне нужно чтобы работала сначало это часть кода 10 секунд
if ( millis()%20000 < 10000){ //20000 - период, 10000- время работы
потом вот эта
потом пауза например 30 сек
А если немного подумать??