Мазмұны:

Arduino MAX7219 7 сегментті дисплей оқулығы: 5 қадам
Arduino MAX7219 7 сегментті дисплей оқулығы: 5 қадам

Бейне: Arduino MAX7219 7 сегментті дисплей оқулығы: 5 қадам

Бейне: Arduino MAX7219 7 сегментті дисплей оқулығы: 5 қадам
Бейне: Lesson 34: Using MCP9808 Temperature Sensor with TM1637 screen | Arduino Step By Step Course 2024, Шілде
Anonim
Arduino MAX7219 7 сегментті дисплей оқулығы
Arduino MAX7219 7 сегментті дисплей оқулығы

MAX7219-бұл 7 сегментті светодиодты (8 санға дейін), блоктық дисплейлерді (жолақ дисплейлер) және катод болып табылатын 64 жеке светодиодты басқаруға арналған IC. Микроконтроллермен байланысу үшін MAX7219 SPI байланыс жүйесін қолданады. Осылайша, 64 жарықдиодты жарықдиодты басқару үшін тек микроконтроллердің 3 порты қажет.

Бұл мақалада мен сізге драйвер ретінде IC MAX7219 қолданатын 7 сегментті модульді қалай қолдану керектігін көрсетемін.

Қажетті компоненттер:

  • MAX7219 7 сегмент модулі
  • Ардуино Нано
  • сым секіргіш
  • USB шағын

Қажетті кітапхана:

LedControl

Бұл оқулықта мен Arduino Nano тақтасын қолданамын. Егер сіз оны ешқашан қолданбаған болсаңыз. Мен «Arduino Nano қалай қолдануға болады» туралы алдыңғы мақаланы оқуды ұсынамын.

1 -қадам: Барлық компоненттерді жинаңыз

Барлық компоненттерді жинаңыз
Барлық компоненттерді жинаңыз

Arduino тақтасын 7 сегмент модуліне қосыңыз. Мен жазған суретті немесе нұсқаулықты қараңыз:

Arduino 7 сегментіне дейін

+5В => ВКС

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

2 -қадам: Кітапхананы қосыңыз

Кітапхананы қосу
Кітапхананы қосу

Цикл аяқталғаннан кейін. Arduino IDE -ге «LedControl» кітапханасын қосыңыз.

Ардуиноға кітапхана қосу үшін оны бұрын жасаған «Arduino -ға сыртқы кітапхананы қалай қосу керек» мақаласынан оқи аласыз.

3 -қадам: Қосымша функциялар

Қосымша функциялар
Қосымша функциялар

LedControl кітапханасын қосқаннан кейін. 7-Segment модулін басқару үшін қосымша функцияларды қолдануға болады.

Аргумент

addr - дисплейдің мекенжайы

цифр - дисплейдегі цифрдың орны (0..7) мәні - көрсетілетін мән. (0x00..0x0F)

dp ондық бөлшекті орнатады.

Функция

setChar (addr, цифр, value.dp); // 7 биттік ASCII кодтау үшін char түрінің мәнін көрсету үшін

setDigit (addr, цифр, мән, bolean dp); // сандар мен таңбаларды бір функцияда көрсету setRow (addr, цифр, мән, логикалық dp); // объектіні керекті цифрда көрсету үшін

Толық ақпарат алу үшін мына жерден оқыңыз.

4 -қадам: эскизді жүктеу

Эскизді жүктеу
Эскизді жүктеу

Мен осы 7 сегментті модульдің сынақ нұсқасын жасадым. Сіз төмендегі кодты көшіре аласыз, содан кейін оны нобайға қоюға болады.

// Біз әрқашан кітапхананы қосуымыз керек

#«LedControl.h» қосыңыз

/*

Енді бізге жұмыс істеу үшін LedControl қажет. ***** Бұл пин -сандар сіздің аппараттық құралдарыңызбен жұмыс істемеуі мүмкін *****

PIN 12 DataIn -ге қосылған

PIN 11 CLK -ге қосылған

түйреуіш 10 LOAD -қа қосылған

Бізде жалғыз MAX72XX бар.

*/

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

/ * біз әрқашан дисплейдің жаңартуларын күтеміз */

белгісіз ұзақ кідіріс уақыты = 500;

жарамсыз орнату () {

/ * MAX72XX іске қосылған кезде қуатты үнемдеу режимінде, біз ояту қоңырауын шалуымыз керек */

lc.shutdown (0, жалған);

/ * Жарықтықты орташа мәнге қойыңыз */

lc.setIntensity (0, 8);

/ * және дисплейді тазалау */

lc.clearDisplay (0);}

жарамсыз сәлем () {

lc.setChar (0, 7, 'H', жалған);

lc.setChar (0, 6, 'E', жалған);

lc.setChar (0, 5, 'L', жалған);

lc.setChar (0, 4, 'L', жалған);

lc.setChar (0, 3, '0', жалған);

lc.setChar (0, 2, '.', жалған);

lc.setChar (0, 1, '.', жалған);

lc.setChar (0, 0, '.', жалған);

кідіріс (кідіріс уақыты+1000);

lc.clearDisplay (0);

кешігу (кідіріс уақыты);

lc.setDigit (0, 7, 1, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 6, 2, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 5, 3, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 4, 4, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 3, 5, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 2, 6, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 1, 7, жалған);

кешігу (кідіріс уақыты);

lc.setDigit (0, 0, 8, жалған);

кешіктіру (1500);

lc.clearDisplay (0);

кешігу (кідіріс уақыты);

}

void loop () {сәлем ();

}

Немесе төмендегі файлды жүктеп алыңыз:

5 -қадам: Нәтиже

Нәтижеге қуаныңыз.

Егер сұрақтар туындаса, оларды түсініктеме бағанына жазыңыз.

Келесі мақалада кездескенше.

Ұсынылған: