С уважением, Аркадий
Код: Выделить всё
[code]
#include <Wire.h>
#include <VL53L0X.h>
extern "C" {
#include "user_interface.h";
}
bool en_99658143_1;
int period_99658143_1;
int dist_99658143_1;
VL53L0X sensor_99658143_1;
long previousMillis_99658143_1= 0; // храним время последнего переключения светодиода
bool en_99658143_2;
int period_99658143_2;
int dist_99658143_2;
VL53L0X sensor_99658143_2;
long previousMillis_99658143_2= 0; // храним время последнего переключения светодиода
void setup()
{
pinMode(16, OUTPUT);
digitalWrite(16, 0);
Wire.begin();
sensor_99658143_1.init();
sensor_99658143_1.setTimeout(500);
sensor_99658143_1.setSignalRateLimit(0.1);
sensor_99658143_1.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);
sensor_99658143_1.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);
Wire.begin();
sensor_99658143_2.init();
sensor_99658143_2.setTimeout(500);
sensor_99658143_2.setSignalRateLimit(0.1);
sensor_99658143_2.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);
sensor_99658143_2.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);
}
void loop()
{
//Плата:1
en_99658143_1 = 1;
period_99658143_1 = 10;
if (en_99658143_1==1)
{
long interval= period_99658143_1 ; // интервал между включение/выключением светодиода (1 секунда)
unsigned long currentMillis = millis();
//проверяем не прошел ли нужный интервал, если прошел то
if(currentMillis - previousMillis_99658143_1 > interval) {
// сохраняем время последнего переключения
previousMillis_99658143_1 = currentMillis;
dist_99658143_1=(sensor_99658143_1.readRangeSingleMillimeters());
}
}
en_99658143_2 = 1;
period_99658143_2 = 10;
if (en_99658143_2==1)
{
long interval= period_99658143_2 ; // интервал между включение/выключением светодиода (1 секунда)
unsigned long currentMillis = millis();
//проверяем не прошел ли нужный интервал, если прошел то
if(currentMillis - previousMillis_99658143_2 > interval) {
// сохраняем время последнего переключения
previousMillis_99658143_2 = currentMillis;
dist_99658143_2=(sensor_99658143_2.readRangeSingleMillimeters());
}
}
digitalWrite(16, !(( ((dist_99658143_1) < (300)) && ((dist_99658143_2) < (300)) )));
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}