Двоичный счётчик на светодиодах
Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 19 из 24.
Четыре светодиода могут отображать любое число от 0 до 15 в двоичной системе счисления — так компьютеры хранят числа. Каждый светодиод представляет разряд, значение которого вдвое больше предыдущего: 1, 2, 4 и 8. Горящий светодиод добавляет своё значение:
- 5 — это 4 + 1: горят светодиоды со значениями 4 и 1
- 10 — это 8 + 2
- 15 — это все четыре
Каждый разряд называется битом. Нумерация начинается с 0 — это разряд со значением 1. bitRead(number, n) возвращает бит n числа: 1 или 0:
bitRead(5, 0); // 1: в 5 есть 1
bitRead(5, 1); // 0: в 5 нет 2
bitRead(5, 2); // 1: в 5 есть 4Поскольку 1 — это HIGH, а 0 — LOW, бит i можно напрямую передать светодиоду i:
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], bitRead(count, i));
}Здесь ledPins[0], контакт 2, — это светодиод справа со значением 1, как последняя цифра числа.
Задание
СреднеЗаставь четыре светодиода считать в двоичном формате:
- начни с
count, равного 0 - отобрази его на светодиодах с помощью
bitRead(): битiнаledPins[i] - подожди 250 мс, прибавь 1 и после 15 начни снова с 0
Нажми Run, затем Check.
Попробуйте сами
int ledPins[] = {2, 3, 4, 5}; // соответствуют значениям 1, 2, 4, 8
int count = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// отобразить count в двоичном виде, подождать 250 мс, затем увеличить count (после 15 вернуться к 0)
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
1Яркость
Регулировка яркости светодиода с помощью PWMКонтакты PWM, отмеченные символом ~Плавное включение светодиодаПлавное включение и выключениеРегулятор яркости с ручкой4Циклы и массивы
Повторение с циклом forМассив выводов светодиодовБегущий огонь из пяти светодиодовСтолбчатая диаграмма с потенциометромДвоичный счётчик на светодиодахПотренируйтесь самостоятельно: Песочница Arduino