Помогите с кодом

Дед из леса
Offline
Зарегистрирован: 13.06.2020

Есть следующий код, который при получении сигнала с датчика освещения подает питание на 13 пин:

int LED = 13;

int LDR = 0;

int base;

int threshold = 100;

void setup() {

pinMode(LED, OUTPUT);

pinMode(LDR, INPUT);

base = analogRead(LDR);

}

void loop() {

int v = analogRead(LDR);

if ((base - v) < threshold) {

digitalWrite(LED, HIGH);

} else {

digitalWrite(LED, LOW);

}

}

Как правильно вставить условие - если после считывания сигнала с аналогового датчика на 13 пин подается питание, то на любой другой цифровой выход подать короткий импульс длительностью 0,3 сек, и одновременно на другой цифровой пин выход подать импульс длительностью 5 сек

svm
Offline
Зарегистрирован: 06.11.2016

Прямо начиная с 26 строки и вписать, то что нужно. Но если применять делеи, то минимум на 5 сек ардуино не будет реагировать ни на что.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Дед из леса пишет:
Как правильно вставить условие - если после считывания сигнала с аналогового датчика на 13 пин подается питание, то на любой другой цифровой выход подать ...

Никак. На конкретный пин - можно, на все сразу - можно, а "на любой другой" - никак.

Впрочем, спросите у Рабиновича, может он чего подскажет.

renoshnik
Offline
Зарегистрирован: 11.04.2013

ЕвгенийП пишет:

Дед из леса пишет:
Как правильно вставить условие - если после считывания сигнала с аналогового датчика на 13 пин подается питание, то на любой другой цифровой выход подать ...

Никак. На конкретный пин - можно, на все сразу - можно, а "на любой другой" - никак.

Впрочем, спросите у Рабиновича, может он чего подскажет.

А если использовать функцию RandomSeed()   :-)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

renoshnik пишет:

А если использовать функцию RandomSeed()   :-)

Ну, можно, конечно, но ТС ведь спрашивал

Дед из леса пишет:
Как правильно вставить условие
а тут одним условием явно не обойдёшься.