
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13

MAX7221'i kullanarak bir düğmeye basıldığında artan bir sayaç oluşturma.
Adım 1: Parçalar
MAX7221 veya MAX7219
Değiştirmek
4 7-Segment Ekran (ortak katot)
2 Direnç: 10k ve 9.53k (9.1k kullandım ve hala çalışıyor)
Arduino
Adım 2: Devreyi Kurmak



Ben sadece kullandığım pinleri yazdım, pin düzeninin tamamını datasheet'te bulabilirsin ya da ben ekledim. 7-Segment Ekranınıza baktığınızdan emin olun çünkü muhtemelen benimkinden farklı olacaktır ancak prosedür aynıdır.
1. MAX7221'deki 0 - 3 Rakamlarını ekrandaki 1 - 4 Rakamlarına bağlayın. MAX basamağı 0, ekran basamağı 1'e vb. bağlanır. Ekranlar alışılmışın dışındadır ve 0 yerine 1'den başlar.
2. MAX7221'deki A - G Segmentlerini ekrandaki Segment A - G'ye bağlayın.
3. MAX'a güç ve toprak sağlayın. VCC pin 19'a gider. 10k direnç de pin 19 ve 18'e bağlanır. Toprak 4 ve 9 pinlerine gider.
4. MAX7221, Arduino ile SPI (Seri Çevre Birimi Arayüzü) aracılığıyla iletişim kurar. Bu durumda MISO (Master In Slave Out) kullanmadığım için sadece 3 kabloya ihtiyaç var. MAX7221'de pin 1'i (Din) Arduino'ya bağlayın, benim durumumda pin 12'yi kullandım. Bu sizin MOSI'niz (Master Out Slave In) veya verileriniz. MAX üzerindeki Pin 12 CS'dir (Chip Select Input) ve verilerin Shift Register'a nasıl yüklendiğidir, bunu Arduino'daki pin 9'a bağladım. Son bağlantı MAX üzerindeki pin 13 olan CLK'dır, bunu Arduino'daki pin 10'a bağladım.
5 volt kullanarak Arduino üzerinden güç ve toprak sağladığınızdan emin olun. Arduino'mun kartıma yeterince güç vermediği bir problemle karşılaştım.
Bu, MAX7221 Veri Sayfası içindir. Ayrıca resimlerin nereden geldiği.
www.mouser.com/datasheet/2/256/max7219-max…
Adım 3: Anahtar

Anahtarı yukarıdaki şemadan bağladım. https://www.arduino.cc/en/tutorial/button adresinde bulunur.
Anahtarı kontrol etmek için Arduino'daki pin 8'i ve 10k'lık bir direnç kullandım.
4. Adım: Kod
MAX7221'i açmak için GitHub'da bulunan LedControl.h kitaplığını ve temel kodlarını kullandım. Daha sonra düğmeye basıldığında kodu 0 - 9999 arasında sayacak şekilde değiştirdim.
#include "LedControl.h"
int düğmesi = 8;
LedControl lc=LedControl(12, 10, 9, 1);
geçersiz kurulum() {
pinMode(düğme, GİRİŞ);
lc.shutdown(0, yanlış); // MAX7221 güç tasarrufu modunda, bu yüzden onu uyandırmamız gerekiyor
lc.setYoğunluk(0, 15); // Parlaklık ayarı, maksimum 15
lc.clearDisplay(0); // ekranı temizleme
}
boşluk döngüsü(){
int durum = digitalRead(düğme);
int ben = 0;
int j = 0;
int k = 0;
int l = 0;
süre(1){
durum = digitalRead(düğme);
while(durum == 1){
durum = digitalRead(düğme);
lc.setDigit(0, 3, ben, yanlış);
ben++;
gecikme(100); // bununla uğraşabilirsin
if(i == 10){
ben = 0;
j++;
if(j == 10){
j = 0;
k++;
if(k == 10){
k = 0;
l++;
if(l == 10){
süre(1){
lc.setRow(0, 0, 0x3E); // ekran 9999'a ulaştığında U -- 1 gösterecek
lc.setRow(0, 1, 0x1); // Onaltılık değerde
lc.setRow(0, 2, 0x1);
lc.setDigit(0, 3, 1, yanlış);
}
}
lc.setDigit(0, 0, l, yanlış);
}
lc.setDigit(0, 1, k, yanlış);
}
lc.setDigit(0, 2, j, yanlış);
}
}
}
}
Önerilen:
Merdiven Diyagramında Sayaç Nasıl Kullanılır? - Delta WPLSoft: 15 Adım

Merdiven Diyagramında Sayaç Nasıl Kullanılır? | Delta WPLSoft: Bu eğitimde, örnek olarak gerçek zamanlı uygulamalarda sayaçların nasıl kullanılacağını gösteriyoruz
SAYAÇ SAAT: 5 Adım (Resimli)

SAYAÇ SAAT: Saat yapmak için Neopixel Ring 60 Led almayı planlamıştım ama maalesef alamamıştım. Sonunda Neopixel Ring 35 Leds & saati, dakikayı ve dakikayı gösterebilen bir internet saati yapmanın basit bir yolunu buldu; th ile ikinci
Arduino RMS Sayaç Modülü: 3 Adım

Arduino RMS Sayaç Modülü: Bu, TrueRMS voltajını ölçmek için küçük bir Arduino modülüdür. Sayaç, mV cinsinden rms voltajını rakamlarla ve bir analog seviye ölçeğiyle gösterir. Modül bir "yerleşik" olarak tasarlanmıştır; sinyal izleme modülü
Meşgul Sayaç: 3 Adım

Meşgul Ölçer: Bu Eğitilebilir Kitap, insanlara ne kadar meşgul olduğunuzu söyleyen ve meşgul olduğunuzda insanları uzaklaştıran bir makinenin nasıl yapıldığını öğretecektir. Bu makine, ne kadar meşgul olduğunuzu göstermenize olanak sağlar: meşgul değil, biraz meşgul, ve meşgul. Seviyeler çok
Basmalı Düğmeyi Kullanan Sayaç - Tinker Cad: 3 Adım

Basmalı Düğmeyi Kullanan Sayaç | Tinker Cad: Bir düğmeyi çalıştırdıktan sonra, genellikle düğmeye kaç kez basıldığına bağlı olarak bazı işlemler yapmak istersiniz. Bunu yapmak için, düğmenin ne zaman kapalı konumdan açık duruma geçtiğini bilmeniz ve bu durum değişikliğinin kaç kez gerçekleştiğini saymanız gerekir. NS