Существует всего 3 дополнительные функции ввода/вывода. Рассмотрим каждую из них по отдельности.

Функция tone ()

Это встроенная функция предназначена для создания звуков произвольной частоты. Это возможно благодаря ШИМ-сигналу. Если мы используем функции tone(), то мы не сможем использовать функцию analogWrite на пинах с ШИМ-сигналом.

Функция имеет 3 параметра (3 не обязателен) tone (pin, frequency, duration):

Pin – номер пина для создавать волны;

Frequnce – частота волны;

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

Более наглядный пример использования функции Tone () можно найти здесь.

 Функция shiftOut ()

Используется для последовательной однобитной передачи одного байта, на определенный порт. Благодаря данной функции мы можем управлять дополнительными микроконтроллерами, например, 74HC575 – 8-ми битный регистр сдвига.

Функция shiftOut (dataPin, clockPin, bitOrder, value) имеет 4 параметра:

  • dataPin: номер пина, на который посылаются биты;
  • clockPin: номер пина для синхронизации.
  • bitOrder: два способа последовательного вывода бита. MSBFIRST  — слева на право или LSBFIRST — справа на лево.
  • value: байтовое значение посылаемое на порт.

Пример с кодом:

Более наглядный пример использования функции shiftOut() можно найти здесь.

Функция pulseIn ()

Данная функция считывает время переключения от одного сигнала к противоположному. Для начало указываем на каком сигнале запустится таймер (0 Вольт или 5 Вольт). Как только на пине появился указанный сигнал, запускается таймер, таймер остановиться при появлении противоположного сигнала. Засеченное время возвращается в функцию. Так же можно установить время таймера в диапазоне от 10 микросекунд до 3 минут. Функция вернет значение нуль, если таймер закончится до появления сигнала.

Функция pulseIn (pin, value, timeout) имеет 3 параметра:

  • pin – номер пина на котором будем считывать время сигнала.
  • value – значение при котором сработает таймер (low или high)
  • timeout – время отключения таймера(указывать в микросекундах). Диапазон от 10 микросекунд до 3 минут.
0 0 vote
Article Rating