Go to file
kykaevv f182df290f Add T31 CAN fold-on-lock Arduino firmware.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 13:26:49 +03:00
firmware Add T31 CAN fold-on-lock Arduino firmware. 2026-09-01 13:26:49 +03:00
.gitignore Add T31 CAN fold-on-lock Arduino firmware. 2026-09-01 13:26:49 +03:00
README.md Add T31 CAN fold-on-lock Arduino firmware. 2026-09-01 13:26:49 +03:00

AndruinoXTrail — Nissan X-Trail T31

Складывание зеркал при закрытии машины. Arduino + MCP2515, шина CAN COMM 500 кбит/с.

Кузов T31

T31 (20072014, в том числе 2014 рестайл) — та же CAN-семья, что Qashqai J10: одна основная шина CAN COMM, 500 кбит/с, 11-битные ID. Закрытие дверей BCM публикует в циклических кадрах. Команды «сложить зеркала» на этой шине нет: штатная кнопка в двери меняет полярность моторов.

Схема:

  1. Слушаем закрытие по CAN (0x60D / 0x358).
  2. Складываем зеркала реле, параллельно штатной кнопке.
  3. Replay кадра кнопки по CAN на T31 почти никогда не нужен: кнопки на OBD нет.

Колодка кнопки складывания у дорестайла и рестайла T31 разная. Реле ставить параллельно вашей кнопке.

Кадры CAN COMM

ID Назначение Полезные байты
0x60D BCM: двери, зажигание, замок data[2] & 0x18 — закрыто. data[1] & 0x0C: 00 OFF, 04 ACC, 0C ON, 08 START
0x358 Детализация замка data[5] bit0 водитель, bit1 остальные двери
0x745 / 0x765 Диагностика BCM Не используется

Прошивка не шлёт команды закрытия/открытия дверей.

Куда врезаться

  • OBD: pin 6 CAN-H, pin 14 CAN-L
  • или BCM за бардачком, зелёный 40-пин: pin 20 CAN-H (синий), pin 40 CAN-L (розовый)

На MCP2515 снять перемычку 120 Ом.

Железо

  • Arduino Nano или Uno
  • MCP2515 (часто кварц 8 МГц)
  • Два реле 5 В на контакты штатной кнопки складывания
Arduino          MCP2515
D10      ->      CS
D11      ->      SI (MOSI)
D12      ->      SO (MISO)
D13      ->      SCK
D2       ->      INT
5V/GND   ->      VCC/GND

MCP2515 CAN-H -> OBD 6  (или BCM pin 20)
MCP2515 CAN-L -> OBD 14 (или BCM pin 40)
общий GND с кузовом

D7 -> реле СЛОЖИТЬ
D8 -> реле РАЗЛОЖИТЬ

Питание Arduino — OBD pin 16 (+12 В) через стабилизатор 5 В, либо постоянная 12 В с предохранителем.

Реле параллельно штатной кнопке, не вместо неё. Моторы зеркал с Arduino не питать.

Прошивки

Библиотека: coryjfowler/MCP_CAN_lib

  1. firmware/CanSniffer/CanSniffer.ino — Serial 115200. Закрыли машину → 60D lock=1, открыли → lock=0. Клавиша f + кнопка зеркал: если DIFF: (none), оставляйте реле.
  2. firmware/XTrailMirrors/XTrailMirrors.ino — в config.h по умолчанию FOLD_VIA_RELAY.

Если кристалл MCP2515 16 МГц, прошивка сама пробует второй вариант.

Поведение

  • Старт: текущий замок запоминается, зеркала не трогаем.
  • Замок 0→1 и зажигание OFF → складывание ~8 с.
  • Замок 1→0 → раскладывание ~8 с.
  • При ON/START автоматика молчит.
  • Пауза 12 с между циклами.

Безопасность

Подключайтесь на заглушенном авто, с предохранителем. Сначала только сниффер. Реле не держать дольше ~810 с.