Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Демо-скетч библиотеки 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. }

См.также

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

  1. playground.arduino.cc - CapacitiveSensor