Как выполнить код параллельно?

Sherzod
Offline
Зарегистрирован: 17.04.2016

Имеется такая логика:

1. Дальномер постоянно считывает дальность. Если переменная уменьшается, то выполняется действие Х.

2. DHT должен получать данные каждые 5 секунд например. Если температура превышает определенный порог, то выполняется действие Y.

Если напишу код допустим:

int distance = ultrasonic.Ranging(CM);

if (distance < 100) digitalWrite(10, HIGH);

int t = dht.readTemperature();

if (t > 35) digitalWrite(11, HIGH);

delay(5000);

то тогда и дальномер будет простоять 5 секунд. Как сделать так чтобы дальномер все время знал расстояние, а датчик температуры узнавал температуру каждые 5 сек? Может прерывание? Подскажите как?

Клапауций 232
Offline
Зарегистрирован: 05.04.2016
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014
Arhat109-2
Offline
Зарегистрирован: 24.09.2015

тоже поучаствую .. а ещё удобнее everyMillis(). :)