Raspberry Pi:Примеры/Библиотека WiringPi/Gertboard и WiringPi/12 светодиодов

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Gertboard и WiringPi: 12 светодиодов[1]

Плата Raspberry Pi имеет 17 GPIO-контактов (плюс еще 4 на Rev2, но для их использовании на Gertboard придется иметь дело с дополнительными сложностями). Некоторые из этих контактов – двойного назначения.

Единственные контакты, которые при запуске настраиваются, как правило, на альтернативный режим – это последовательные контакты; ядро Linux использует их для отправки сообщений. Мы их пока использовать не будем, а воспользуемся теми, что выделены для интерфейса SPI.

На Gertboard под интерфейс SPI выделены контакты GP7, GP8, GP9, GP10 и GP11. Мы воспользуемся 4 из этих 5 контактов, чтобы подключиться к последним 4 светодиодам. В итоге у нас появится возможность зажечь все 12 светодиодов.

Перед тем, как начать, снимите на Gertboard все перемычки моста – это перемычки, что идут от длинного ряда контактов к более короткому ряду, служащему для подключения к периферийным компонентам Gertboard.

Также убедитесь, что у вас не загружено никаких SPI-модулей (Raspbian с ними не дружит), потому что вы могли загрузить их, а потом забыть, или поменять конфигурационные файлы. Запустите следующую команду:

lsmod | grep -i spi

Если она дала какие-то выходные данные, то да – у вас, по всей видимости, загружены SPI-драйверы. Чтобы удалить их, впишите следующее:

sudo rmmod spi_bcm2708 spidev

Все перемычки на буферных чипах должны быть выставлены на вывод данных – это 12 перемычек, и их нужно расположить в сторону светодиодов и контактов «BufX».

Подключение

В данном случае фото получаются не очень наглядными, поэтому схема подключения показана в таблице ниже:


J2 Провод-перемычка J3
GP17 <–> B1
GP18 <–> B2
GP21 <–> B3
GP22 <–> B4
GP23 <–> B5
GP24 <–> B6
GP25 <–> B7
GP4 <–> B8
GP7 <–> B9
GP8 <–> B10
GP9 <–> B11
GP10 <–> B12

Сделав это, найдите в папке «examples» программу «blink12.c». Скомпилируйте ее – это делается так же, как и для других программ:

gcc -Wall -o blink12 blink12.c -lwiringPi

Впрочем, вы можете скомпилировать ее при помощи makefile, который идет в комплекте с библиотекой. Более того, вы можете использовать его для ваших собственных проектов.

make blink12

Запустите программу:

sudo ./blink12

Результатом будут 12 перемигивающихся светодиодов.

Изучение программы и ее модифицирование полностью приветствуются!

Итого

  • Буферные перемычки можно использовать для переключения между вводом и выводом данных, но мы пока рассмотрели лишь вывод данных
  • Мы можем использовать некоторые GPIO-контакты Pi двойного назначения для обычного вывода данных
  • Мы можем зажигать встроенные светодиоды!

См.также

Внешние ссылки