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


#include <Servo.h>

Servo myServo;

const int photoResistorPin = A0; // Пин для фоторезистора
const int ledPin = 9; // Пин для светодиода
const int trigPin = 10; // Пин для триггера ультразвукового датчика
const int echoPin = 11; // Пин для эха ультразвукового датчика

void setup() {
  Serial.begin(9600);
  myServo.attach(8); // Пин для сервопривода
  pinMode(ledPin, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // Чтение значения фоторезистора
  int lightLevel = analogRead(photoResistorPin);
  int ledBrightness = map(lightLevel, 0, 1023, 0, 255);
  analogWrite(ledPin, ledBrightness);

  // Измерение расстояния с помощью ультразвукового датчика
  long duration, distance;
  
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2; // Преобразование времени в расстояние
  
  // Управление сервоприводом в зависимости от расстояния
  int servoAngle = map(distance, 0, 200, 0, 180); // Примерный диапазон
  myServo.write(servoAngle);
  
  Serial.print("Light Level: ");
  Serial.print(lightLevel);
  Serial.print(" - LED Brightness: ");
  Serial.print(ledBrightness);
  Serial.print(" - Distance: ");
  Serial.println(distance);

  delay(500); // Задержка между измерениями
}