Arduino:Примеры/Demo Sketch
Перейти к навигации
Перейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.
Демо-скетч библиотеки CapacitiveSensor[1]
Этот пример показывает, как при помощи библиотеки CapacitiveSensor настроить плату Arduino на считывание данных с трех датчиков электроемкости.
Код
1 #include <CapacitiveSensor.h>
2
3 /*
4 * Демонстрационный скетч для библиотеки CapitiveSensor.
5 * Автор – Пол Бэджер (2008 год).
6 * Использует мощный резистор (на 10 МОм), подключенный между
7 * отправляющим и принимающим контактами.
8 * Резистор влияет на чувствительность датчика, поэтому советуем
9 * поэкспериментировать со значениями в диапазоне 50 кОм – 50 МОм.
10 * Чем мощнее резистор, тем более чувствительным становится датчик.
11 * Принимающий контакт – это сенсорный контакт. Попробуйте на нем
12 * разные количества фольги/металла.
13 * Наилучшие результаты достигаются, если сенсорная фольга и провод
14 * покрыты изолятором вроде бумаги или куска пластика.
15 */
16
17 CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); // 10-мегаомовый
18 // резистор между 2-ым и 4-ым контактами; 2-ой контакт – это сенсорный
19 // контакт, добавьте провод и фольгу
20 CapacitiveSensor cs_4_5 = CapacitiveSensor(4,5); // 10-мегаомовый
21 // резистор между 6-ым и 4-ым контактами; 6-ой контакт – это сенсорный
22 // контакт, добавьте провод и фольгу
23 CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8); // 10-мегаомовый
24 // резистор между 8-ым и 4-ым контактами; 8-ой контакт – это сенсорный
25 // контакт, добавьте провод и фольгу
26
27 void setup()
28 {
29
30 cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF); // выключите автокалибровку на 1-ом канале – просто чтобы посмотреть, что получится
31 Serial.begin(9600);
32
33 }
34
35 void loop()
36 {
37 long start = millis();
38 long total1 = cs_4_2.capacitiveSensor(30);
39 long total2 = cs_4_5.capacitiveSensor(30);
40 long total3 = cs_4_8.capacitiveSensor(30);
41
42 Serial.print(millis() - start); // проверяем производительность в миллисекундах
43 Serial.print("\t"); // символ «Tab» для разделения фрагментов в отладочном окне
44
45 Serial.print(total1); // результаты датчика 1
46 Serial.print("\t");
47 Serial.print(total2); // результаты датчика 2
48 Serial.print("\t");
49 Serial.println(total3); // результаты датчика 3
50
51 delay(10); // произвольная задержка, чтобы ограничить количество данных, идущих через последовательный порт
52 }
См.также
Внешние ссылки