7 segment display, a'dan g'ye kadar adlandırılan yedi LED çubuktan (ve bir nokta LED'inden) oluşan ve 0-9 arası rakamları gösteren bir göstergedir. Ortak katotlu modellerde tüm LED'lerin eksisi, ortak anotlu modellerde artısı birleşiktir. Her segment Arduino'nun bir pinine bir ön dirençle (genellikle 220-330 Ω) bağlanır. Çok haneli göstergeler tarama (multiplexing) ile sürülür; TM1637 ya da MAX7219 gibi sürücü entegreleri bu işi yalnızca 2-3 kabloyla yapar.
Dijital saatler, sayaçlar, terazi göstergeleri ve sıcaklık ekranları... 7 segment display, sayısal bilgi göstermenin en okunaklı ve en ucuz yollarından biridir. Bu rehberde 7 segment göstergenin yapısını, ortak anot ve katot farkını, Arduino ile tek haneli ve çok haneli bağlantıyı anlatıyoruz.
7 segment display nedir?
7 segment display, rakamları oluşturmak için sekiz biçiminde dizilmiş yedi LED çubuktan (segment) ve genellikle bir ondalık nokta LED'inden oluşan göstergedir. Segmentler saat yönünde a, b, c, d, e, f harfleriyle, ortadaki çubuk g ile, nokta ise dp (DP) ile adlandırılır. Hangi segmentlerin yandığına göre 0-9 arası rakamlar ve bazı harfler gösterilir.
Ortak anot ve ortak katot farkı nedir?
Ortak katotlu göstergede tüm segmentlerin eksi ucu (katot) birleşiktir ve GND'ye bağlanır; segment, kendi ucuna artı verildiğinde yanar. Ortak anotlu göstergede tüm artı uçlar birleşiktir ve +V'ye bağlanır; segment, kendi ucu GND'ye çekildiğinde yanar. Kodda bu fark, segment pinlerine HIGH ya da LOW yazılmasıyla ifade edilir.
| Tür | Ortak uç | Segment yanması için | Örnek |
|---|---|---|---|
| Ortak katot | GND | Segment pini HIGH | 25 mm katot, 14 mm 3'lü katot |
| Ortak anot | +V | Segment pini LOW | 57 mm anot |
Hangi tür olduğu nasıl anlaşılır?
- Multimetreyi diyot kademesine alın.
- Göstergenin ortadaki (genellikle 3. ve 8.) bacağına siyah probu, herhangi bir diğer bacağa kırmızı probu değdirin.
- Bir segment hafifçe yanıyorsa gösterge ortak katottur.
- Yanmıyorsa probları ters çevirin; şimdi yanıyorsa ortak anottur.
Multimetrenin diyot kademesini multimetre rehberimizde anlattık.
Tek haneli gösterge Arduino'ya nasıl bağlanır?
- Ortak katotlu göstergenin ortak bacağını GND'ye bağlayın.
- a-g ve dp segmentlerini birer ön direnç (220-330 Ω) üzerinden Arduino'nun D2-D9 pinlerine bağlayın. Her segmente ayrı direnç konmalıdır; tek bir ortak direnç kullanılırsa yanan segment sayısına göre parlaklık değişir.
- Kodda her rakam için hangi segmentlerin yanacağını bir tabloda tutun. Örneğin "1" için yalnızca b ve c, "8" için tüm segmentler yanar.
- Rakamı göstermek için tablodaki değerleri ilgili pinlere yazın.
Direnç değerinin hesabı LED'lerle aynıdır; bkz. LED direnci hesaplama.
Çok haneli gösterge nasıl sürülür?
Çok haneli göstergelerde aynı segmentler tüm hanelerde birbirine bağlıdır; haneler çok hızlı sırayla tek tek yakılır (tarama, multiplexing) ve göz bunu aynı anda yanıyormuş gibi algılar. Her hanenin ortak ucu bir transistörle anahtarlanır, çünkü tüm segmentler yandığında ortak uçtan geçen akım bir Arduino pininin güvenle verebileceğinden fazla olabilir. Tarama kodu sürekli çalışmalıdır; kodda uzun delay() kullanılırsa göstergede titreme olur. Transistörün anahtar olarak kullanımını transistör rehberimizde anlattık.
TM1637 ve MAX7219 ile kolay kullanım
- TM1637: 4 haneli göstergeyi yalnızca 2 sinyal kablosuyla (CLK, DIO) sürer; tarama ve parlaklık entegre tarafından yapılır. Ör. TM1637 4 haneli LED saat modülü. Arduino'da TM1637Display kütüphanesiyle display.showNumberDec(1234); gibi tek satırla sayı gösterilir.
- MAX7219: 8 haneye kadar 7 segment ya da 8x8 nokta matris sürer, SPI benzeri 3 kabloyla bağlanır. Kayan yazı projeleri için MAX7219 4'ü 1 arada nokta matris modülü uygundur.
Büyük göstergelerde dikkat edilmesi gerekenler
57 mm ve 100 mm gibi büyük göstergelerde her segment birden fazla seri LED'den oluşur ve 5V ile yanmayabilir; segment başına gereken gerilim ve akım ürün belgesinde yazar. Bu göstergeler genellikle daha yüksek bir gerilimden transistör ya da sürücü entegresiyle sürülür. Küçük boyutlu hızlı projeler için 7 mm katot gösterge breadboard üzerinde kolay kullanılır.
Sık sorulan sorular
7 segment display kaç direnç ister?
Her segment için bir direnç kullanılır; nokta dahil 8 direnç gerekir. Böylece hangi rakam gösterilirse gösterilsin her segment aynı parlaklıkta yanar.
Ortak anot göstergeyi ortak katot gibi kullanabilir miyim?
Bağlantıyı ve kodu buna göre değiştirirseniz evet: ortak ucu +V'ye bağlayıp segmentleri LOW yaparak yakarsınız. TM1637 gibi modüller ise belirli bir türe göre tasarlanmıştır.
7 segment gösterge neden titriyor?
Tarama ile sürülen çok haneli göstergelerde tarama yeterince hızlı yapılmazsa ya da kodda uzun beklemeler varsa titreme görülür. Tarama döngüsünü hızlandırın ya da TM1637/MAX7219 gibi sürücü kullanın.
7 segment ile harf gösterilir mi?
A, b, C, d, E, F, H, L, P gibi bazı harfler gösterilebilir, ancak tüm harfler okunaklı olmaz. Metin göstermek için LCD, OLED ya da nokta matris daha uygundur.
7 segment göstergenin bacak sırası nasıl bulunur?
Ürün belgesindeki bacak şemasına bakılır ya da multimetrenin diyot kademesiyle her bacak denenerek hangi segmentin yandığı not edilir.
Özet
- 7 segment display, a-g segmentleri ve dp noktasından oluşur.
- Ortak katotta ortak uç GND'ye, ortak anotta +V'ye bağlanır.
- Her segmente ayrı 220-330 Ω ön direnç konur.
- Çok haneli göstergeler tarama ile ve transistörle sürülür.
- TM1637 ve MAX7219, göstergeyi 2-3 kabloyla kolayca sürer.