Daftar Isi:

Penghitung Menggunakan MAX7221: 4 Langkah
Penghitung Menggunakan MAX7221: 4 Langkah

Video: Penghitung Menggunakan MAX7221: 4 Langkah

Video: Penghitung Menggunakan MAX7221: 4 Langkah
Video: Interfacing of MAX7221 IC with AVR Microcontroller using SPI Protocol 2024, November
Anonim
Penghitung Menggunakan MAX7221
Penghitung Menggunakan MAX7221

Membuat penghitung yang bertambah saat tombol ditekan menggunakan MAX7221.

Langkah 1: Bagian

MAX7221 atau MAX7219

Mengalihkan

4 Tampilan 7-Segmen (katoda umum)

2 Resistor: 10k dan 9.53k (saya menggunakan 9.1k dan masih berfungsi)

Arduino

Langkah 2: Membangun Sirkuit

Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit

Saya hanya menuliskan pin yang saya gunakan, Anda dapat menemukan tata letak pin lengkap pada lembar data atau saya lampirkan. Pastikan untuk mencari Tampilan 7-Segmen Anda karena mungkin akan berbeda dari milik saya tetapi prosedurnya sama.

1. Hubungkan Digit 0 - 3 pada MAX7221 ke Digit 1 - 4 pada tampilan. Digit MAX 0 terhubung ke tampilan digit 1 dll. Tampilan tidak konvensional dan mulai dari 1, bukan 0.

2. Hubungkan Segmen A - G pada MAX7221 ke Segmen A - G pada tampilan.

3. Pasokan daya dan ground ke MAX. VCC menuju ke pin 19. Resistor 10k juga terhubung ke pin 19 dan 18. Ground menuju ke pin 4 dan 9.

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

Pastikan untuk mensuplai daya dan ground melalui Arduino menggunakan 5 volt. Saya mengalami masalah di mana Arduino saya tidak memberikan daya yang cukup pada papan saya.

Ini untuk Lembar Data MAX7221. Juga dari mana gambar-gambar itu berasal.

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

Langkah 3: Saklar

Tombol
Tombol

Saya menghubungkan sakelar dari Skema di atas. Ditemukan di

Saya menggunakan pin 8 pada Arduino untuk mengontrol sakelar, dan resistor 10k.

Langkah 4: Kode

Saya menggunakan perpustakaan LedControl.h yang ditemukan di GitHub, dan kode dasarnya untuk mengaktifkan MAX7221. Saya kemudian memodifikasi kode untuk menghitung dari 0 - 9999 saat tombol ditekan.

#sertakan "LedControl.h"

tombol int = 8;

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

batalkan pengaturan() {

pinMode(tombol, INPUT);

lc.shutdown(0, salah); // MAX7221 dalam mode hemat daya, jadi kita harus membangunkannya

lc.setIntensity(0, 15); // Mengatur kecerahan, maks 15

lc.clearDisplay(0); // membersihkan tampilan

}

lingkaran kosong(){

int status = digitalRead(tombol);

int saya = 0;

int j = 0;

int k = 0;

int l = 0;

sementara(1){

status = digitalRead(tombol);

while(status == 1){

status = digitalRead(tombol);

lc.setDigit(0, 3, saya, salah);

saya++;

penundaan(100); // kamu bisa main-main dengan ini

jika(saya == 10){

saya = 0;

j++;

jika(j == 10){

j = 0;

k++;

jika(k == 10){

k = 0;

l++;

jika(l == 10){

sementara(1){

lc.setRow(0, 0, 0x3E); // ketika tampilan mencapai 9999 itu akan menampilkan U -- 1

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

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

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

}

}

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

}

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

}

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

}

}

}

}

Direkomendasikan: