Arduino:Примеры/Demo Sketch

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</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 }

См.также

Внешние ссылки