#define LED_PIN 9 // ШИМ
#define POT_PIN A0 // Аналоговый пин
// Константы для преобразования значений
const int ANALOG_MAX = 1023; // Максимальное значение АЦП (0-1023)
const int PWM_MAX = 255; // Максимальное значение ШИМ (0-255)
void setup() {
// Настройка пина светодиода как выход
pinMode(LED_PIN, OUTPUT);
// Опционально: инициализация последовательного порта для отладки
Serial.begin(9600);
}
void loop() {
// Чтение значения с потенциометра (0-1023)
int potValue = analogRead(POT_PIN);
// Преобразование значения потенциометра в яркость ШИМ (0-255)
// Используем map для линейного масштабирования
int brightness = map(potValue, 0, ANALOG_MAX, 0, PWM_MAX);
// Установка яркости светодиода
analogWrite(LED_PIN, brightness);
// Опционально: вывод значений в монитор порта для отладки
Serial.print("Потенциометр: ");
Serial.print(potValue);
Serial.print(" | Яркость: ");
Serial.print(brightness);
Serial.print(" | Процент: ");
Serial.print((brightness * 100) / PWM_MAX);
Serial.println("%");
// Небольшая задержка для стабильности (необязательно)
delay(10);
}