<strong></strong>
int led = 12;
int count = 1;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT); pinMode(11, OUTPUT);
}
void loop() {
if(count < 5) {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(6000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(6000); // wait for a second
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(6000);
count++;
}
}
<strong></strong>
int led = 12;
int count = 1;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT); pinMode(11, OUTPUT);
}
void loop() {
if(count < 5) {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(6000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(6000); // wait for a second
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(6000);
count++;
}
по завершению этой программы нужно включить пин 9 через минуту
}
01
#define led 12
02
byte count=1; // это для чего ?
03
void setup()
04
{
05
pinMode(led,OUTPUT);
06
pinMode(11,OUTPUT); // за что отвечает пин 11 ? ВКЛЮЧАЕТСЯ 11 ПИН НА ПОСТОЯННО
07
}
08
//=================================================================
09
void loop()
10
{
11
if(count<5)
12
{
13
digitalWrite(led,HIGH); // вкл СД
14
delay(6000); // ждать 6 сек
15
digitalWrite(led,LOW); // выкл СД
16
delay(6000); // ждать 6 сек
17
digitalWrite(led,HIGH); // вкл СД
18
delay(6000); // ждать 6 сек
19
count++; //
20
}
21
//=================================================================
22
// через 4 прохода лупа - всё перестанет работать - что вы хотите от кода ?
ДА ЧЕРЕЗ ЧЕТЫРЕ ПРОХОДА ВСЕ ПЕРЕСТАНЕТ РАБОТАТЬ А 11 ПИН БУДЕТ ВКЛЮЧЕН И НУЖНО ЧТОБ 9 ПИН ВКЛЮЧИЛСЯ ЧЕРЕЗ МИНУТУ
Как понять, "программы работали по очереди"??
Написать их по очереди
пишу по очереди выдает ошибку
Скетч,ошибку в студию! И объясните,наконец,что за задача перед вами стоит?
простой диспетчер задач
enum CODE{code1,code2,code3}; CODE code; //========================================================================= void setup() { code=code1; } //========================================================================= void loop() { // code1 - по вашему = программа1 if(code1) { } // code2 - по вашему = программа2 if(code2) { } // code3 - по вашему = программа3 if(code2) { } // управление программами // if(что-то1) code=code1; // if(что-то2) code=code2; // if(что-то3) code=code3; } //=========================================================================http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
не забывай нажать галочки в допВкладке - свернуть и нумеровать....
поправь свой #6
тибе нужно иттить в сторону millis()
вроде все просто но не получается буду пробовать жду советов
что не получается ? разместить здесь код ?
нормально выложите код - будут советы, примеры кодов
<strong></strong> int led = 12; int count = 1; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); pinMode(11, OUTPUT); } void loop() { if(count < 5) { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(6000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(6000); // wait for a second digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(6000); count++; } }<strong></strong> int led = 12; int count = 1; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); pinMode(11, OUTPUT); } void loop() { if(count < 5) { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(6000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(6000); // wait for a second digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(6000); count++; } по завершению этой программы нужно включить пин 9 через минуту }#define led 12 byte count=1; // это для чего ? void setup() { pinMode(led,OUTPUT); pinMode(11,OUTPUT); // за что отвечает пин 11 ? } //================================================================= void loop() { if(count<5) { digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек digitalWrite(led,LOW); // выкл СД delay(6000); // ждать 6 сек digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек count++; // } //================================================================= // через 4 прохода лупа - всё перестанет работать - что вы хотите от кода ?1 - пин 9 у вас нигде не прописан
01 #define led 12 02 byte count=1; // это для чего ? 03 void setup() 04 { 05 pinMode(led,OUTPUT); 06 pinMode(11,OUTPUT); // за что отвечает пин 11 ? ВКЛЮЧАЕТСЯ 11 ПИН НА ПОСТОЯННО 07 } 08 //================================================================= 09 void loop() 10 { 11 if(count<5) 12 { 13 digitalWrite(led,HIGH); // вкл СД 14 delay(6000); // ждать 6 сек 15 digitalWrite(led,LOW); // выкл СД 16 delay(6000); // ждать 6 сек 17 digitalWrite(led,HIGH); // вкл СД 18 delay(6000); // ждать 6 сек 19 count++; // 20 } 21 //================================================================= 22 // через 4 прохода лупа - всё перестанет работать - что вы хотите от кода ? ДА ЧЕРЕЗ ЧЕТЫРЕ ПРОХОДА ВСЕ ПЕРЕСТАНЕТ РАБОТАТЬ А 11 ПИН БУДЕТ ВКЛЮЧЕН И НУЖНО ЧТОБ 9 ПИН ВКЛЮЧИЛСЯ ЧЕРЕЗ МИНУТУВМЕСТО СВЕТОДИОДОВ У МЕНЯ РЭЛЕ СВЕТОДИОДЫ ТАК ДЛЯ ПРИМЕРА
#define led 12 #define relay 9 #define who 11 // чё это2 ? byte count=1; // это для чего ? unsigned long oldMillis; //================================================================= void setup() { pinMode(led,OUTPUT); digitalWrite(led,LOW); // выкл СД pinMode(relay,OUTPUT); digitalWrite(relay,LOW); // выкл реле pinMode(who,OUTPUT); digitalWrite(who,LOW); // выкл чё это2 } //================================================================= void loop() { if(count<5) { digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек digitalWrite(led,LOW); // выкл СД delay(6000); // ждать 6 сек digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек digitalWrite(led,LOW); // выкл СД delay(6000); // ждать 6 сек digitalWrite(who,HIGH); // вкл чё это2 count++; // oldMillis=millis(); } if((millis()-oldMillis)>1000) // не выполнять пока не пройдёт секунда { digitalWrite(relay,HIGH); // вкл реле } } //=================================================================#define led 12 #define relay 9 #define who 11 // чё это2 ? unsigned long oldMillis; //================================================================= void setup() { pinMode(led,OUTPUT); digitalWrite(led,LOW); // выкл СД pinMode(relay,OUTPUT); digitalWrite(relay,LOW); // выкл реле pinMode(who,OUTPUT); digitalWrite(who,LOW); // выкл чё это2 } //================================================================= void loop() { for(byte i=0;i<10;i++} { digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек digitalWrite(led,LOW); // выкл СД delay(6000); // ждать 6 сек } digitalWrite(who,HIGH); oldMillis=millis(); if((millis()-oldMillis)>1000) // не выполнять пока не пройдёт секунда { digitalWrite(relay,HIGH); // вкл реле } } //=================================================================СПАСИБО ОГРОМНОЕ РАЗОБРАЛСЯ ЕСЛИ НЕ СЛОЖНО А КАК СЮДА ЕЩЕ ПРЕКРЕПИТЬ СЧЕТЧИК ВРЕМЕНИ ДЛЯ ДМСПЛЭЯ 16 -2 ЧЕРЕЗ SDA SCL
Мой вариант на 16-битном таймере:
void setup(){ TCCR1A=0; TIMSK1=(1<<TOIE1); //разрешить прерываение ICR1=46874; //прерывание каждые 6 секунд TCCR1B=(1<<WGM13)|(1<<CS12)|(1<<CS10); //mode 8; div 1024 pinMode (13, OUTPUT); //пин лед pinMode (9, OUTPUT); //пин чего-то digitalWrite (13,HIGH);// включить лед после старта } void loop() { } ISR (TIMER1_OVF_vect) { static int cicle=1; //счётчик входов switch(cicle){ case 1: //сюда влетает через 6 секунд после старта таймера digitalWrite (13,LOW); //отключить лед break; case 10: //сюда влетает через 60 секунд после старта таймера digitalWrite (9,HIGH); //включить реле TCCR1B=(1<<WGM13); //отключить таймер насовсем break; } if (cicle <10) cicle++; }СПАСИБО ОГРОМНОЕ РАЗОБРАЛСЯ ЕСЛИ НЕ СЛОЖНО А КАК СЮДА ЕЩЕ ПРЕКРЕПИТЬ СЧЕТЧИК ВРЕМЕНИ ДЛЯ ДМСПЛЭЯ 16 -2 ЧЕРЕЗ SDA SCL
задачЮ пропишите !
при включение всего выше перечисленного включается дисплей и на нем идет время работы устройства
#define led 12 #define relay 9 #define who 11 // чё это2 ? unsigned long oldMillis; //================================================================= void setup() { pinMode(led,OUTPUT); digitalWrite(led,LOW); // выкл СД pinMode(relay,OUTPUT); digitalWrite(relay,LOW); // выкл реле pinMode(who,OUTPUT); digitalWrite(who,LOW); // выкл чё это2 } //================================================================= void loop() { for(byte i=0;i<10;i++} { digitalWrite(led,HIGH); // вкл СД delay(6000); // ждать 6 сек digitalWrite(led,LOW); // выкл СД delay(6000); // ждать 6 сек } digitalWrite(who,HIGH); oldMillis=millis(); if((millis()-oldMillis)>1000) // не выполнять пока не пройдёт секунда { digitalWrite(relay,HIGH); // вкл реле } // вывод на дисплей millis() - время от начала работы кода в миллисекундах } //=================================================================