Метроном с настройкой темпа
Потенциометр задаёт темп в ударах в минуту, щелчки идут по millis().

Что понадобится
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | D8 | → | Зуммер | 1 |
| Зуммер | 2 | → | Arduino Uno | GND |
| Arduino Uno | 5V | → | Потенциометр | VCC |
| Arduino Uno | GND | → | Потенциометр | GND |
| Arduino Uno | A0 | → | Потенциометр | SIG |
Скетч
// Метроном: ручка на A0 задаёт темп 40…208 ударов в минуту.
// Щёлкаем по millis(), поэтому темп меняется прямо на ходу.
const int BUZZER = 8;
unsigned long lastBeat = 0;
int beat = 0;
void setup() {
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop() {
int bpm = map(analogRead(A0), 0, 1023, 40, 208);
unsigned long period = 60000UL / bpm;
if (millis() - lastBeat >= period) {
lastBeat = millis();
beat = (beat + 1) % 4;
tone(BUZZER, beat == 0 ? 1200 : 800, 40); // первая доля выше
Serial.print(bpm);
Serial.print(" уд/мин, доля ");
Serial.println(beat + 1);
}
}
Коротко о детали: Зуммер
Пьезоизлучатель звучит на той частоте, которую задаёт tone(). Громкость у него не регулируется — только частота и длительность. Звук в симуляторе выводится через звуковую подсистему браузера.
Ещё примеры с деталью «Зуммер»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Метроном с настройкой темпа» в симуляторе