Перейти к основному содержимому

Аналоговый ввод-вывод

предупреждение

В настоящее время перечисленные в данном разделе функции библиотеки wiringPi не используются, - до выхода в продажу плат функциональных расширений для Repka Pi 3 с интегрированными ЦАП и АЦП.

Следите за новостями на сайте Repka-Pi.

к сведению

Для реализации аналогового выхода можно использовать:

Для реализации аналогового входа/выходов можно использовать модули на основе чипа PCF8591 (1 выход ЦАП, 4 входа АЦП).

analogRead()

Считывает значение с указанного аналогового входа.

Синтаксис

int analogRead(int pin)

Параметры

pin - номер контакта.

Возврат

При успешном выполнении возвращает значение аналогового напряжения в диапазоне:

  • 0-254 для 8 битного АЦП;
  • 0-1023 для 10 битного АЦП;
  • 0-4095 для 12 битного АЦП;
  • 0-65535 для 16 битного АЦП. В случае ошибки возвращает отрицательное значение.

analogWrite()

Устанавливает значение напряжения на указанном аналоговом выходе.

Синтаксис

int analogWrite(int pin, int value)

Параметры

pin - номер контакта.

value - уровень напряжения:

  • 0-254 для 8 битного ЦАП;
  • 0-1023 для 10 битного ЦАП;
  • 0-4095 для 12 битного ЦАП;
  • 0-65535 для 16 битного ЦАП.

Возврат

При успешном выполнении возвращает 0, или отрицательное значение в случае ошибки.

analogReference()

Настраивает опорное напряжение, используемое для аналогового входа (т.е. значение, используемое в качестве верхней границы входного диапазона).

Синтаксис

int analogReference(int type)

Параметры

type - тип опорного напряжения DEFAULT для 3.3 В, или EXTERNAL для 5 В.

Возврат

При успешном выполнении возвращает 0, или отрицательное значение в случае ошибки.