Проверка шины I²C ================= Цель — убедиться, что **шина I²C жива** и Nano видит все три I²C-модуля кубсата: BME280, CCS811 и MPU9250. Если на этом шаге все адреса видны, дальнейшие сенсорные тесты пройдут без сюрпризов. Распиновка — см. таблицу в :doc:`coding-setup` (``A4=SDA``, ``A5=SCL``). Перетыкать ничего не нужно: разводка уже выполнена при сборке. Тестовый скетч -------------- .. literalinclude:: ../../../examples/i2c_scanner/i2c_scanner.ino :language: cpp :caption: examples/i2c_scanner/i2c_scanner.ino Скетч раз в 3 секунды проходит адреса с ``0x01`` по ``0x7E`` и печатает те, на которых получил ответ. Как запустить ------------- 1. Залейте скетч на Nano. 2. Откройте Serial Monitor на скорости **115200**. Что должно быть видно --------------------- :: I2C Scanner ready. Wiring: SDA->A4, SCL->A5, GND common. === I2C scan start === 0x5A -> CCS811 0x68 -> MPU9250 (or compatible at 0x68) 0x76 -> BME280 Total devices found: 3 Expected: BME280=0x76, CCS811=0x5A, MPU9250=0x68/0x69 === I2C scan end === Адрес MPU может быть ``0x68`` **или** ``0x69`` — зависит от уровня на пине ``AD0`` модуля. Оба варианта валидны. Если не видно одного из адресов ------------------------------- Проверяйте по порядку: 1. **Питание модуля.** ``VCC`` подан, индикатор на плате модуля горит (если есть). 2. **Земля.** ``GND`` общая со всем кубсатом. 3. **Целостность шлейфа.** Dupont-провод мог соскочить или переломиться у разъёма — пошевелите/переткните контакт. 4. **Если найден только ``0x68`` без других — соседи на шине подвешивают линию.** Чаще всего виновник — CCS811: его пин ``WAK`` должен быть притянут к ``GND``. 5. **Если шина показывает много «странных» адресов** (5+ устройств) — плохой контакт SDA или SCL, шина «звенит». Подробнее по симптомам — :doc:`coding-diagnostics`.