Raspberry Pi:Библиотеки/WiringPi/Драйверы DevLib/Драйвер для аналоговых контактов Gertboard

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

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


Черновик


Драйвер для аналоговых контактов Gertboard[1]

Библиотека WiringPi поддерживает модуль devLib, позволяющий использовать входные и выходные аналоговые контакты Gertboard.

Gertboard – это буферизированная интерфейсная плата для Raspberry Pi с контактами для ввода и вывода данных. Она оснащена многими функциями, включая светодиоды, буферы и даже чип ATmega. Расширительный модуль/драйвер, о котором идет речь в этой статье, работает с другими компонентами Gertboard2-канальным 10-битным АЦ-конвертером и 2-канальным 8-битным ЦА-конвертером.

Подключение

#include <wiringPi.h>
#include <gertboard.h>

Инициализация

gertboardAnalogSetup (int pinBase) ;

Параметр pinBase – это базовый номер для аналоговых контактов Gertboard. Эта инициализирующая функция резервирует 2 контакта, которые будут использоваться и для ввода данных по АЦ-порту, и для вывода данных по ЦА-порту. То есть, чтобы выполнить считывание с первого входного аналогового канала Gertboard (контакт DA0 на Gertboard), вам понадобится контакт, номер которого рассчитывается по формуле «базовый номер + 0», и та же формула понадобится, чтобы определить контакт для записи на первый выходной аналоговый канал (контакт AD0 на Gertboard).

Примеры использования этого драйвера ищите в программах «temperature.c» и «voltage.c» в папке «~wiringPi/examples/Gertboard».

Примечания

  • Аналоговые интерфейсные чипы Gertboard подключены к шине SPI. Поэтому сначала вам нужно загрузить в ядро модули для SPI при помощи команды
gpio load spi

, а также поставить в нужное положение пять SPI-перемычек на Gertboard – для контактов SCLK, MOSI, MISO, CSnA и CSnB.

  • Аналогово-цифровой конвертер – это 10-битное устройство. То есть возвращаемые им значения будут в диапазоне от «0» до «1023». Эти значения выражают разные уровни входного напряжения в диапазоне от 0 до 3,3 вольт.
  • Формула для расчета входного напряжения: НапрВх = ВхАналогЗнач * 3.3 / 1023, где НапрВх – это входное напряжение, а ВхАналогЗнач – это входное аналоговое значение.
  • Цифро-аналоговый конвертер – это 8-битный девайс. Значения, отсылаемые ему, должны быть в диапазоне от «0» до «255». Эти значения выражают разные уровни выходного напряжения в диапазоне от 0 до 2,047 вольт.
  • Формула для расчета выходного напряжения: НапрВых = ВыхАналогЗнач / 255 x 2,047, где НапрВых – это выходное напряжение, а ВыхАналогЗнач – это выходное аналоговое значение.
  • У программы gpio есть команды для прямых операций считывания/записи на аналоговых портах Gertboard. Так, команда
gpio gbr 0

прочитает значение на 0-ом входном канале, а

gpio gbw 1 55

запишет значение «55» на 1-ый выходной аналоговый канал.

См.также

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