Включення інтерфейсу I2C на Raspberry Pi
Рейтинг статті: / 8
НайгіршеНайкраще 
I2C busI2C – шина для багатьох пристроїв, яка використовується для підключення низькошвидкісних периферійних пристроїв до комп'ютерів та вбудованих систем.
Raspberry Pi підтримує цей інтерфейс на своєму роз’ємі GPIO і це чудовий спосіб для підключення датчиків і пристроїв. Після налаштування ви зможете підключити більше одного пристрою, не використовуючи додаткові виводи на роз’ємі.
Перед використанням I2C потрібно налаштувати. Є два способи використання, і вам треба вибирати перший спосіб, якщо не впевнені, що вибрати.
Спосіб 1 - за допомогою утиліти raspi-config
Найшвидший спосіб полягає у використанні raspi-config:
sudo raspi-config
Буде запущена утиліта raspi-config:
I2C raspi-config
Тепер виконайте наступні дії:
  • Виберіть "8 Advanced Options"
  • Виберіть "A6 I2C"
  • Виберіть "Yes"
Екран повинен відобразити “i2c kernel module will now be loaded by default” ("ядро модуля i2c тепер буде завантажений за замовчуванням".
  • Виберіть "OK"
  • Виберіть «Finish», щоб повернутися в командний рядок
Після перезавантаження системи модуль I2C буде завантажений також.
Спосіб 2 – вручну через редагування файлів
Щоб використовувати I2C на Pi вам потрібно включити декілька речей в Raspbian, які за замовчуванням не включені. По-перше вам потрібно відредагувати файл модулів за допомогою:
sudo nano /etc/modules
і додати наступні два рядки:
i2c-bcm2708
i2c-dev
Використайте CTRL+X, потім Y, далі Return щоб зберегти файл і вийти.
Далі вам потрібно відредагувати файл чорного списку модулів:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
і поставити символ # на початку рядка “blacklist i2c-bcm2708″ ("чорний список i2c-bcm2708"), щоб це виглядало приблизно так:
#blacklist i2c-bcm2708
Знову використайте CTRL+X, потім Y, а далі Return щоб зберегти файл і вийти. Після перезавантаження системи модуль I2C буде завантажений.
Перевірка чи включений I2C (необов'язково)
При включенні живлення або перезавантаженні Pi можна перевірити чи працює модуль i2c за допомогою наступної команди:
lsmod | grep i2c_
Буде показаний список всіх модулів, починаючи з "i2c_". Якщо в цьому списку є "i2c_bcm2708", то модуль працює правильно.
Встановлення інструментів I2C (необов'язково)
Останній крок полягає в установці деяких утиліт, які можна використовувати для тестування нашого встановлення I2C:
sudo apt-get install -y python-smbus i2c-tools
Після завершення цього процесу можете вимкнути Pi за допомогою:
sudo halt
Зачекайте десять секунд, вимкніть живлення Pi і тепер ви готові до підключення обладнання з інтерфейсом I2C.
Тестування обладнання (необов'язково)
Після того, як ви підключили обладнання, двічі перевірте під’єднання. Переконайтеся, що 3,3В подається на правильні виводи, і ви не отримаєте короткого замикання. Включіть Pi і почекайте, поки він завантажиться.
Якщо у вас Pi Model A, B Rev 2 або B+, то введіть наступну команду:
sudo i2cdetect -y 1
Якщо у вас Pi Model B Rev 1, то введіть іншу команду:
sudo i2cdetect -y 0
В чому різниця? При переході від Rev 1 до версії Rev 2 Pi були змінені сигнали, які подаються на контакти 3 і 5 роз’єма GPIO. Це змінило номер пристрою, який повинен використовуватися з I2C з 0 на 1.
Автор при використанні Pi Rev 1 з підключеним датчиком отримав на виході наступне:
I2C bus test
Запис показує, що у автора є один підключений пристрій і його адреса 0x20 (32 в десятковій системі).
(Джерело EN: raspberrypi-spy.co.uk)
 
>
КнигаНовиниПрактика пошукуПартнериПро нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting