Датчик движения стола

Arduino Uno R3 · акселерометр AMP-B041 · Крона 9 В
Инструкция по сборке и запуску

Прибор подаёт световой и звуковой сигнал при толчке или вибрации стола. Он не измеряет силу касания и может не заметить очень медленное движение.

Общий вид сборки. Номера указывают на основные узлы; порядок установки каждого компонента показан на следующих страницах.
Общий вид сборки. Номера указывают на основные узлы; порядок установки каждого компонента показан на следующих страницах.

Порядок сборки: напечатать детали → примерить компоненты → подключить и проверить → приклеить платы → закрыть корпус и закрепить на столе.

1. Подготовьте детали

КомпонентЧто нужно
Arduino Uno R3 и AMP-B041По 1 шт. Платы: 68,58 × 53,34 мм и 25,4 × 25,4 мм.
Крона 6LR61, 9 В1 шт., до 48,5 × 26,5 × 17,5 мм, с контактной колодкой.
Пищалка и светодиодПассивный TDK PS1240P02BT (Ø12,2 × 6,5 мм); LED 5 мм.
Выключатель ON/OFFВтулка до Ø6,5 мм, корпус внутри до 18 × 14 × 18 мм; штатная гайка.
Резисторы330 Ом, 1 кОм и 1,5 кОм — по 1 шт., от 0,125 Вт.
Для сборкиПровода, термоусадка, клей для материала корпуса и платы; отвёртка, паяльник, мультиметр.
ПрокладкиОколо 1,5 мм на прижим батареи; тонкая защита на конец винта струбцины. Под платы прокладки не нужны.

2. Напечатайте корпус и крепёж

STL-файлШт.Положение при печати
01_box.stl1Дном вниз
02_flush_bolted_lid.stl1Наружной стороной вниз
03_clamp_bracket.stl1На боку, профиль «Г» на столе
04_clamp_spindle.stl1Рукояткой вниз
05_bracket_screw_PRINT_4.stl4Головкой вниз
06_flush_lid_bolt_PRINT_4.stl4Головкой вниз

Всего 12 деталей. STL уже ориентированы: печатайте в миллиметрах, масштаб 100%. Для файлов 05 и 06 задайте по 4 копии. Электронику из сборочного STEP не печатать.

Начальные настройки: сопло 0,4 мм, слой 0,16–0,20 мм, 5–6 периметров корпуса и струбцины, плотные винты. Для струбцины подойдёт PETG. Проверьте в слайсере поддержки у окон разъёмов и горизонтального резьбового отверстия. После печати уберите заусенцы; резьба должна идти от руки, без силы.

3. Соберите струбцину и примерьте платы

Пока не приклеивайте платы. Синие стрелки показывают установку, оранжевые точки — места клея после проверки в разделе 6. Электроника изображена условно.

Сначала соедините струбцину с корпусом винтами 05, затем вкрутите большой винт 04 снизу.
Сначала соедините струбцину с корпусом винтами 05, затем вкрутите большой винт 04 снизу.
Uno должна лежать ровно на четырёх опорах. USB и гнездо питания направлены к окнам корпуса.
Uno должна лежать ровно на четырёх опорах. USB и гнездо питания направлены к окнам корпуса.

Уложите датчик и батарею

Датчик опирается краями на рамку. Проверьте, что детали и пайка снизу не касаются дна. Рамка рассчитана на плату толщиной 1,6 мм; реальную плату обязательно примерьте.
Датчик опирается краями на рамку. Проверьте, что детали и пайка снизу не касаются дна. Рамка рассчитана на плату толщиной 1,6 мм; реальную плату обязательно примерьте.
Крона съёмная: не приклеивайте её. Примерьте прижим крышкой без прогиба; батарея не должна греметь. До подключения по разделу 5 оставьте колодку снятой.
Крона съёмная: не приклеивайте её. Примерьте прижим крышкой без прогиба; батарея не должна греметь. До подключения по разделу 5 оставьте колодку снятой.

4. Установите детали в крышку

Светодиод вставляется изнутри. Закрепите его у буртика; выводы и пайку изолируйте отдельно.
Светодиод вставляется изнутри. Закрепите его у буртика; выводы и пайку изолируйте отдельно.
Пищалку закрепите за край корпуса в круглом держателе. Отверстие для звука должно остаться открытым.
Пищалку закрепите за край корпуса в круглом держателе. Отверстие для звука должно остаться открытым.

Закрепите выключатель и подготовьте проводку

Выключатель удерживает штатная гайка снаружи крышки. Не продавливайте пластик при затяжке.
Выключатель удерживает штатная гайка снаружи крышки. Не продавливайте пластик при затяжке.
Оставьте запас проводов для открытия крышки. Резисторы и соединения закройте термоусадкой; электрическое подключение показано дальше.
Оставьте запас проводов для открытия крышки. Резисторы и соединения закройте термоусадкой; электрическое подключение показано дальше.

5. Подключите электронику

Батарея и USB отключены. Соединяйте по маркировке контактов. GND — общий минус: все обозначенные GND должны быть соединены.

ARDUINO UNO 5VGNDA4 / SDAA5 / SCL D6D9VINGND AMP-B041 VGDC Амперка AMP-B041Питание V: 3,3–5 В. 330 Ом LED, анод слева (+)GND 1 кОм 1,5 кОм + PS1240P02BTпассивныйGND Крона 9 В+ Выключатель Все обозначения GND соединить с GND Arduino. Пересечения без точки не соединять. 9 В подавать только на VIN. Светодиод и пьезоизлучатель подключать через указанные резисторы.
Точка на пересечении проводов означает соединение. Пересечение без точки — без соединения.
ОткудаКуда
Uno 5V / GNDAMP-B041 V / G
Uno A4 / A5AMP-B041 D (SDA) / C (SCL)
Uno D6Через 330 Ом к аноду (+) LED; катод (−) LED к GND
Uno D9Через 1 кОм к «+» пьезо. От этой же точки — 1,5 кОм к GND; «−» пьезо к GND
Крона «+» / «−»«+» через выключатель к VIN Uno; «−» к GND Uno

9 В подавайте только на VIN Uno, не на 5V и не на датчик. У AMP-B041 используйте только подписанные V, G, D, C; неподписанные контакты оставьте свободными. Подключение рассчитано на модуль Амперки, не на голую микросхему LIS331DLH.

Используйте именно указанный пассивный пьезоизлучатель: обычный динамик к D9 напрямую не подходит. Перед включением проверьте мультиметром полярность и отсутствие коротких замыканий.

6. Проверьте работу и закройте корпус

  1. Загрузите программу. Батарея выключена. Откройте firmware/TableMotion/TableMotion.ino в Arduino IDE. Выберите Arduino Uno и COM-порт, подключите USB, загрузите код. Дополнительные библиотеки не нужны.
  2. Проверьте свет и звук. Откройте монитор порта на 115200 бод. Не трогайте стол около 5 секунд, дождитесь READY. Отправьте t: светодиод должен загореться примерно на секунду, пищалка — коротко прозвучать.
  3. Приклейте платы. Отключите USB и батарею. Закрепите Uno и датчик небольшими точками клея между свободными краями платы и бортиками. Не заливайте компоненты и контакты. Дождитесь полного отверждения клея по его инструкции.
  4. Закройте корпус и установите на стол. Уложите проводку и закройте крышку, как на рисунке. Под конец большого винта наклейте защиту. Закрепите прибор на краю столешницы толщиной 15–45 мм: коробка сверху, лапа снизу. Подтяните от руки до исчезновения люфта.
  5. Проверьте реакцию на толчок. Включите батарею, оставьте стол неподвижным около 5 секунд. Слегка толкните стол: должны сработать свет и звук. Чувствительность проверяйте только с закреплённым датчиком и затянутой струбциной.
Головки болтов 06 садятся заподлицо. Крышка не прижимает платы: их удерживает клей.
Головки болтов 06 садятся заподлицо. Крышка не прижимает платы: их удерживает клей.
Коробка стоит на столе, винт упирается в столешницу снизу. Не оставляйте люфта; не затягивайте печатные детали силой.
Коробка стоит на столе, винт упирается в столешницу снизу. Не оставляйте люфта; не затягивайте печатные детали силой.

7. Использование и настройка

После каждого включения оставляйте стол неподвижным около 5 секунд. Мигание во время калибровки нормально. Во время работы толчок включает свет примерно на секунду и короткий звук. Следующие 1,25 секунды прибор пропускает толчки, чтобы не реагировать на собственный сигнал.

Проверьте 30–60 секунд покоя, затем несколько одинаковых слабых касаний. Для настройки выключите батарею, подключите USB и откройте монитор порта (115200 бод). Открытие порта может перезапустить Uno: снова дождитесь READY.

КомандаДействие
rПовторить калибровку на неподвижном столе
+Меньше чувствительность: увеличить порог на 0,005 g
-Больше чувствительность: уменьшить порог на 0,005 g
bВключить или выключить звук
tПроверить свет и звук после READY
pПоказать состояние, порог и шум

Команды не сохраняются после перезапуска; r также задаёт порог заново. Для постоянной настройки нижнего порога измените MIN_THRESHOLD_G в коде. g — единица ускорения, не граммы.

Если что-то не работает

ПроблемаЧто проверить
Частое мигание, ERRORПитание датчика, V/G/D/C и сообщение в мониторе. После исправления отправьте r.
Ошибка калибровкиНеподвижность стола и фиксацию датчика. Повторите командой r.
Ложные срабатывания / пропускиСначала уберите люфт. Затем увеличьте порог (+) / уменьшите (-).
Свет есть, звука нетКоманду b, тип пищалки и проводку от D9 через резисторы.
Перезапуск от КроныЗаряд батареи, колодку и выключатель. Время работы зависит от батареи.
Крышка не садится / тугой болтПровода под краем, заусенцы и резьбу. Не дотягивайте силой.

Прототип: геометрия проверена в CAD, код компилируется для Uno. Посадку реальных компонентов и чувствительность нужно проверить на собранном устройстве.

Справочные материалы: Arduino Uno · AMP-B041 · чертёж датчика · LIS331DLH · пьезоизлучатель TDK.