Не хотите платить за большой, дорогой, скучный старый будильник? Создайте свой собственный, крошечный, дешевый и реагирующий на свет, а не на время. В самодельном будильнике, представленном в рамках данного проекта, используется делитель напряжения на основе светочувствительного резистора (LDR), выходное напряжение которого изменяется в зависимости от интенсивности света.

На следующем изображении показан фоторезистор, сопротивление которого меняется в зависимости от экспозиции и интенсивности света. Соедините это с резистором 1 кОм, и вы получите делитель напряжения со значением Vout, подходящим для световой сигнализации.

Компонент, который в нашем случае издает звук – это пьезоизлучатель. Здесь он лишь пищит повторно, но, если хотите, вы можете запрограммировать его так, чтобы он будил вас какой-нибудь музыкальной темой «Звездных войн» или любой другой песней или нотой, если уж на то пошло. Можно найти разные библиотеки, в которых пьезоизлучатель используется для создания популярных песен. Наконец, мы здесь используем ATtiny85 из-за его небольшого размера. Схема подключения компонентов будильника показана далее.

Код программы для микроконтроллера ATtiny85 был написан под Arduino, он показан далее.
const int BUZZ_Pin = 3;
const int LIGHT_Value = 100;
void setup() {
pinMode(A2, INPUT);
pinMode(BUZZ_Pin, OUTPUT);
}
void loop() {
if (analogRead(A2) >= LIGHT_Value){
digitalWrite(BUZZ_Pin, HIGH);
delay(800);
digitalWrite(BUZZ_Pin, LOW);
delay(600);
}
}
Код супер настраиваемый и простой. Если вы хотите, чтобы звук гудел чаще, сократите задержку. И если вы хотите закодировать определенные звуки, ноты, тона или песни, существуют библиотеки для использования пьезозуммера на ATtiny85. Мы же здесь просто использовали цифровое значение HIGH, чтобы упростить задачу, хотя это значение напряжения создает слегка раздражающий звук. Тем не менее, он довольно громкий и делает свое дело.
© digitrode.ru