# AndruinoXTrail — Nissan X-Trail T31 Складывание зеркал при закрытии машины. Arduino + MCP2515, шина CAN COMM 500 кбит/с. ## Кузов T31 T31 (2007–2014, в том числе 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](https://github.com/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 с между циклами. ## Безопасность Подключайтесь на заглушенном авто, с предохранителем. Сначала только сниффер. Реле не держать дольше ~8–10 с.