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


// Программа для исследования инфракрасного датчика расстояния GP2Y0A41 (по методичке)

int distance;             // Переменная для расстояния
const int ledPin = 13;    // Пин для светодиода (доп. задание)

void setup() {
  Serial.begin(9600);     // Запуск монитора порта
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // 3. Чтение значения с аналогового вывода A0 и перевод в вольты
  float volts = analogRead(A0) * 0.0048828125; // 5 / 1024 (шаг АЦП)

  // 4. Перевод напряжения в расстояние: distance = 13 * volts^(-1)
  distance = (int)(13 * pow(volts, -1));

  // 5. Вывод текста в монитор порта
  Serial.print("Расстояние до объекта (ИК-датчик): ");

  // 6. Проверка выхода за диапазон измерения
  if (distance <= 30) {
    Serial.print(distance);
  } else {
    Serial.print("> 30");
  }
  Serial.println(" см");

  // Дополнительное задание: светодиод загорается при приближении объекта ближе чем на 15 см
  if (distance < 15) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

  // 7. Пауза между измерениями (1000 мс)
  delay(1000);
}