Talaan ng mga Nilalaman:

Arduino MAX7219 7-Segment ng Tutorial sa Pagpapakita: 5 Mga Hakbang
Arduino MAX7219 7-Segment ng Tutorial sa Pagpapakita: 5 Mga Hakbang

Video: Arduino MAX7219 7-Segment ng Tutorial sa Pagpapakita: 5 Mga Hakbang

Video: Arduino MAX7219 7-Segment ng Tutorial sa Pagpapakita: 5 Mga Hakbang
Video: LDmicro 18: GPS-будильник Ublox NEO-6M (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Hulyo
Anonim
Arduino MAX7219 7-Segment na Tutorial sa Pagpapakita
Arduino MAX7219 7-Segment na Tutorial sa Pagpapakita

Ang MAX7219 ay isang IC na ginagamit upang himukin ang 7-segment LEDs (hanggang sa 8 digit), mga block display (bar display), at 64 na indibidwal na LED na comon cathode. Upang makipag-usap sa isang microcontroller, ginagamit ng MAX7219 ang SPI system na komunikasyon. Kaya upang humimok ng 64 LEDs kailangan lamang ng 3 port ng microcontroller.

Sa artikulong ito ipapakita ko sa iyo kung paano gumamit ng isang 7-Segement module na gumagamit ng IC MAX7219 bilang driver.

Mga kinakailangang sangkap:

  • MAX7219 7-Segment Module
  • Arduino Nano
  • wire Jumper
  • USB mini

Kinakailangan Library:

LedControl

Sa tutorial na ito ginagamit ko ang Arduino Nano board. Kung hindi mo pa nagamit ito. Iminumungkahi kong basahin ang aking nakaraang artikulo tungkol sa "Paano Gumamit ng Arduino Nano".

Hakbang 1: Ipunin ang Lahat ng Mga Bahagi

Ipunin ang Lahat ng Mga Bahagi
Ipunin ang Lahat ng Mga Bahagi

Ikonekta ang Arduino board sa module na 7-Segment. Tingnan ang larawan o tagubilin na isinulat ko sa ibaba:

Arduino hanggang 7-Segment

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS / LOAD

Hakbang 2: Magdagdag ng Library

Magdagdag ng Library
Magdagdag ng Library

Matapos makumpleto ang circuit. Idagdag ang librong "LedControl" sa Arduino IDE.

Upang magdagdag ng isang silid-aklatan sa Arduino, maaari mo itong basahin sa artikulong "Paano Magdagdag ng isang Panlabas na Library sa Arduino" na ginawa ko nang mas maaga ".

Hakbang 3: Karagdagang Mga Pag-andar

Karagdagang Mga Pag-andar
Karagdagang Mga Pag-andar

Matapos idagdag ang LedControl library. Maaari kang gumamit ng mga karagdagang pag-andar upang makontrol ang module na 7-Segment.

Argumento

addr - address ng display

digit - ang posisyon ng digit sa display (0..7) halaga - ang halagang ipapakita. (0x00..0x0F)

itinakda ng dp ang decimal point.

Pag-andar

setChar (addr, digit, halaga.dp); // upang ipakita ang halaga ng uri ng char para sa 7-bit na pag-encode ng ASCII

setDigit (addr, digit, halaga, bolean dp); // upang ipakita ang mga digit at character sa isang pagpapaandar na setRow (addr, digit, halaga, boolean dp); // upang ipakita ang bagay sa nais na digit

Para sa karagdagang detalye, mangyaring basahin dito.

Hakbang 4: Mag-upload ng Sketch

Mag-upload ng Sketch
Mag-upload ng Sketch

Nag-sketch ako para sa pagsubok ng modyul na 7-Segment na ito. Maaari mong kopyahin ang code sa ibaba, pagkatapos ay i-paste ito sa iyong sketch.

// Palagi naming kailangang isama ang library

# isama ang "LedControl.h"

/*

Ngayon kailangan namin ng isang LedControl upang gumana. ***** Ang mga numero ng pin na ito ay malamang na hindi gagana sa iyong hardware *****

Ang pin 12 ay konektado sa DataIn

Ang pin 11 ay konektado sa CLK

Ang pin 10 ay konektado sa LOAD

Mayroon lamang kaming solong MAX72XX.

*/

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

/ * Palagi kaming naghihintay nang kaunti sa pagitan ng mga pag-update ng display * /

unsigned mahabang oras ng pagkaantala = 500;

walang bisa ang pag-setup () {

/ * Ang MAX72XX ay nasa mode na nagse-save ng kuryente sa pagsisimula, kailangan naming gumawa ng isang tawag sa paggising * /

lc.shutdown (0, false);

/ * Itakda ang ningning sa isang katamtamang halaga * /

lc.setIntensity (0, 8);

/ * at i-clear ang display * /

lc.clearDisplay (0);}

walang bisa hello () {

lc.setChar (0, 7, 'H', hindi totoo);

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

lc.setChar (0, 5, 'L', hindi totoo);

lc.setChar (0, 4, 'L', hindi totoo);

lc.setChar (0, 3, '0', false);

lc.setChar (0, 2, '.', false);

lc.setChar (0, 1, '.', false);

lc.setChar (0, 0, '.', false);

pagkaantala (pagkaantala + 1000);

lc.clearDisplay (0);

antala (pagkaantala ng oras);

lc.setDigit (0, 7, 1, hindi totoo);

antala (pagkaantala ng oras);

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

antala (pagkaantala ng oras);

lc.setDigit (0, 5, 3, hindi totoo);

antala (pagkaantala ng oras);

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

antala (pagkaantala ng oras);

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

antala (pagkaantala ng oras);

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

antala (pagkaantala ng oras);

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

antala (pagkaantala ng oras);

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

pagkaantala (1500);

lc.clearDisplay (0);

antala (pagkaantala ng oras);

}

void loop () {hello ();

}

O i-download ang file sa ibaba:

Hakbang 5: Resulta

Tangkilikin ang resulta.

Kung may mga katanungan isulat lamang ang mga ito sa haligi ng mga komento.

Kita tayo sa susunod na artikulo.

Inirerekumendang: