11. Подготовим скетч (программу) для «Ардуино» на нашем компьютере.
12. Соединяет «Ардуино» с помощью кабеля USB и загружаем скетч.
void setup() {
pinMode(3, OUTPUT); //clock
pinMode(4, OUTPUT); //clear
pinMode(5, OUTPUT); //data
// отправить сигнал RESET
digitalWrite(4, LOW);
delay (100);
digitalWrite(4, HIGH);
//готовлю тактовый сигнал
digitalWrite(3, LOW);
// тактовый сигнал в "1"
digitalWrite(3, HIGH);
// переношу первый бит
digitalWrite(5, HIGH);
delay(10);
// тактовый сигнал в "0"
digitalWrite(3, LOW);
}
void loop() {
// тактовый сигнал в "1"
digitalWrite(3, HIGH);
delay (300);
//переношу только 0
digitalWrite(5, LOW);
// тактовый сигнал в "0" и данные проходят
digitalWritep, LOW)
}
Этот скетч сначала перезагружает микросхему, а затем с помощью тактового импульса подает первый бит «1». В цикле не загружаются другие биты, но тактовый импульс проводит единственный бит, введенный в функции setup, до тех пор, пока он не «выйдет» из регистра. Светодиоды должны загореться один за другим. Чтобы повторить последовательность, нажмите кнопку сброса RESET на «Ардуино». Проблемой этих типов схем является невозможность установления одного независимого выхода, так как мы должны загрузить все 8 бит в последовательности, даже если хотим изменить только один. Загрузка, тем не менее, достаточно быстрая.
Интегральная схема 74НС165 является регистром PISO, с помощью которого можно добавить 8 дополнительных входов для нашего микроконтроллера. Принцип работы этой микросхемы схож с микросхемой 74LS164.
Счетчики
Регистры могут быть использованы в качестве счетчиков, т. е. схем, управляемых тактовыми импульсами, которые включают несколько выходов, в соответствии с предопределенным порядком. Некоторые счетчики активируют одну линию за другой, другие же выполняют такую двоичную последовательность, как 000, 001, 010, 011… 111. Счетчики – также довольно часто встречающиеся модули, и их построение не требует применения простых триггеров. В дополнение к тактовым импульсам эти микросхемы имеют также выводы для сброса RESET, для изменения направление счета и его остановки. Десятичные счетчики имеют 10 выходных контактов, которые включены последовательно, бинарные (двоичные) счетчики, как правило, имеют 3 или 4 контакта, а также могут быть объединены друг с другом для подсчета больших чисел (например, 8 бит).
Схема 4017В представляет собой десятичный счетчик: ему достаточно одного тактового сигнала для активации 10 выходных линий в последовательности. Для начала счета необходимо, чтобы входы RESET и ENABLE были в состоянии (0).
Рис. 8.30. Электрическая схема использования микрочипа 4017В и его цоколевка
Интегральной схемой, аналогичной по поведению с 4017В, является 74НС160, четырехбитный счетчик. На его 4 выходах мы можем получать двоичный сигнал, например 0000, 0001, 0010, 0011 и т. д.
Аналого-цифровые и цифро-аналоговые преобразователи
Часто нам нужно перейти от цифрового сигнала к аналоговому. Лучший способ сделать это состоит в использовании микросхем, которые преобразуют аналоговые сигналы в последовательность битов или наоборот. Такие микросхемы называются АЦП- или ЦАП-преобразователями. Аналоговые сигналы гораздо богаче информацией, чем цифровые сигналы, поскольку при переходе от одного типа сигнала к другому информация теряется. По этой причине фанаты Hi-Fi-устройств так сильно любят виниловые пластинки: на них музыка записана и воспроизводится полностью в аналоговом режиме!
Переход от аналогового мира к цифровому требует прежде всего создания выборок: исходный сигнал измеряется через регулярные промежутки времени или с определенной частотой, называемой частотой дискретизации. Каждая выборка затем преобразуется в цифровой код, то есть в последовательность битов. При этом существуют две важные потери, первая связана с частотой дискретизации, потому что то, что находится между одной выборкой и другой, мы отбрасываем, а вторая из-за округления уровня выборки. Если выборка содержит 4,4536 В, это значение будет округлено, например, до 4,5 В, то есть остальная информация потеряется.
Эта операция называется квантованием. Степень детализации квантования зависит от числа битов, в которые будет преобразовываться выборка. Эти потери считаются приемлемыми, потерянная информация является минимальной и при соблюдении определенных пределов есть гарантия восстановления аналогового сигнала, так что его почти невозможно отличить от оригинала. Чтобы иметь минимальные потери, частота дискретизации должна быть по меньшей мере в два раза больше максимальной частоты отобранного сигнала. Музыка доходит максимум до 22 кГц, поэтому для звуковых сигналов частота дискретизации равна 44 кГц. Для определения погрешности, вносимой квантованием по уровню, мы должны рассмотреть максимальное количество уровней и максимальное выходное напряжение. Если сигнал будет иметь 8 битов, максимальное число уровней будет равно 28, то есть 256. Если сигнал идет от 0 до 5 В, минимальный интервал, соответствующий 1 бит, будет равен 5 В / 256 = 0,02 В.
Биты преобразованных выборок могут быть взяты из преобразователя последовательно или все вместе: таким образом, имеется параллельный или последовательный выход битов. Преобразователи, которые используют 12 или 16 бит, как правило, имеют последовательные выходы для данных, в противном случае понадобилось бы очень большое количество выводов для принятия данных.
Для преобразования цифрового сигнала в аналоговый используются резистивные схемы, активированные битами выборки и фильтрами нижних частот для восстановления исходного сигнала. Самыми простыми микросхемами для начинающих являются те, которые используют параллельные входы или выходы: имеются 8 линий, соответствующих преобразованному сигналу. Если число битов возрастает (до 12, 16 или 32), необходимо обязательно использовать последовательные выводы для подачи или принятия битов по одному за раз. 8-битным АЦП – чипом с параллельным выходом является, например, ADC0804. Его соответствующим ЦАП-чипом может быть DAC0800 с 8 параллельными входами и 1 аналоговым выходом.