Arduino:Примеры/Threshold
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Установление порога для запуска события[1]
Этот пример показывает, как при помощи библиотеки CapacitiveSensor настроить плату Arduino на то, чтобы выставить определенный порог при считывании данных с датчика электроемкости. При достижении этого порога запускается событие – отображение в мониторе порта IDE Arduino записи о превышении порога.
Этот код также можно использовать для лампы, переключающейся от прикосновения. Значения a, b и c можно поменять в соответствии с вашим проектом.
Код
#include <CapacitiveSensor.h>
CapacitiveSensor cs_7_8 = CapacitiveSensor(7,8); // 10-мегаомовый
// резистор между 7-ым и 8-ым контактами; кроме того, к 8-ому контакту
// можно подключить антенну
unsigned long csSum;
void setup() {
Serial.begin(9600);
}
void loop() {
CSread();
}
void CSread() {
long cs = cs_7_8.capacitiveSensor(80); // a: разрешение датчика выставляем на «80»
if (cs > 100) { // b: произвольное число
csSum += cs;
Serial.println(cs);
if (csSum >= 3800) // c: это значение – порог; чем оно
// выше, тем выше должно быть значение, считанное датчиком, чтобы
// запустить событие
{
Serial.print("Trigger: ");
Serial.println(csSum);
if (csSum > 0) { csSum = 0; } // сброс
cs_7_8.reset_CS_AutoCal(); // останавливаем считывание данных
}
} else {
csSum = 0; // таймаут, вызванный некорректностью считанных данных
}
}