Программа Сервисный Центр
0

Плата расширения для RaspberryPi, совместимая с Arduino. Часть 2


Работа с платой расширения GPIO

Работать с платой расширения GPIO Shield мы будем под управлением ОС Raspbian, используя удаленный доступ в терминальном режиме, поэтому предварительно на Raspberry Pi необходимо включить поддержку SSH (Secure Shell) и SCP (Secure Copy) с правами Root-пользователя. В качестве примера рассмотрим обращение к АЦП по интерфейсу I2C.

Подключите плату расширения к разъему GPIO Raspberry Pi и включите питание (Рисунок 4).

Плата расширения для RaspberryPi, совместимая с Arduino. Часть 2
Рисунок 4.Внешний вид сборки для тестирования
платы расширения GPIO Shield.

Теперь необходимо активировать модули управления I2C и SPI (в мире Windows называемые драйверами) или какой-либо один из них, в зависимости от ваших потребностей. Сами модули управления скомпилированы в ядре ОС Raspbian как внешние. Для использования этих модулей их нужно удалить из «черного списка» скрытых модулей и добавить в набор модулей, известных ядру. Для этого в текстовом редакторе Nano откройте конфигурационный файл, содержащий скрытые модули, с помощью команды:

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

Удалите название модулей I2C и SPI из списка или закомментируйте соответствующие строки с помощью знака «#». Затем нажмите Ctrl+X (выход) и Y (подтверждение сохранения изменений).

Теперь нам нужно выполнить загрузку указанных модулей, интегрировать их в ядро ОС и убедиться в том, что они работают. Сделать это можно двумя способами. Первый – это ручная загрузка модулей управления в командной строке, но при этом они остаются активными лишь до выключения питания. При следующей загрузке Raspberry Pi модули нужно снова загружать соответствующей командой. Второй способ – автозагрузка требуемых модулей при запуске ОС. В этом случае они будут доступны приложению сразу после загрузки ОС. Второй способ необходим, если вы планируете автономную работу системы.

Для первого способа используется команда modprobe. Просто введите (для загрузки модуля управления I2C):

modprobe i2c-dev

Проверить загрузку и активацию модуля можно с помощью команды, отображающей все подключенные модули Ismod. Ввиду того, что в Linux все (или почти все) представлено в виде файлов, в директории /dev можно увидеть подключенные файлы для устройств i2c-0 и i2c-1. Для выгрузки управляющего модуля используйте команду:

modprobe -r i2c-dev

Для автозагрузки модулей управления необходимо изменить конфигурационный файл /etc/modules, который содержит список драйверов для автозагрузки. Открываем файл в текстовом редакторе:

nano /etc/modules

и добавляем строку:

i2c-dev

Нажимаем Ctrl+X и Y для сохранения изменений.

Для работы с устройствами I2C необходимо установить пакет i2c-tools, предоставляющий функции проверки работы устройств I2C, для чего вводим команду

apt-get install i2c-tools

и добавляем пользователя pi (Root-пользователь по умолчанию в Raspbian) в группу i2c командой:

adduser pi i2c

Для активации новых параметров перезагружаем (именно перезагружаем, не выключая питания) Raspberry Pi командой reboot.

После перезагрузки ОС и удаленного подключения по SSH проверяем доступность микросхемы АЦП по шине I2C с помощью команды:

  • для Raspberry Pi rev.1:
    i2cdetect -y 0

  • для Raspberry Pi rev.2:
    i2cdetect -y 1

В качестве ответа на эту команду вы получите в терминале таблицу шестнадцатеричных адресов, в которой адрес 0x68 и будет идентифицировать АЦП.

Для чтения данных (шестнадцатеричные значения двух байтов) аналого-цифрового преобразования в канале 1 используем команду:

  • для Raspberry Pi rev.1:
    i2cget –y 0 0x68 0x88 w

  • для Raspberry Pi rev.2:
    i2cget –y 1 0x68 0x88 ww

В этой команде второй параметр указывает, какую шину I2C необходимо опрашивать, третий – адрес устройства на шине для чтения (0x68), четвертый обозначает номер аналогового входа, с которого мы хотим получить данные измерений, последний параметр (w) сообщает, что нам нужны все байты преобразованного значения.

 
 
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
Обратная связь

Наши партнеры

 

Опросы

Есть ли справедливость в жизни?
Конечно есть, уверен!
Вроде как должна быть, но...
Затрудняюсь ответить...
Какая справедливость? О чем Вы?
Эх.., нет правды на свете!

 

Облако тегов

Требуется для просмотраFlash Player 9 или выше.

Показать все теги
 

Календарь публикаций

«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 

Архив новостей

Декабрь 2016 (15)
Ноябрь 2016 (42)
Октябрь 2016 (34)
Сентябрь 2016 (38)
Август 2016 (34)
Июль 2016 (36)
 
Наверх Сервисные мануалы Даташиты Ремонт LCD, ЖК телевизоров LG Samsung Скрипт программы "Сервисный центр"