Загрузка данных


#define TRIG_PIN 3
#define ECHO_PIN 2
#define LED 5
unsigned long oldMillis = 0;
bool ledState = LOW;
void setup()
{
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  int duration, sm;
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  duration = pulseIn(ECHO_PIN, HIGH);
  sm = duration / 58;
  Serial.print("Расстояние = ");
  Serial.println(sm);
  int interval;
  if (sm < 50)
  {
    interval = 200;
  }
  else if (sm < 100)
  {
    interval = 500;
  }
  else if (sm < 150)
  {
    interval = 1000;
  }
  // Моргание через millis()
  unsigned long newMillis = millis();
  if (newMillis - oldMillis >= interval)
  {
    oldMillis = newMillis;
    ledState = !ledState;
    digitalWrite(LED, ledState);
  }
}