void setup() {
analogReference(DEFAULT);// Источник опорного напряжения для АЦП равен напряжению питания или 5В
pinMode(3, OUTPUT); // Настройка на выход пина для излучателя звука
pinMode(9, OUTPUT); // Настройка на выход пина для светодиода
}
void loop() {
uint16_t adc = analogRead(7);// Считываем показания АЦП в переменную
uint16_t t = map(adc, 0, 1023, 3000, 0);// Конвертируем полученное значение АЦП в звуковую сатоту путём масштабирования
uint8_t p = map(adc, 0, 1023, 255, 0);// Конвертируем полученное значение АЦП в ШИМ для светодиода путём масштабирования
if(t > 50) {// Если зафиксировано нажатие (значение 50 установлено для фильтрации наводок)
tone(3, t); // Проигрываем звук с частотой, пропорциональной силе нажатия
analogWrite(9, p); // Зажигаем светодиод с яркостью, пропорциональной силе нажатия
} else { // Иначе (если нажатие на датчик не зафиксировано)
noTone(3); // Выключаем звуковой излучатель
analogWrite(9, 0); // Гасим светодиод
}
}