Ви не увійшли.
Спасибо dimich, как доедут ко мне излучатели звука, попробую.
Один із найпростіших, мабуть, варіантів:
constexpr byte PIN_BUZZER { 3 };
constexpr byte PIN_BUTTON { 12 };
constexpr byte debounce_ms { 50 };
void setup() {
pinMode(PIN_BUTTON, INPUT_PULLUP);
}
void loop() {
constexpr unsigned int freq[] = { 14000, 15000, 16000, 17000 };
byte idx = 0;
for (;;) {
tone(PIN_BUZZER, freq[idx]);
unsigned long start_ms = millis();
do {
if (digitalRead(PIN_BUTTON) == LOW) {
start_ms = millis();
continue;
}
} while ((millis() - start_ms) < debounce_ms);
while (digitalRead(PIN_BUTTON) == HIGH) {};
if (++idx >= sizeof(freq)/sizeof(*freq)) {
idx = 0;
}
}
}
Припускається, що випромінювач звуку підключений до піна 3, кнопка до піна 12 і замикається на землю.
В такій реалізації процесор постійно споживає струм в активному режимі. Якщо потрібна економія споживання при автономному живленні, необхідно задіяти функції енергозбеження і переривання.
renoshnik пише:Так а как кнопку привязать и режимы настроить? Я в программировании не понимаю. Может кто-то код скинуть?
Так а как кнопку привязать и режимы настроить? Я в программировании не понимаю. Может кто-то код скинуть?
Помогите пожалуйста. Нужен скетч. При нажатии на кнопку менялась частота звука.
Например: При включении издает звук 14000, при первом нажатии - 15000, при втором - 16000, при третьем - 17000, при четвертом - частота возвращалась в начальное состояние (т.е. 14000) и так по кругу.
Помогите пожалуйста. Нужен скетч. При нажатии на кнопку менялась частота звука.
Например: При включении издает звук 14000, при первом нажатии - 15000, при втором - 16000, при третьем - 17000, при четвертом - частота возвращалась в начальное состояние (т.е. 14000) и так по кругу.