Оглавление:

Счетчик с использованием MAX7221: 4 шага
Счетчик с использованием MAX7221: 4 шага

Видео: Счетчик с использованием MAX7221: 4 шага

Видео: Счетчик с использованием MAX7221: 4 шага
Видео: Max7219 2024, Ноябрь
Anonim
Счетчик с использованием MAX7221
Счетчик с использованием MAX7221

Создание счетчика, который увеличивается при нажатии кнопки с помощью MAX7221.

Шаг 1: Детали

MAX7221 или MAX7219

Выключатель

4 7-сегментный дисплей (общий катод)

2 резистора: 10 кОм и 9,53 кОм (я использовал 9,1 кОм, и он все еще работает)

Ардуино

Шаг 2: построение схемы

Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы

Я записал только контакты, которые использовал, вы можете найти полную схему контактов в таблице данных, или я ее прикрепил. Обязательно найдите свой 7-сегментный дисплей, потому что он, вероятно, будет отличаться от моего, но процедура такая же.

1. Соедините цифры 0–3 на MAX7221 с цифрами 1–4 на дисплее. Цифра 0 MAX соединяется с цифрой 1 дисплея и т. Д. Дисплеи просто необычны и начинаются с 1 вместо 0.

2. Подключите сегменты A - G на MAX7221 к сегментам A - G на дисплее.

3. Подключите питание и заземление к MAX. VCC подключается к контакту 19. Резистор 10 кОм также подключен к контактам 19 и 18. Земля подключена к контактам 4 и 9.

4. MAX7221 связывается с Arduino через SPI (последовательный периферийный интерфейс). В этом случае нужно всего 3 провода, потому что я не использую MISO (Master In Slave Out). На MAX7221 подключите контакт 1 (Din) к Arduino, в моем случае я использовал контакт 12. Это ваш MOSI (Master Out Slave In) или данные. Вывод 12 на MAX - это CS (вход выбора микросхемы), и именно с его помощью данные загружаются в регистр сдвига. Я подключил его к выводу 9 на Arduino. Последнее соединение - это CLK, это вывод 13 на MAX, я подключил его к выводу 10 на Arduino.

Обязательно подайте питание и заземление через Arduino, используя 5 вольт. Я столкнулся с проблемой, когда мой Arduino не давал моей плате достаточно мощности.

Это для таблицы данных MAX7221. Также откуда взялись картинки.

www.mouser.com/datasheet/2/256/max7219-max…

Шаг 3: переключатель

Выключатель
Выключатель

Я подключил переключатель по схеме выше. Найдено на

Я использовал контакт 8 на Arduino для управления переключателем и резистор 10 кОм.

Шаг 4: Код

Я использовал библиотеку LedControl.h, найденную на GitHub, и их базовый код, чтобы включить MAX7221. Затем я изменил код, чтобы считать от 0 до 9999 при нажатии кнопки.

#include "LedControl.h"

int button = 8;

LedControl lc = LedControl (12, 10, 9, 1);

void setup () {

pinMode (кнопка, ВВОД);

lc.shutdown (0, ложь); // MAX7221 находится в режиме энергосбережения, поэтому мы должны его разбудить

lc.setIntensity (0, 15); // Установка яркости, не более 15

lc.clearDisplay (0); // очищаем дисплей

}

void loop () {

int state = digitalRead (кнопка);

int я = 0;

int j = 0;

int k = 0;

int l = 0;

в то время как (1) {

state = digitalRead (кнопка);

while (state == 1) {

state = digitalRead (кнопка);

lc.setDigit (0, 3, i, ложь);

i ++;

задержка (100); // с этим можно повозиться

if (i == 10) {

я = 0;

j ++;

if (j == 10) {

j = 0;

k ++;

if (k == 10) {

k = 0;

l ++;

if (l == 10) {

в то время как (1) {

lc.setRow (0, 0, 0x3E); // когда дисплей достигнет 9999, отобразится U - 1

lc.setRow (0, 1, 0x1); // Десятичное значение в шестнадцатеричном формате

lc.setRow (0, 2, 0x1);

lc.setDigit (0, 3, 1, ложь);

}

}

lc.setDigit (0, 0, l, ложь);

}

lc.setDigit (0, 1, k, ложь);

}

lc.setDigit (0, 2, j, ложь);

}

}

}

}

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