чтобы заставить светодиод менять яркость. Можете использовать этот пример: void setup() { pinMode(3, OUTPUT); } byte brightness = 0; // 0 to 255 void loop() { analogWrite(3, brightness); brightness++; delay(2); } Внимание, не все контакты поддерживают PWM. Те что поддерживают: • Arduino Nano: 3, 5, 6, 9, 10, 11. • Arduino Micro: 3, 5, 6, 9, 10, 11, 13 Часть 2: Используйте сенсор расстояния чтобы менять яркость Должно быть очевидно как это сделать на основе предыдущих примеров. Учтите что analogRead возвращает значения от 0 до 1023 (10 бит), тогда как analogWrite принимает значения от 0 до 256. Чтобы преобразовать значение, можно использовать функцию map, или просто обычное деление. Также, значение возвращаемое сенсором расстояния может содержать шум вблизи нуля (т.е. возвращать не 0, а небольшое произвольное значение). Чтобы избавиться от этого эффекта, можете добавить код типа: short val = analogRead(A0); if (val < 20) { val = 0; } или: short val = analogRead(A0); val = 20; if (val < 0) { val = 0;