Оглавление:

Светодиодная матрица кнопок: 4 шага
Светодиодная матрица кнопок: 4 шага

Видео: Светодиодная матрица кнопок: 4 шага

Видео: Светодиодная матрица кнопок: 4 шага
Видео: Светодиодная матрица с драйвером МАХ7219 2024, Июль
Anonim
Кнопочная светодиодная матрица
Кнопочная светодиодная матрица

Этот проект можно рассматривать как еще один вводный проект Arduino, который немного более продвинут, чем ваш типичный проект «мигание светодиода». Этот проект включает светодиодную матрицу, кнопки, регистры сдвига (которые могут сохранять контакты на вашей плате Arduino) и ключевую концепцию, называемую мультиплексированием. Я надеюсь, что вы найдете этот урок поучительным и поставите перед собой задачу улучшить его!

Запасы

(1x) Arduino Uno

(5x) тактильные кнопки

(2x) Конденсаторы 0,1 мкФ

(2x) Конденсаторы 1 мкФ

(8x) резисторы 1 кОм

(5x) резисторы 10 кОм

(2x) регистры сдвига 74HC595

Провода перемычки

Черный провод

Красный провод

Шаг 1: Шаг 1: Изготовление светодиодной матрицы

Шаг 1. Изготовление светодиодной матрицы
Шаг 1. Изготовление светодиодной матрицы
Шаг 1. Изготовление светодиодной матрицы
Шаг 1. Изготовление светодиодной матрицы
Шаг 1. Изготовление светодиодной матрицы
Шаг 1. Изготовление светодиодной матрицы

Учебное пособие, которое я использовал для изготовления светодиодной матрицы 8x8 в этом проекте, можно найти здесь. Распространенные конфигурации светодиодной матрицы:

а) Обычный рядный анод

б) Обычный рядный катод

Поскольку я использовал схему катода с общей строкой матрицы, я буду в основном обсуждать ее здесь, и вы можете распространить ту же логику на схему анода с общей строкой. В схеме катода с общим рядом катодов катоды (или отрицательные выводы, которые являются более короткими выводами на светодиодах) соединены вместе рядами, в то время как аноды (или положительные выводы, которые являются более длинными выводами на светодиодах) соединены вместе в столбцах.. Чтобы обратиться к конкретному светодиоду, потяните за катодный ряд, в котором катод светодиода находится на низком уровне, и потяните за столбик анода, в котором анод светодиода находится на высоком уровне.

Примечание. При изготовлении светодиодной матрицы, показанной в приведенной выше ссылке, обязательно соедините анодные столбцы с резисторами 1 кОм, прежде чем подавать какое-либо напряжение на светодиоды.

Шаг 2: Шаг 2: Подключение кнопок и регистров сдвига

Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига
Шаг 2: Подключение кнопок и регистров сдвига

Схема подключения кнопок и регистров сдвига показана выше. Я хотел бы отметить, что регистры сдвига на принципиальной схеме не показывают землю (вывод 8 IC) и выводы Vcc или источника питания (вывод 16 IC) для микросхем; контакт заземления подключен к контакту GND платы Arduino, а Vcc подключен к контакту 5V на плате Arduino. Вывод Vcc каждого регистра сдвига также подключен к конденсатору емкостью 0,1 мкФ, подключенному к земле.

Примечание. Выходы каждого сдвигового регистра указаны как от QA до QH (игнорируйте QH *). Они перечислены в единицах от младшего значащего бита (LSB) (для QA) до старшего значащего бита (MSB) (для QH), то есть QA будет управлять 0-й строкой или столбцом и т. Д.

Шаг 3: Шаг 3: Загрузка кода

Код для управления светодиодной матрицей прилагается к этому руководству. Я попытался закомментировать как можно больше кода, чтобы было очень понятно, как работает программа. Основная основа программы - это матрица, которая отслеживает, какие светодиоды должны быть включены или выключены. Чтобы различные светодиоды отображались правильно без случайного включения нежелательных диодов, необходимо использовать концепцию, называемую мультиплексированием. Мультиплексирование - это, по сути, включение отдельных светодиодов в определенном ряду, в то время как все остальные светодиоды в других рядах, а затем то же самое для остальных рядов. Хитрость заключается в том, что если светодиоды достаточно быстро переключаются между рядами, ваши глаза могут определить, что отдельные ряды загораются по одному. Если вы хотите изучить больше способов обмануть глаза с помощью светодиодов, вы можете изучить концепцию постоянного зрения (с возможностью поиска в Google или Instructables).

Обновление анодных столбцов и катодных строк осуществляется с помощью пользовательской функции «UpdateShiftRegisters». Эта функция сначала поворачивает штифт защелки, который контролирует, отправляется ли на выход новый байт (8 бит), на низкий уровень, поэтому никакие изменения выходов невозможны, пока новые биты записываются в микросхему. Затем, используя встроенную функцию Arduino под названием ShiftOut, которая специально обрабатывает отправку данных в регистры сдвига, программа записывает, какая (катодная) строка будет низкой, а какие (анодные) столбцы должны быть высокими. Наконец, штифт защелки поднимается высоко, чтобы обновить вывод (светодиоды).

Шаг 4: Дополнительная информация / ресурсы

Вот несколько ссылок на веб-сайты или книги, которые могут предоставить дополнительную информацию об этом проекте:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Начало работы с Arduino, 2-е издание, Массимо Банци

Рекомендуемые: