Для начала работы установим библиотеку Adafruit LIS3DH.
Датчик LIS3DH в ATWatch подключен по шине I2C и имеет адрес 0x19.
Загрузим стандартный скетч. Файл->Примеры->Adafruit lis3dh acceldemo.

Датчик LIS3DH имеет 10 режимов работы скорости передачи данных. Установить скорость передачи данных можно с помощью функции setDataRate().
*LIS3DH_DATARATE_400_HZ
*LIS3DH_DATARATE_200_HZ
*LIS3DH_DATARATE_100_HZ
*LIS3DH_DATARATE_50_HZ
*LIS3DH_DATARATE_25_HZ
*LIS3DH_DATARATE_10_HZ
*LIS3DH_DATARATE_1_HZ
*LIS3DH_DATARATE_POWERDOWN
*LIS3DH_DATARATE_LOWPOWER_1K6HZ
*LIS3DH_DATARATE_LOWPOWER_5KHZ

По такому же принципу можно установить один из 4 диапазонов работы датчика функцией setRange().
*LIS3DH_RANGE_16_G
*LIS3DH_RANGE_8_G
*LIS3DH_RANGE_4_G
*LIS3DH_RANGE_2_G

#include 
#include 
#include 

Adafruit_LIS3DH lis = Adafruit_LIS3DH();

void setup(void) 
{
  Serial.begin(9600);//Запускаем Serial порт
  Serial.println("LIS3DH test!");
  
  if (! lis.begin(0x19)) //Инициализируем датчик по адресу 0x19
  {
    Serial.println("Couldnt start");//Датчик не запустился
    while (1);//Останавливаем программу
  }
  Serial.println("LIS3DH found!");//Датчик запустился
  
  lis.setRange(LIS3DH_RANGE_4_G);   //Устанавливаем диапазон работы
  
  Serial.print("Range = "); Serial.print(2 << lis.getRange());//Выводим текущий диапазон
  Serial.println("G");
}

void loop() 
{
  lis.read();      //Считываем данные осей X, Y, Z 
  //Выводим "сырые" данные
  Serial.print("X:  "); Serial.print(lis.x); 
  Serial.print("  \tY:  "); Serial.print(lis.y); 
  Serial.print("  \tZ:  "); Serial.print(lis.z); 

  //Приводим данные в порядок
  sensors_event_t event; 
  lis.getEvent(&event);
  
  //Выводим обработанные данные
  Serial.print("\t\tX: "); Serial.print(event.acceleration.x);
  Serial.print(" \tY: "); Serial.print(event.acceleration.y); 
  Serial.print(" \tZ: "); Serial.print(event.acceleration.z); 
  Serial.println(" m/s^2 ");

  Serial.println();
 
  delay(200); 
}

Рассмотрим следующий пример. Файл->Примеры->Adafruit lis3dh tapdemo.

#include 
#include 
#include 

Adafruit_LIS3DH lis = Adafruit_LIS3DH();

//Настройка чувствительности
#define CLICKTHRESHHOLD 80

void setup(void) {
  Serial.begin(9600);
  Serial.println("Adafruit LIS3DH Tap Test!");

  if (! lis.begin(0x19)) //Инициализируем датчик по адресу 0x19
  {
    Serial.println("Couldnt start");//Датчик не запустился
    while (1);//Останавливаем программу
  }
  Serial.println("LIS3DH found!");//Датчик запустился

  lis.setRange(LIS3DH_RANGE_2_G);   //Устанавливаем диапазон работы

  Serial.print("Range = "); Serial.print(2 << lis.getRange());//Выводим текущий диапазон
  Serial.println("G");

  // 0 = отключить обнаружение кликов и прерываний
  // 1 = вызываем прерывание только при одиночном нажатии
  // 2 = вызываем прерывание только при двойном нажатии и учитываем одиночные
  // Настройки порога, более высокие числа менее чувствительны
  lis.setClick(2, CLICKTHRESHHOLD);
  delay(100);
}


void loop() {
  uint8_t click = lis.getClick();//Считываем информацию о кликах
  if (click == 0) return;//Кликов не обнаружено
  if (! (click & 0x30)) return;
  Serial.print("Click detected (0x"); Serial.print(click, HEX); Serial.print("): ");//Клик обнаружен
  if (click & 0x10) Serial.print(" single click");//Одиночное нажатие
  if (click & 0x20) Serial.print(" double click");//Двойное нажатие
  Serial.println();

  delay(100);
  return;
}