Cov txheej txheem:

Arduino MAX7219 7-Segment Display Tutorial: 5 Kauj Ruam
Arduino MAX7219 7-Segment Display Tutorial: 5 Kauj Ruam

Video: Arduino MAX7219 7-Segment Display Tutorial: 5 Kauj Ruam

Video: Arduino MAX7219 7-Segment Display Tutorial: 5 Kauj Ruam
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Lub Xya hli ntuj
Anonim
Arduino MAX7219 7-Segment Display Tutorial
Arduino MAX7219 7-Segment Display Tutorial

MAX7219 yog IC uas siv los tsav 7-ntu LEDs (txog 8 tus lej), thaiv cov lus (bar qhia), thiab 64 tus LEDs uas yog comon cathodes. Txhawm rau sib txuas lus nrog lub microcontroller, MAX7219 siv SPI kev sib txuas lus. Yog li kom tsav 64 LEDs tsuas yog xav tau 3 chaw nres nkoj ntawm lub microcontroller.

Hauv kab lus no kuv yuav qhia koj siv 7-Segement module uas siv IC MAX7219 ua tus tsav tsheb.

Yuav tsum muaj cov khoom siv:

  • MAX7219 7-Segment Module
  • Arduino Nano Cov
  • hlau Jumper
  • USB mini tso

Yuav tsum muaj tsev qiv ntawv:

LedControl

Hauv qhov kev qhia no kuv siv Arduino Nano board. Yog tias koj tsis tau siv dua. Kuv hais qhia nyeem kuv kab lus yav dhau los txog "Yuav Siv Arduino Nano" li cas.

Kauj Ruam 1: Sib Sau Tag Nrho Cov Khoom

Sib Sau Ua Ke Txhua Yam
Sib Sau Ua Ke Txhua Yam

Txuas Arduino board rau 7-Segment module. Saib daim duab lossis kev qhia uas kuv tau sau hauv qab no:

Arduino rau 7-Segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Kauj ruam 2: Ntxiv Library

Ntxiv Tsev Qiv Ntawv
Ntxiv Tsev Qiv Ntawv

Tom qab lub Circuit Court tiav. Ntxiv "LedControl" lub tsev qiv ntawv rau Arduino IDE.

Txhawm rau ntxiv lub tsev qiv ntawv rau Arduino, koj tuaj yeem nyeem nws hauv kab lus "Yuav ua li cas ntxiv Tsev Kawm Ntawv Sab Nraud rau Arduino" uas kuv tau ua yav dhau los ".

Kauj Ruam 3: Ua Haujlwm Ntxiv

Muaj nuj nqi ntxiv
Muaj nuj nqi ntxiv

Tom qab ntxiv LedControl lub tsev qiv ntawv. Koj tuaj yeem siv cov haujlwm ntxiv los tswj hwm 7-Segment module.

Kev sib cav

addr - qhov chaw nyob ntawm cov zaub

tus lej - txoj haujlwm ntawm tus lej ntawm cov zaub (0..7) tus nqi - tus nqi kom pom. (0x00..0x0F)

dp teeb tsa tus lej zauv.

Muaj nuj nqi

setChar (ntxiv, tus lej, tus nqi.dp); // los tso saib tus nqi hom char rau 7-ntsis ASCII encoding

setDigit (ntxiv, tus lej, tus nqi, bolean dp); // los tso saib cov lej thiab cim hauv ib qho kev ua haujlwm setRow (ntxiv, lej, tus nqi, boolean dp); // kom pom cov khoom hauv tus lej xav tau

Yog xav paub ntxiv, thov nyeem ntawm no.

Kauj ruam 4: Upload Sketch

Rub tawm Sketch
Rub tawm Sketch

Kuv tau kos duab rau qhov kev sim ntawm 7-Segment module. Koj tuaj yeem luam cov cai hauv qab no, tom qab ntawv muab nws tso rau hauv koj daim duab.

// Peb ib txwm yuav tsum suav nrog lub tsev qiv ntawv

#suav nrog "LedControl.h"

/*

Tam sim no peb xav tau LedControl los ua haujlwm nrog. ***** Cov lej tus lej no tej zaum yuav tsis ua haujlwm nrog koj cov cuab yeej *****

tus pin 12 txuas nrog rau DataIn

tus pin 11 txuas nrog CLK

tus pin 10 txuas nrog LOAD

Peb tsuas muaj ib qho MAX72XX nkaus xwb.

*/

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

/ * peb ib txwm tos me ntsis ntawm kev hloov kho tshiab ntawm cov zaub */

unsigned ntev ncua sij hawm = 500;

void teeb tsa () {

/ * MAX72XX yog nyob rau hauv hom kev txuag hluav taws xob ntawm kev pib, peb yuav tsum tau hu xov tooj rau sawv daws */

lc.shutdown (0, tsis tseeb);

/ * Teeb qhov ci ci rau qhov nruab nrab qhov tseem ceeb */

lc.setIntensity (0, 8);

/ * thiab tshem cov zaub */

lc.clearDisplay (0);}

void nyob zoo () {

lc.setChar (0, 7, 'H', tsis tseeb);

lc.setChar (0, 6, 'E', cuav);

lc.setChar (0, 5, 'L', tsis tseeb);

lc.setChar (0, 4, 'L', tsis tseeb);

lc.setChar (0, 3, '0', tsis tseeb);

lc.setChar (0, 2, '.', tsis tseeb);

lc.setChar (0, 1, '.', tsis tseeb);

lc.setChar (0, 0, '.', tsis tseeb);

ncua (ncua sijhawm+1000);

lc.clearDisplay (0);

ncua (ncua sijhawm);

lc.setDigit (0, 7, 1, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 6, 2, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 5, 3, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 4, 4, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 3, 5, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 2, 6, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 1, 7, cuav);

ncua (ncua sijhawm);

lc.setDigit (0, 0, 8, cuav);

ncua (1500);

lc.clearDisplay (0);

ncua (ncua sijhawm);

}

void loop () {nyob zoo ();

}

Los yog rub cov ntawv hauv qab no:

Kauj ruam 5: Qhov tshwm sim

Txaus siab rau qhov tshwm sim.

Yog tias muaj lus nug tsuas yog sau lawv hauv kab lus.

Pom koj hauv kab lus tom ntej.

Pom zoo: