Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Сенсорные кнопки на любой поверхности с MPR121 емкостным сенсором

Компоненты и материалы

Компонент Количество
Arduino UNO 1
Adafruit Capacitive Touch Sensor Breakout — MPR121 1
Светодиод (любой) 1

Приложения и онлайн-сервисы

О проекте

MPR121 — это 12-пиновый сенсор касания, использующий емкостные способности чипа.

Существует 2 библиотеки для этого чипа, я лично предпочитаю использовать библиотеку Bare Conductive: GitHub

У чипа есть пин прерывания (trigger), позволяющий узнать, что один из пинов был затронут или отпущен, обеспечивая отличное время отклика и возможность использовать прерывание вместо опроса состояния в цикле. Недостаток — только один пин прерывания на все 12 IO пинов чипа.

I2C-адрес настраивается через пин ADDR. По умолчанию он подтянут к земле резистором 100кОм, адрес 0x5A. Можно подключить к 3.3В для 0x5B, к SDA для 0x5C или к SCL для 0x5D. Настройки для плат Adafruit, клоны могут иметь другие адреса. Используйте I2C-сканер, если адрес неизвестен.

Подключение плат просто, как показано на схеме.

Важно: большинство breakout-плат питано от 3.3В — не питайте от 5В. Уровни данных I2C: из-за природы I2C 5В Arduino не повредят MPR121, но если есть проблемы с чтением или обнаружением на шине — попробуйте логический преобразователь уровней.

За годы я сделал несколько вещей с этим отличным чипом. Один из первых проектов — игра для ребенка: буквы на верху подключены к 2 MPR121, каждое касание воспроизводит MP3-запись названия буквы.

Также экспериментировал с проводящей краской Bare Conductive — очень весело и отлично работает с MPR121.

Код

Простое включение/выключение светодиода на пине 0/1 (Arduino)

Демонстрирует включение и выключение светодиода на пине 3. Использует пин 0 касания MPR121 для включения и пин 1 на отпускание для выключения.

#include <MPR121.h>
#include <Wire.h>

#define numElectrodes 2
#define LEDPIN 3

void setup() {
  Serial.begin(115200);
  Serial.println("System started");
  pinMode(LEDPIN, OUTPUT);
  Wire.begin();
  
  // 0x5C — адрес MPR121 на Bare Touch Board, 0x5A — стандарт для Adafruit
  if (!MPR121.begin(0x5A)) {
    Serial.println("error setting up MPR121");
    switch (MPR121.getError()) {
      case NO_ERROR: Serial.println("no error"); break;
      case ADDRESS_UNKNOWN: Serial.println("incorrect address"); break;
      case READBACK_FAIL: Serial.println("readback failure"); break;
      case OVERCURRENT_FLAG: Serial.println("overcurrent on REXT pin"); break;
      case OUT_OF_RANGE: Serial.println("electrode out of range"); break;
      case NOT_INITED: Serial.println("not initialised"); break;
      default: Serial.println("unknown error"); break;
    }
    while (1);
  }
  
  MPR121.setInterruptPin(4);
  MPR121.setTouchThreshold(40);
  MPR121.setReleaseThreshold(20);
  MPR121.updateTouchData();
}

void loop() {
  if (MPR121.touchStatusChanged()) {
    MPR121.updateTouchData();
    for (int i = 0; i < numElectrodes; i++) {
      if (MPR121.isNewTouch(i)) {
        if (i == 0) digitalWrite(LEDPIN, HIGH);
      } else if (MPR121.isNewRelease(i)) {
        if (i == 1) digitalWrite(LEDPIN, LOW);
      }
    }
  }
}

Схемы

Сенсорные кнопки на любой поверхности с MPR121 емкостным сенсором

Производственный процесс

  1. Обнаружение молний с Raspberry Pi и AS3935: практическое руководство
  2. Отслеживание ежедневных упражнений хомяка с Raspberry Pi фитнес-трекером
  3. Начало работы с IoT и MQTT: урок без кода для ESP8266
  4. Бесшовная I2C-интеграция Arduino и Raspberry Pi 2 для IoT-проектов с датчиками
  5. Революционное ДНК-хранилище превращает повседневные предметы в долговечные архивы данных
  6. Гуманоцентрическая трансформация цепочки поставок: повышение эффективности и устойчивости
  7. Умный токарный станок: передовые сенсорные управления для точной обработки
  8. OmniFibers: Умная ткань, регулирующая дыхание для производительности и восстановления
  9. От концепции к реальности: превращение креативных дизайнов в осязаемые продукты
  10. Изучение преимуществ ЧПУ фрезерно-токарной обработки (Mill-Turn)