Satura rādītājs:

Skaitītājs, izmantojot MAX7221: 4 soļi
Skaitītājs, izmantojot MAX7221: 4 soļi

Video: Skaitītājs, izmantojot MAX7221: 4 soļi

Video: Skaitītājs, izmantojot MAX7221: 4 soļi
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, Jūlijs
Anonim
Skaitītājs, izmantojot MAX7221
Skaitītājs, izmantojot MAX7221

Skaitītāja izveide, kas palielinās, nospiežot pogu, izmantojot MAX7221.

1. darbība: detaļas

MAX7221 vai MAX7219

Slēdzis

4 7 segmentu displejs (parastais katods)

2 rezistori: 10k un 9.53k (es izmantoju 9.1k, un tas joprojām darbojas)

Arduino

2. solis: ķēdes izveide

Ķēdes veidošana
Ķēdes veidošana
Ķēdes veidošana
Ķēdes veidošana
Ķēdes veidošana
Ķēdes veidošana

Es pierakstīju tikai manis izmantotās tapas, pilnu tapas izkārtojumu varat atrast datu lapā vai es to pievienoju. Noteikti uzmeklējiet savu 7 segmentu displeju, jo tas, iespējams, atšķirsies no manējā, taču procedūra ir tāda pati.

1. Savienojiet MAX7221 ciparus 0 - 3 ar cipariem 1 - 4 displejā. MAX cipars 0 savienojas ar displeja ciparu 1 utt. Displeji ir vienkārši neparasti un sākas ar 1, nevis 0.

2. Savienojiet MAX7221 segmentus A - G ar segmentiem A - G displejā.

3. Piegādāt barošanu un zemējumu MAX. VCC iet uz tapu 19. 10k rezistors ir pievienots arī 19. un 18. tapai. Zeme iet uz 4. un 9. tapu.

4. MAX7221 sazinās ar Arduino, izmantojot SPI (Serial Peripheral Interface). Šajā gadījumā ir nepieciešami tikai 3 vadi, jo es neizmantoju MISO (Master In Slave Out). MAX7221 savienojiet 1. tapu (Din) ar Arduino, manā gadījumā es izmantoju tapu 12. Tas ir jūsu MOSI (Master Out Slave In) vai dati. MAX 12. tapa ir CS (mikroshēmas izvēles ievade), un šādi dati tiek ielādēti maiņu reģistrā, es to savienoju ar Arduino 9. tapu. Pēdējais savienojums ir CLK, kas ir MAX 13. tapa, es to savienoju ar Arduino 10. tapu.

Noteikti piegādājiet strāvu un zemi caur Arduino, izmantojot 5 voltus. Es saskāros ar problēmu, kad mans Arduino nesniedza manam dēlam pietiekamu jaudu.

Tas attiecas uz datu lapu MAX7221. Arī no kurienes nāk bildes.

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

3. solis: slēdzis

Slēdzis
Slēdzis

Es vadu slēdzi no shēmas iepriekš. Atrodams vietnē

Slēdža vadīšanai es izmantoju Arduino 8. tapu un 10 k rezistoru.

4. solis: kods

Lai ieslēgtu MAX7221, es izmantoju LedControl.h bibliotēku, kas atrodama vietnē GitHub, un to pamata kodu. Pēc tam es mainīju kodu, lai skaitītu no 0 līdz 9999, kad tiek nospiesta poga.

#include "LedControl.h"

int poga = 8;

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

void setup () {

pinMode (poga, INPUT);

lc.slēgšana (0, nepatiesa); // MAX7221 ir enerģijas taupīšanas režīmā, tāpēc mums tas ir jāatmodina

lc.setIntensity (0, 15); // Spilgtuma iestatīšana, maks. 15

lc.clearDisplay (0); // tīrīšanas displejs

}

void loop () {

int state = digitalRead (poga);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

kamēr (1) {

valsts = digitalRead (poga);

kamēr (štats == 1) {

valsts = digitalRead (poga);

lc.setDigit (0, 3, i, nepatiess);

i ++;

kavēšanās (100); // jūs varat sajaukt ar šo

ja (i == 10) {

i = 0;

j ++;

ja (j == 10) {

j = 0;

k ++;

ja (k == 10) {

k = 0;

l ++;

ja (l == 10) {

kamēr (1) {

lc.setRow (0, 0, 0x3E); // kad displejs sasniedza 9999, tas parādīs U - 1

lc.setRow (0, 1, 0x1); // Heksi decimālā vērtība

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

lc.setDigit (0, 3, 1, nepatiess);

}

}

lc.setDigit (0, 0, l, nepatiess);

}

lc.setDigit (0, 1, k, nepatiess);

}

lc.setDigit (0, 2, j, nepatiess);

}

}

}

}

Ieteicams: