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


// 1. Объявление переменных
const int analogInPin = A0;   // Аналоговый вход, к которому подключен потенциометр (выход Out)[cite: 21]
const int analogOutPin = 9;   // Цифровой вывод, к которому подключен светодиод (LED -> D9)[cite: 21]

int sensorValue = 0;          // Переменная для чтения сырого значения с АЦП (0 - 1023)[cite: 21]
int outputValue = 0;          // Переменная для выходного сигнала на светодиод (0 - 255)[cite: 21]

void setup() {
  // 2. Инициализация последовательного порта на скорости 9600 бод[cite: 21]
  Serial.begin(9600);
}

void loop() {
  // 4. Чтение и преобразование значений
  sensorValue = analogRead(analogInPin);  // Читаем значение с потенциометра (0...1023)
  
  // Масштабируем диапазон АЦП (0-1023) под диапазон ШИМ для светодиода (0-255)[cite: 22]
  outputValue = map(sensorValue, 0, 1023, 0, 255); 
  
  analogWrite(analogOutPin, outputValue);  // Записываем полученное значение на светодиод[cite: 22]

  // Вычисление напряжения в вольтах по формуле из методички[cite: 22]
  float voltage = sensorValue * (5.0 / 1023.0);

  // 5. Вывод результатов в монитор порта[cite: 21, 22]
  Serial.print("Potenciometr value = ");
  Serial.print(sensorValue);
  Serial.print("\t output = ");
  Serial.print(outputValue);
  Serial.print("\t Voltage = ");
  Serial.print(voltage);
  Serial.println(" V");

  // 6. Пауза между измерениями (50 мс)[cite: 22]
  delay(50);
}