Raspberry Pi:Библиотеки/WiringPi/Драйверы DevLib/Драйвер для аналоговых контактов Gertboard
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
Драйвер для аналоговых контактов Gertboard[1]
Библиотека WiringPi поддерживает модуль devLib, позволяющий использовать входные и выходные аналоговые контакты Gertboard.
Gertboard – это буферизированная интерфейсная плата для Raspberry Pi с контактами для ввода и вывода данных. Она оснащена многими функциями, включая светодиоды, буферы и даже чип ATmega. Расширительный модуль/драйвер, о котором идет речь в этой статье, работает с другими компонентами Gertboard – 2-канальным 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-ый выходной аналоговый канал.