Оглавление:

Arduino: индикатор потенциала использует светодиодную матрицу MAX7219: 4 шага
Arduino: индикатор потенциала использует светодиодную матрицу MAX7219: 4 шага

Видео: Arduino: индикатор потенциала использует светодиодную матрицу MAX7219: 4 шага

Видео: Arduino: индикатор потенциала использует светодиодную матрицу MAX7219: 4 шага
Видео: Матричный индикатор на MAX7219 2024, Ноябрь
Anonim
Arduino: индикатор потенциала использует светодиодную матрицу MAX7219
Arduino: индикатор потенциала использует светодиодную матрицу MAX7219

В предыдущем уроке я сделал индикацию потенциометра с помощью светодиода RGB Ring Neo Pixel. Вы можете увидеть это в статье «Индикатор Potentio использует неопиксель RGB».

А сегодня я покажу индикатор потенциатора с помощью светодиодного метрического дисплея MAX7219.

Следуйте инструкциям ниже, чтобы сделать это.

Шаг 1. Необходимые компоненты

Обязательные компоненты
Обязательные компоненты
Обязательные компоненты
Обязательные компоненты
Обязательные компоненты
Обязательные компоненты

Обязательные компоненты:

  • Ардуино нано
  • Потенциометр
  • Светодиодный матричный дисплей Max7219
  • Перемычка
  • Совет проекта
  • USB мини
  • ноутбук

Требуемая библиотека

LedControl

Шаг 2: Схема

Схема
Схема
Схема
Схема
Схема
Схема

Чтобы собрать компоненты, см. Схематический чертеж выше, вы также можете увидеть информацию ниже:

Arduino для светодиодов и потенциалов

+ 5 В ==> VCC и 3. потенциалы

GND ==> GND и 1. потенциалы

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Загрузить

Шаг 3: программирование

Программирование
Программирование

Используйте приведенный ниже код, чтобы создать ait:

#include "LedControl.h"

/*

Теперь нам нужен LedControl для работы. ***** Эти номера контактов, вероятно, не будут работать с вашим оборудованием. ***** Контакт 6 подключен к DataIn, контакт 7 подключен к CLK, контакт 8 подключен к LOAD. У нас есть только один MAX72XX. * /

LedControl lc = LedControl (6, 7, 8, 1);

unsigned long delaytime = 100;

void setup () {

lc.shutdown (0, ложь); lc.setIntensity (0, 8); lc.clearDisplay (0); } недействительный цикл () {int val = analogRead (A0); val = карта (val, 0, 1023, 0, 8);

если (val == 1)

{

lc.setRow (0, 0, B10000000);

}

если (val == 2)

{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } if (val == 3) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } if (val == 4) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } if (val == 5) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); } если (val == 6) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); } если (val == 7) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); } if (val == 8) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); lc.setRow (0, 7, B10000000); } lc.clearDisplay (0); }

Шаг 4: Результат

После программирования результаты будут выглядеть следующим образом.

Если потенциометр повернуть вправо, светодиоды, находящиеся под напряжением, будут все чаще следовать за количеством оборотов.

Если горшок повернуть влево, световой индикатор будет все меньше и меньше соответствовать силе вращения.

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