Arduino:Примеры/ShftOut12
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Один за одним[1]
Это скетч для платы Arduino и одного сдвигового регистра 74HC595. Он считывает данные, присланные пользователем по последовательному порту, передает их сдвиговому регистру, а тот передает их 8 светодиодам.
Код
/*
Один за одним
Используется вместе со сдвиговым регистром 74HC595.
Этот скетч считывает входящие последовательные данные и использует их, чтобы задать состояния на контактах сдвигового регистра 74HC595.
Оборудование:
* Сдвиговый регистр 74HC595, подключенный к контактам 8, 12 и 11
на Arduino (более подробно – в самом скетче)
* Светодиоды, подключенные ко всем выходным контактам сдвигового
регистра
Создан 22 мая 2009 года Томом Иго.
Модифицирован 23 марта 2010 года им же.
*/
// Контакт, подключенный к контакту-защелке (ST_CP) на 74HC595:
const int latchPin = 8;
// Контакт, подключенный к тактовому контакту (SH_CP) на 74HC595:
const int clockPin = 12;
// Контакт, подключенный к контакту для данных (DS) на 74HC595:
const int dataPin = 11;
void setup() {
// выставляем эти контакты в режим OUTPUT,
// поскольку они будут использоваться в блоке loop():
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
Serial.begin(9600);
Serial.println("reset");
}
void loop() {
if (Serial.available() > 0) {
// В таблице ASCII символы с «0» до «9» представлены числами
// от «48» до «57». Поэтому, если пользователь печатает цифру
// от «0» до «9» в формате ASCII, то нам, чтобы получить
// нужное значение, нужно вычесть «48»:
int bitToSet = Serial.read() - 48;
// передаем значение на сдвиговый регистр, выставляя нужному
// контакту значение HIGH:
registerWrite(bitToSet, HIGH);
}
}
// эта функция передает биты сдвиговому регистру:
void registerWrite(int whichPin, int whichState) {
// биты, которые вы хотите отправить:
byte bitsToSend = 0;
// отключаем вывод данных, чтобы во время передачи битов
// светодиоды не загорались:
digitalWrite(latchPin, LOW);
// включаем самый старший бит в переменной bitsToSend:
bitWrite(bitsToSend, whichPin, whichState);
// перемещаем биты:
shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend);
// включаем вывод данных, чтобы передать значения светодиодам:
digitalWrite(latchPin, HIGH);
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino