КАК объединить две программы??

Тема в разделе "Arduino & Shields", создана пользователем Илья-lek, 25 ноя 2012.

  1. Илья-lek

    Илья-lek Нуб

    Помогите объединить две программы. Одна работает через определенное время а другую надо чтобы работала постоянно...

    ЭТО ПЕРВАЯ:
    #define R_LED 9
    #define G_LED 10
    #define B_LED 11

    void setup()
    {
    pinMode(R_LED, OUTPUT);
    pinMode(G_LED, OUTPUT);
    pinMode(B_LED, OUTPUT);
    }

    void loop()
    {
    digitalWrite(R_LED, HIGH);
    delay(300000);
    digitalWrite(G_LED, HIGH);
    delay(3000);
    digitalWrite(G_LED, LOW);
    delay(1500000);
    digitalWrite(B_LED, HIGH);
    delay(3600000);
    digitalWrite(B_LED, LOW);
    delay(3600000);
    digitalWrite(B_LED, HIGH);
    delay(3600000);
    digitalWrite(B_LED, LOW);
    delay(3600000);
    digitalWrite(B_LED, HIGH);
    delay(14400000);
    digitalWrite(B_LED, LOW);
    delay(10800000);
    digitalWrite(B_LED, HIGH);
    delay(3600000);
    digitalWrite(B_LED, LOW);
    delay(1800000);
    digitalWrite(G_LED, HIGH);
    delay(3000);
    digitalWrite(G_LED, LOW);
    delay(1800000);
    digitalWrite(B_LED, HIGH);
    delay(5400000);
    digitalWrite(B_LED, LOW);
    delay(1800000);
    digitalWrite(R_LED, LOW);
    delay(28800000);


    }
    И ВОТ ВТОРАЯ (которая работает всегда и не по времени)
    void setup () {
    pinMode(A2,INPUT); //A2 пин — на вход сигнала
    Serial.begin(9600); //связь с компьютером 9600 бит/с
    for (int i=10; i<=12; i++) {
    pinMode (i,OUTPUT);
    }
    }
    void loop () {
    int t = analogRead(A2); //читаемзначениес A2
    int led = map (t,540,600,0,3);
    if (led>=1) {digitalWrite(10,HIGH);}
    else {digitalWrite(10,LOW);}
    if (led>=2) {digitalWrite(11,HIGH);}
    else {digitalWrite(11,LOW);}
    if (led>=3) {digitalWrite(12,HIGH);}
    else {digitalWrite(12,LOW);}
    Serial.println(t); //пишем это значение в //последовательный порт (для нас это USB)
    delay(10); // немного ждём
    }

    СПАСИБО ЗАРАНЕЕ
     
  2. nailxx

    nailxx Официальный Нерд Администратор

  3. Илья-lek

    Илья-lek Нуб

    Это чуть-чуть не то. Я видимо не правильно объяснил. Мне надо что-бы эти программы работали одновременно. Но одна по времени, а другая всегда!
     
  4. msng

    msng Нуб

    я так понял эта программа (та которая первая) должна цикл проходить за сутки (почти 23 часа 30 минут)
    может стоит добавить RTC... например DS1307
    если нет, то Вам сюда мигаем светодиодом без delay