Arduino:Примеры/ShftOut11
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Простая передача битов[1]
Это скетч для платы Arduino и одного сдвигового регистра 74HC595. Он поочередно генерирует числа от «0» до «255», передает их сдвиговому регистру, а тот передает их 8 светодиодам, которые показывают двоичную версию этих чисел.
Код
//**************************************************************
// Название : Простая передача битов
// Авторы : Кэрлин Мо, Том Иго, Дэвид А. Меллис,
// Дата : 25 октября 2006 года
// Модифицирован : 23 марта 2010 года
// Версия : 2.0
// Примечания : Скетч для использования со сдвиговым
// : регистром 74HC595; считает от «0» до «255»
//***************************************************************
// Контакт, подключенный к контакту ST_CP на 74HC595:
int latchPin = 8;
// Контакт, подключенный к контакту SH_CP на 74HC595:
int clockPin = 12;
// Контакт, подключенный к контакту DS на 74HC595:
int dataPin = 11;
void setup() {
// выставляем контакты в режим OUTPUT, чтобы с их помощью
// можно было управлять сдвиговым регистром:
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
// считаем от «0» до «255» и выводим число на светодиоды:
for (int numberToDisplay = 0; numberToDisplay < 256; numberToDisplay++) {
// задаем контакту latchPin значение LOW,
// чтобы при отправке битов состояние светодиодов не менялось:
digitalWrite(latchPin, LOW);
// перемещаем биты:
shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);
// задаем контакту latchPin значение HIGH,
// чтобы передать светодиодам присланные значения:
digitalWrite(latchPin, HIGH);
// делаем паузу перед передачей следующих значений:
delay(500);
}
}