Isi kandungan:

Kaunter Menggunakan Langkah MAX7221: 4
Kaunter Menggunakan Langkah MAX7221: 4

Video: Kaunter Menggunakan Langkah MAX7221: 4

Video: Kaunter Menggunakan Langkah MAX7221: 4
Video: MAX7219 Dot Matrix Frequency Counter 2024, November
Anonim
Kaunter Menggunakan MAX7221
Kaunter Menggunakan MAX7221

Membuat pembilang yang bertambah apabila butang ditekan menggunakan MAX7221.

Langkah 1: Bahagian

MAX7221 atau MAX7219

Tukar

4 Paparan 7-Segmen (katod biasa)

2 Perintang: 10k dan 9.53k (Saya menggunakan 9.1k dan ia masih berfungsi)

Arduino

Langkah 2: Membina Litar

Membina Litar
Membina Litar
Membina Litar
Membina Litar
Membina Litar
Membina Litar

Saya hanya menuliskan pin yang saya gunakan, anda boleh menemui susun atur pin yang lengkap pada lembaran data atau saya melampirkannya. Pastikan untuk melihat Paparan 7-Segmen anda kerana mungkin akan berbeza dengan paparan saya tetapi prosedurnya sama.

1. Sambungkan Digit 0 - 3 pada MAX7221 ke Digit 1 - 4 pada paparan. Angka MAX 0 menyambung ke digit paparan 1 dan lain-lain. Paparan hanya tidak konvensional dan bermula pada 1 dan bukannya 0.

2. Sambungkan Segmen A - G pada MAX7221 ke Segmen A - G pada paparan.

3. Bekalkan kuasa dan tanah ke MAX. VCC menuju ke pin 19. Perintang 10k juga disambungkan ke pin 19 dan 18. Ground menuju ke pin 4 dan 9.

4. MAX7221 berkomunikasi dengan Arduino melalui SPI (Serial Peripheral Interface). Dalam kes ini, hanya 3 wayar yang diperlukan kerana saya tidak menggunakan MISO (Master In Slave Out). Pada MAX7221 sambungkan pin 1 (Din) ke Arduino, dalam kes saya, saya menggunakan pin 12. Ini adalah MOSI anda (Master Out Slave In) atau data. Pin 12 pada MAX adalah CS (Chip Select Input) dan bagaimana data dimuat ke dalam Shift Register, saya menghubungkannya ke pin 9 di Arduino. Sambungan terakhir adalah CLK yang pin 13 pada MAX, saya menghubungkannya ke pin 10 di Arduino.

Pastikan untuk menyalurkan kuasa dan tanah melalui Arduino menggunakan 5 volt. Saya menghadapi masalah di mana Arduino saya tidak memberikan kuasa yang cukup kepada papan saya.

Ini untuk Lembaran Data MAX7221. Juga dari mana datangnya gambar.

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

Langkah 3: Suis

Suis
Suis

Saya memasang suis dari Skema di atas. Dijumpai di

Saya menggunakan pin 8 pada Arduino untuk mengawal suis, dan perintang 10k.

Langkah 4: Kod

Saya menggunakan perpustakaan LedControl.h yang terdapat di GitHub, dan kod asas mereka untuk menghidupkan MAX7221. Saya kemudian mengubah kod untuk dikira dari 0 - 9999 ketika butang ditekan.

#sertakan "LedControl.h"

butang int = 8;

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

batal persediaan () {

pinMode (butang, INPUT);

lc.shutdown (0, salah); // MAX7221 dalam mod penjimatan kuasa, jadi kita harus membangunkannya

lc.setIntensity (0, 15); // Menetapkan kecerahan, maksimum 15

lc.clearDisplay (0); // membersihkan paparan

}

gelung kosong () {

int state = digitalRead (butang);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

semasa (1) {

nyatakan = digitalRead (butang);

sementara (nyatakan == 1) {

nyatakan = digitalRead (butang);

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

saya ++;

kelewatan (100); // anda boleh bermain-main dengan ini

jika (i == 10) {

i = 0;

j ++;

jika (j == 10) {

j = 0;

k ++;

jika (k == 10) {

k = 0;

l ++;

jika (l == 10) {

semasa (1) {

lc.setRow (0, 0, 0x3E); // apabila paparan mencapai 9999, ia akan memaparkan U - 1

lc.setRow (0, 1, 0x1); // Dalam nilai perpuluhan Hexi

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

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

}

}

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

}

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

}

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

}

}

}

}

Disyorkan: