Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

OngBak
2023-12-21 11:57:05

Спасибо dimich, как доедут ко мне излучатели звука, попробую.

dimich
2023-12-21 11:11:59

Один із найпростіших, мабуть, варіантів:

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
2023-12-20 22:33:19
OngBak пише:

Так а как кнопку привязать и режимы настроить? Я в программировании не понимаю. Может кто-то код скинуть?

http://forum.arduino.ua/viewtopic.php?id=1069

OngBak
2023-12-20 18:24:40

Так а как кнопку привязать и режимы настроить? Я в программировании не понимаю. Может кто-то код скинуть?

renoshnik
2023-12-20 18:10:15
OngBak пише:

Помогите пожалуйста. Нужен скетч. При нажатии на кнопку менялась частота звука.

Например: При включении издает звук 14000, при первом нажатии - 15000, при втором - 16000, при третьем - 17000, при четвертом - частота возвращалась в начальное состояние (т.е. 14000) и так по кругу.

https://doc.arduino.ua/ru/prog/Tone

OngBak
2023-12-20 17:34:42

Помогите пожалуйста. Нужен скетч. При нажатии на кнопку менялась частота звука.

Например: При включении издает звук 14000, при первом нажатии - 15000, при втором - 16000, при третьем - 17000, при четвертом - частота возвращалась в начальное состояние (т.е. 14000) и так по кругу.

Підвал форуму