Пьезоэлемент - электронное устройство, которое генерирует напряжение при физической деформации. Точно так же, когда Вы подаете напряжение на пьезоэлемент, он вибрирует. Это используется, чтобы проигрывать звук и обнаруживать звуки. В этом примере мы соединим пьезоэлемент с контактом аналогового входа 0 платы Arduino.
Проект считывает изменяющееся напряжение, используя функцию analogRead(), приводя диапазон напряжений от 0 до 5 вольт к числовому диапазону от 0 до 1023. Это называется аналого-цифровое преобразование, или АЦП (по англ. ADC, analog-to-digital conversion). Аналого-цифровое преобразование выполняет функция analogWrite().
Пьезоэлементы полярны. Это означает, что напряжение проходит через них (или из них) в определенном направлении. Подключите черный провод (более низкое напряжение) к «земле» и красный провод (более высокое напряжение) к входному контакту. Также необходимо соединить параллельно с пьезоэлементом резистор сопротивлением 1 мОм, чтобы ограничить напряжение и ток, произведенные пьезоэлементом и защитить аналоговый контакт Arduino и, соответственно, вывод микроконтроллера ATmega.
Возможно, Вам удастся найти пьезоэлементы без пластмассового корпуса. Они похожи на металлический диск, и их легче использовать в качестве входных датчиков.
Пьезоэлементы полярны. Это означает, что напряжение проходит через них (или из них) в определенном направлении. Подключите черный провод (более низкое напряжение) к «земле» и красный провод (более высокое напряжение) к входному контакту. Также необходимо соединить параллельно с пьезоэлементом резистор сопротивлением 1 мОм, чтобы ограничить напряжение и ток, произведенные пьезоэлементом и защитить аналоговый контакт Arduino и, соответственно, вывод микроконтроллера ATmega.
Возможно, Вам удастся найти пьезоэлементы без пластмассового корпуса. Они похожи на металлический диск, и их легче использовать в качестве входных датчиков.
Проект, описанный ниже, считывает состояние контакта, подключенного к пьезоэлементу. Если значение будет больше определенного порога, то Arduino отправит строку "Удар!" в компьютер через последовательный порт. Запустите терминал последовательного порта, чтобы увидеть этот текст.
Схема соединения
Программа
/* Датчик удара
Этот проект считывает пьезоэлемент, чтобы обнаружить стучащий звук.
Программа считывает аналоговый контакт и сравнивает результат с пороговым значением.
Если результат больше порогового значения, программа пишет
"Удар!" через последовательный порт, и переключает светодиод на контакте 13.
Схема соединения:
* «+» пьезоэлемента соединяется с аналоговым контактом 0
* «-» пьезоэлемента соединяется с «землей»
* резистор 1мОм соединяется между аналоговым контактом 0 и «землей»
http://www.arduino.cc/en/Tutorial/Knock
created 25 Mar 2007
by David Cuartielles
modified 30 Jun 2009
by Tom Igoe
Код этого примера размещен на официальном сайте Arduino
*/
// неизменяемые константы:
const int ledPin = 13; // светодиод подключен к цифровому выводу 13
const int knockSensor = 0; // пьезоэлемент соединен с аналоговым контактом 0
const int threshold = 100; // пороговое значения, определяющее ударный звук
// изменяемые переменные:
int sensorReading = 0; // переменная для хранения значения, считанного с контакта датчика
int ledState = LOW; // переменная , хранящая последний статус светодиода
void setup() {
pinMode(ledPin, OUTPUT); // устанавливаем ledPin в режим выхода OUTPUT
Serial.begin(9600); // используем последовательный порт
}
void loop() {
// считываем значение датчика и сохраняем его в переменной sensorReading:
sensorReading = analogRead(knockSensor);
// если считанное значение датчика выше порогового:
if (sensorReading >= threshold) {
// переключаем статус контакта ledPin:
ledState = !ledState;
// выводим это значение статуса на контакт светодиода:
digitalWrite(ledPin, ledState);
// посылаем строку "Удар!" в компьютер
Serial.println("Удар!");
}
delay(100); // пауза для исключения переполнения буфера последовательного порта
}
прикольно. о таком применении не знал. то есть один пьезоэлемент можно использовать и как датчик и как звукоизлучатель
ОтветитьУдалить