Arduino:Примеры/Threshold
Перейти к навигации
Перейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.
Установление порога для запуска события[1]
Этот пример показывает, как при помощи библиотеки CapacitiveSensor настроить плату Arduino на то, чтобы выставить определенный порог при считывании данных с датчика электроемкости. При достижении этого порога запускается событие – отображение в мониторе порта IDE Arduino записи о превышении порога.
Этот код также можно использовать для лампы, переключающейся от прикосновения. Значения a, b и c можно поменять в соответствии с вашим проектом.
Код
1 #include <CapacitiveSensor.h>
2
3 CapacitiveSensor cs_7_8 = CapacitiveSensor(7,8); // 10-мегаомовый
4 // резистор между 7-ым и 8-ым контактами; кроме того, к 8-ому контакту
5 // можно подключить антенну
6
7 unsigned long csSum;
8
9 void setup() {
10 Serial.begin(9600);
11 }
12
13 void loop() {
14 CSread();
15 }
16
17 void CSread() {
18 long cs = cs_7_8.capacitiveSensor(80); // a: разрешение датчика выставляем на «80»
19 if (cs > 100) { // b: произвольное число
20 csSum += cs;
21 Serial.println(cs);
22 if (csSum >= 3800) // c: это значение – порог; чем оно
23 // выше, тем выше должно быть значение, считанное датчиком, чтобы
24 // запустить событие
25 {
26 Serial.print("Trigger: ");
27 Serial.println(csSum);
28 if (csSum > 0) { csSum = 0; } // сброс
29 cs_7_8.reset_CS_AutoCal(); // останавливаем считывание данных
30 }
31 } else {
32 csSum = 0; // таймаут, вызванный некорректностью считанных данных
33 }
34 }
См.также
Внешние ссылки