I2C не определяет? проблемы с оборудованием или любые другие?

Я проработал несколько примеров i2c. Сложив все это вместе, я обнаружил, что мне нужно установить пакет i2c-tools, а затем использовать raspi-config для включения системы I2C.

Команда wiringPi gpio имеет ярлык для команды i2cdetect, и ее запуск дает

введите описание изображения здесь

Раньше 3 недели все работало исправно, обнаружил 68. Не понял в чем проблема !!! Может ли кто-нибудь помочь мне решить эту проблему.


person Jerwin Prabu    schedule 20.03.2017    source источник


Ответы (1)


Шина I2C позволяет подключать к Raspberry Pi несколько устройств, каждое с уникальным адресом, который часто можно задать, изменив настройки перемычки на модуле. Очень полезно видеть, какие устройства подключены к вашему Pi, чтобы убедиться, что все работает.

Для этого стоит запустить в Терминале следующие команды, чтобы установить утилиту i2c-tools.

sudo apt-get install -y python-smbus
sudo apt-get install -y i2c-tools

Если вы не используете современный Raspbian или хотите сделать это вручную, вы можете! Откройте LXTerminal, консоль или ssh и введите следующую команду:

sudo nano /etc/modules

и добавьте эти две строки в конец файла:

i2c-bcm2708 
i2c-dev

Затем сохраните файл с помощью Control-X Y

В зависимости от вашего дистрибутива у вас также может быть файл с именем /etc/modprobe.d/raspi-blacklist.conf

Если у вас нет этого файла, вам нечего делать, однако, если у вас есть этот файл, вам необходимо отредактировать его и закомментировать строки ниже:

blacklist spi-bcm2708
blacklist i2c-bcm2708

.. поставив перед ними #.

Откройте редактор файла, набрав:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Если вы используете последнюю версию Raspberry Pi (ядро 3.18 или выше), вам также необходимо обновить /boot/config.txt file. Отредактируйте его с помощью sudo nano /boot/config.txt и добавьте текст

dtparam=i2c1=on
dtparam=i2c_arm=on

внизу. обратите внимание, что «1» в «i2c1» - это единица, а не L!

Как только это будет сделано, перезагрузитесь!

Теперь, когда вы входите в систему, вы можете ввести следующую команду, чтобы увидеть все подключенные устройства.

sudo i2cdetect -y 1

Обратите внимание, что если вы используете один из самых первых Raspberry Pis (модель B Raspberry Pi объемом 256 МБ), вам нужно будет изменить команду на:

sudo i2cdetect -y 0
person Sirajo Abubaka Zauro    schedule 12.03.2018
comment
Я точно @Sirajo, который работает нормально. Теперь он отображал адрес I2C 0x68. - person Jerwin Prabu; 12.03.2018
comment
Если вы попробуете, это будет работать нормально, в противном случае вам придется проверить аппаратный интерфейс и проводное соединение. - person Sirajo Abubaka Zauro; 12.03.2018
comment
@SirajoAbubakaZauro, к сожалению, у меня нет файла raspi-blacklist.conf. Есть ли другой выход? В моем случае странно, что я могу читать данные с датчиков, но не обнаруживаю адреса i2c ... - person Tracy Yang; 12.03.2019
comment
@TracyYang Rasbian когда-то удалил весь файл raspi-blacklist.conf по умолчанию. Вместо редактирования /boot/config.txt и добавления строки: dtparam=spi=on. Так что после перезагрузки вы увидите /dev/spidev0.0 - person Sirajo Abubaka Zauro; 12.04.2019