Buzzer
Компоненты:

Этот компонент называется пьезоизлучатель или пьезодинамик, а в разговорной речи часто просто зуммер
- 1 пьезоизлучатель

const int buzzerPin = 5;
const int songLength = 30;
// ноты: дважды фраза E E F G G F E D | C C D E E D D и снова
char notes[] = "eefggfedccdeeddeefggfedccdedcc";
// длительности (1 = четверть, 2 = половина)
int beats[] = {
// такт 1 (8 четвертных)
1,1,1,1,1,1,1,1,
// такт 2 (6 четвертных + половинная)
1,1,1,1,1,1,2,
// такт 3 повтор фразы 1 (8 четвертных)
1,1,1,1,1,1,1,1,
// такт 4 повтор фразы 2 (6 четвертных + половинная)
1,1,1,1,1,1,2
};
int tempo = 210; // длительность четвертной ноты в миллисекундах
void setup() {
pinMode(buzzerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < songLength; i++) {
int duration = beats[i] * tempo;
char n = notes[i];
if (n == ' ') {
delay(duration);
} else {
tone(buzzerPin, frequency(n), duration);
delay(duration);
}
delay(tempo / 20); // небольшой разрыв между нотами
}
while (true) {} // зацикливать не будем
}
int frequency(char note) {
const int numNotes = 7;
char names[] = {'c','d','e','f','g','a','b'};
int freqs[] = {262,294,330,349,392,440,494};
for (int i = 0; i < numNotes; i++) {
if (names[i] == note) return freqs[i];
}
return 0;
}
Система сигнализации
Компоненты:
- 1 LCD экран (1602)
- 1 Потенциометр
- 1 Резистор 220 Ω
- 1 Резистор 10 КΩ
- Температурный датчик
- Фоторезистр
- Пьезоизлучатель

Для полноценной работы нам потребуется подключение к библиотеки led экрана и соед:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Условие 1 — перегрев (температура > 30 °C):
if (temperatureC > 30.0) {
lcd.print("Hot Alarm!");
tone(buzzerPin, 1500); // Звук высокой частоты
delay(1500);
noTone(buzzerPin); // Отключение звука
}
Условие 2 — темно (свет > 200):
else if (lightLevel > 200) {
lcd.print("Dark Alarm!");
tone(buzzerPin, 1000); // Звук средней частоты
delay(1500);
noTone(buzzerPin);
}
Если не два вехних — всё хорошо (нет Alarm):
else {
lcd.print("All ok!");
tone(buzzerPin, 440); // Низкий короткий сигнал
delay(100);
noTone(buzzerPin);
}
Видео
Ради проверки работы с повышенными температурами, испытывающему пришлось обжечь пальцу о горячую поверхность. Но как видим все работает