buzzer1

0

Описание

Управление пьезопищалкой. Сылка на онлайн учебник https://heyzine.com/flip-book/c165467dd2.html

https://roboumnik.wordpress.com/

Языки

  • C++100%
год назад
README.md

buzzer1

//Управление пьезопищалкой // даём имена для пинов с пьезопищалкой (англ. buzzer) и фото- // резистором (англ. Light Dependent Resistor или просто LDR) #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, 20); }