Файл: Ledpixel Связанные знания Светодиодный модуль Freenove 8 rgb.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 113

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
только значения ускорения в трех направлениях на последовательный порт, поэтому будет относительно легче наблюдать за изменением чисел при вращении и перемещении этого модуля.
Глава 15 Светодиодная панель
В предыдущей главе мы узнали, как использовать некоторые модули и датчики и отображать некоторую информацию на компьютере через последовательный порт. Теперь давайте изучим некоторые модули, которые могут выводить изображения и текст.

В этой главе мы научимся управлять светодиодной панелью с микросхемой 74HC595.

Во-первых, давайте узнаем, как использовать микросхему 74HC595, которая нам очень помогает для управления светодиодной матрицей.

Список компонентов


Плата управления x1


USB-кабель x1








Совет по проектам Freenove



Знание кода
шестнадцатеричный

Преобразование между двоичной и десятичной системой было упомянуто ранее. Когда вы пишете код, число по умолчанию десятичное. В код нужно добавить префикс 0x для шестнадцатеричных чисел, например 0x01.

Один шестнадцатеричный бит может представлять одно число от 0 до 15. Для облегчения записи числа больше 9 записываются буквами
AF (без учета регистра), например 0x2A. Соответствующее соотношение выглядит следующим образом:

Число

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Представлять

0

1

2

3

4

5

6

7

8

9

А

Б

С

Д

Е

Ф

Преобразование между шестнадцатеричной и десятичной системами аналогично преобразованию между шестнадцатеричной и двоичной, например, шестнадцать цифр 0x12:


Последовательность

1

0

Число

1

2

При преобразовании шестнадцатеричного числа в десятичное сначала умножьте его n-е число на n степень 16, а затем просуммируйте все результаты умножения. Возьмем 0x12 в качестве примера:

1 *16̂ 1+2*16̂ 0=18

Когда десятичное число преобразуется в шестнадцатеричное, десятичное число делится на 16, поэтому мы получаем частное и остаток, а затем полученное частное будет непрерывно делиться на 16, пока частное не станет равным нулю. Расположите все остатки справа налево в ряд и завершите преобразование. Например:


Результат преобразования 0x12.

16 18

16 1

0

Остаток

………… 2

………… 1

Последовательность

0

1



Когда вы пишете код, иногда удобно использовать шестнадцатеричный формат, особенно при работе с битами, потому

что 1 шестнадцатеричное число может быть выражено 4 двоичными числами (2̂ 4 = 16). Соответствующая связь между 4- битными двоичными числами и 1 шестнадцатеричным числом показана следующим образом:



4-битный двоичный файл

0000

0001

0010

0011

0100

0101

0110

0111

1 цифра шестнадцатеричной

0

1

2

3

4

5

6

7





4-битный двоичный файл

1000

1001

1010

1011

1100

1101

1110

1111

1 цифра шестнадцатеричной

8

9

А

Б

С

Д

Е

Ф

Например, двоичному коду 00010010 соответствует шестнадцатеричный код 0x12.




Знание компонентов



74HC595

Микросхема 74HC595 используется для преобразования последовательных данных в параллельные. Микросхема 74HC595 может преобразовывать последовательные данные одного байта в 8 бит и отправлять соответствующий уровень на каждый из 8 портов соответственно. Благодаря этой характеристике микросхема 74HC595 может использоваться для расширения портов ввода-вывода платы управления. Для управления 8 портами микросхемы 74HC595 требуется как минимум 3 порта на плате управления.


Порты 74HC595 описываются следующим образом:


Имя контакта

Пин код

Описание

Q0-Q7

15, 1-7

Параллельный вывод данных

ВКК

16

Положительный электрод источника питания, напряжение 26В


ЗАЗЕМЛЕНИЕ

8

Отрицательный электрод источника питания

ДС

14


Последовательный ввод данных

ОЕ

13

Включить вывод,

Когда этот вывод имеет высокий уровень, Q0-Q7 находится в состоянии высокого сопротивления. Когда этот вывод имеет низкий уровень, Q0-Q7 находится в режиме вывода.

ST_CP

12

Параллельный выход обновления: когда его электрический уровень повышается, он будет обновлять параллельный вывод данных.

SH_CP

11

Часы последовательного сдвига: когда его электрический уровень повышается, регистр ввода последовательных данных будет
выполнять сдвиг.

Г-Н

10

Удалить сдвиговый регистр: когда этот вывод имеет низкий уровень, содержимое сдвигового регистра будет очищено.

Q7'

9

Последовательный вывод данных: его можно подключить к большему количеству 74HC595 последовательно.


Для более подробной информации, пожалуйста, обратитесь к техническому описанию.




Схема
Используйте контакты 11, 12, 13 на плате управления для управления 74HC595 и подключите его к 10 светодиодам гистограммы.


Принципиальная схема


Аппаратное соединение


Аппаратное соединение



Эскиз
74HC595_LEDBAR

Теперь напишите код для управления 8 светодиодами гистограммы светодиодов через 74HC595.



0 0




0

0

0

0

1

0






В коде мы настраиваем три контакта для управления 74HC595. И определите переменную через переменный бит для управления состоянием 10 светодиодов. Когда соответствующий бит равен 1, загорается светодиод. Если переменной присвоено значение 0x01, что является двоичным числом 00000001, будет гореть только один светодиод.



В каждом цикле val отправляется на 74HC595. Процесс отправки выглядит следующим образом:


Значение val будет сдвигаться на 1 бит влево в каждом цикле, что заставляет светящийся светодиод из 8 светодиодов перемещаться на один бит, то есть текущий светодиод ON будет выключен, а его левый светодиод загорится.




<< оператор




«<<» это оператор сдвига влево, который может сдвигать все биты 1 байта на несколько битов влево (старшее) и добавлять 0 вправо (младшее). Например, сдвинем двоичный код 00000001 на 1 бит влево:

байт х = 1 << 1;



0 0 0 0 0 0 0 1 0

Результат x равен 2 (двоичный 00000010).

Есть еще один аналогичный оператор ">>". Например, сдвинем двоичный код 00000001 на 1 бит вправо:

байт х = 1 >> 1;



0 → 0 0 0 0 0 0 0 1

Результат x равен 0 (00000000).

X <<= 1 эквивалентно x = x << 1, а x >>= 1 эквивалентно x = x >> 1