Всем привет! Собрал схему из 4-го эксперимента, скопировал код из вики в IDE. Пищалка вопит в зависимости от освещения. Не могли бы подсказать как сделать так, чтобы она прерывалась на секунду-две. Пробовал вставлять в код noTone(BUZZER_PIN); - результат, звук в начале загрузки на секунду прерывается, а потом продолжает пищать, но уже в другой тональности по сравнению с тем, что звучит без этой строчки в коде. Пожалуйста подскажите как заставить периодически замолкать пищалку.
Maybe так Код (C++): #define BUZZER_PIN 3 #define LDR_PIN A0 void setup() { // пин с пьезопищалкой — выход... pinMode(BUZZER_PIN, OUTPUT); // ...а все остальные пины являются входами изначально, // всякий раз при подаче питания или сбросе микроконтроллера. // Поэтому, на самом деле, нам совершенно необязательно // настраивать LDR_PIN в режим входа: он и так им является } void loop() { int val, frequency; // считываем уровень освещённости так же, как для // потенциометра: в виде значения от 0 до 1023. val = analogRead(LDR_PIN); // рассчитываем частоту звучания пищалки в герцах (ноту), // используя функцию проекции (англ. map). Она отображает // значение из одного диапазона на другой, строя пропорцию. // В нашем случае [0; 1023] -> [3500; 4500]. Так мы получим // частоту от 3,5 до 4,5 кГц. frequency = map(val, 0, 1023, 3500, 4500); // заставляем пин с пищалкой «вибрировать», т.е. звучать // (англ. tone) на заданной частоте 20 миллисекунд. При // cледующих проходах loop, tone будет вызван снова и снова, // и на деле мы услышим непрерывный звук тональностью, которая // зависит от количества света, попадающего на фоторезистор tone(BUZZER_PIN, frequency, 250); delay(1000); последнюю строку замени на любую задержку (!В милисекундах!) и 250 можешь тоже заменить! Удачи!!!