Как выполнить код параллельно?
- Войдите на сайт для отправки комментариев
Пт, 06/05/2016 - 20:27
Имеется такая логика:
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 сек? Может прерывание? Подскажите как?
//delay(5000);
класс титановый велосипед для delay без delay().
Вместо delay() использовать millis()
http://arduino.ru/tutorials/BlinkWithoutDelay
http://robocraft.ru/blog/arduino/385.html
тоже поучаствую .. а ещё удобнее everyMillis(). :)