#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); // Задержка между измерениями
}