Вы уже знакомы с пьезо-динамиком и знаете, что он умеет преобразовывать электрическую энергию в вибрации, которые мы воспринимаем как звук. Но он может работать и наоборот — преобразовывать вибрации в электричество. Воспользуемся этим свойством и сделаем датчик вибрации, с помощью которого будем отслеживать стук в дверь.
Для подключения вам понадобится резистор сопротивлением 1 мегаОм.
Подключите один контакт пьезо к земле, другой к аналоговому порту A0. Также, между этими контактами нужно поставить резистор 1 мОм.
Прижмите пьезо, например, к столу. Теперь узнаем, какие значения покажет нам порт при постукивании по столу и в покое.
1 2 3 4 5 6 7 8 9 |
int sensor = A0; void setup() { Serial.begin(9600); } void loop() { Serial.println(analogRead(sensor)); delay(100); } |
В покое значения, как правило, близки к нулю. Если же рядом с датчиком постучать, то значения заметно увеличиваются. Будем считать стуком значения больше 70. Напишем программу, выдающую на экран надпись «knock-knock» («тук-тук»), когда датчик улавливает стук.
1 2 3 4 5 6 7 8 9 10 11 12 |
int sensor = A0; int min_value = 70; // минимальное значение стука void setup() { Serial.begin(9600); } void loop() { if (analogRead(sensor)>min_value){ //если определили стук выводим knock-knock Serial.println("knock-knock"); } delay(100); } |
Так мы получили простой и недорогой датчик вибрации, который может быть использован в разнообразных целях.