Seven Segment Display ile Saat Yapımı

Seven Segment Display ile Saat Yapımı

Bu kılavuzda, ucuz ve kolay bir yolu olan yedi segmentli gösterge kullanarak bir saat nasıl yapılacağını öğreneceksiniz Hem eğlenceli hem de öğretici bir proje!

Seven Segment Display ile Saat Yapımı

Bu yazıda, Arduino kullanarak seven segment displaylerle bir saat yapmak için gerekli malzemeler, seven segment displaylerin ne olduğu ve nasıl çalıştığı, anot ve katot seven segment display’ler arasındaki fark, Arduino ve DS1307 gerçek zamanlı saat modülü nedir gibi konularda bilgi verilecektir. Ayrıca, projenin adım adım nasıl yapılacağı da açıklanacaktır.

Bu projeyi yapmak için ihtiyacınız olan malzemeler arasında Arduino, 4 adet 7 segment display, DS1307 gerçek zamanlı saat modülü, 4 adet 220 ohm direnç ve panço telleri yer almaktadır. Seven segment display, basit sayı ve harf gösterimleri için kullanılan bir elektronik bileşendir. Her bir segment, bir LED veya bir grup LED tarafından temsil edilir ve belirli bir numaranın veya harfin görüntülenmesi sağlanır. Anot seven segment displaylerde, LED'lerin anotları tavana bağlanırken, katot seven segment displaylerde LED'leri katotları toprağa bağlanır.

  • Arduino ile DS1307 modülü arasındaki bağlantılar yapılmalıdır.
  • 7 segment displaylerin anot pinleri Arduino'ya bağlanmalıdır.
  • Panço telleri ve dirençler kullanılarak bağlantılar tamamlanmalıdır.
  • Kod yazılmalı ve Arduino'ya yüklenmelidir.
  • Saatin güç kaynağına bağlanarak kullanıma hazır hale getirilmelidir.

Kod, DS1307 modülünden tarih ve zaman bilgilerini alır ve belirli bir şekilde 7 segment displaylere gönderilir. Bu sayede, saatin doğru zamanı görüntülenir. Bu proje, seven segment displayleri kullanmayı öğrenmek ve bir elektronik devre yapımı konusunda temel deneyim kazanmak için iyi bir örnek olabilir. Bu adımları takip ederek, siz de kendi seven segment display saatinizi yapabilirsiniz.


Gerekli Malzemeler

Bu proje için gerekli malzemeler oldukça basit. İlk olarak, bir Arduino kartına ihtiyacınız olacak. Ayrıca, projede kullanmak üzere 4 adet 7 segment display gerekiyor. Bu displayler, üç haneli bir saat görüntülemek için kullanılacak.

Buna ek olarak, DS1307 gerçek zamanlı saat modülüne ihtiyacınız olacak. Bu modül, saate doğru zamanı vermek için kullanılacak olan tarih ve zaman bilgilerini sağlar. Projeyi tamamlamak için 4 adet 220 ohm direnç de gerekiyor.

Son olarak, panço telleri, bağlantıları tamamlamak için kullanılacak.


Seven Segment Display Nedir?

Seven segment display, elektronik cihazlarda basit sayı ve harf gösterimleri için kullanılan bir bileşendir. Adından da anlaşılacağı gibi, 7 farklı segment içerir. Segmentler, LED'ler veya bir grup LED tarafından temsil edilir. Bu nedenle, her bir segmentin belirli bir numara veya harfi görüntülemesi mümkündür.

Birçok elektronik cihazda kullanılan seven segment displayler, özellikle saatlerde yaygın olarak kullanılır. Çünkü saatin tarih ve saat bilgilerinin gösterilmesi için basit ve etkili bir yöntem sağlar. Ayrıca, seven segment displaylerin kullanımı çok çeşitlidir. Hem katot hem de anot seven segment displayler kullanılabilir.


Seven Segment Display Nasıl Çalışır?

Seven Segment Display, her bir segmentin bir LED veya bir grup LED tarafından temsil edildiği bir bileşendir. Bu, her bir segmentin açık veya kapalı olmasını kontrol etmek için yüksek ve düşük voltajlar kullanılarak gerçekleştirilir. Segmentlerin açık veya kapalı olması, belirli bir numaranın veya harfin görüntülenmesini sağlar.

Her bir segment ayrı ayrı kontrol edilebildiğinden, her bir sayı veya harf, doğru segmentlerin kontrol edilmesiyle görüntülenebilir. Örneğin, bir "8" hattı, her üç yatay segmentin ve her iki dikey segmentin açık olmasını gerektirir.

Seven Segment Displayler, anot ve katot olmak üzere iki farklı türde çalışır. Anot seven segment displaylerde, LED'lerin anotları tavana bağlanırken, katot seven segment displaylerde LED'leri katotları toprağa bağlanır. Bu nedenle, anot seven segment displaylerde, yüksek voltajlar sırasıyla segmentlerin üzerine uygulanırken, katot seven segment displaylerde, düşük voltajlar uygulanarak segmentler açılır.


Anot ve Katot Seven Segment Display'ler

Seven segment display'ler, elektronik cihazlarda sıklıkla kullanılan bileşenlerdir. Çalışma prensipleri, LED'ler aracılığıyla sayısal veya alfanümerik karakterlerin gösterilmesiyle işler. Ancak seven segment display'lerin iki farklı çalışma türü bulunur: anot ve katot.

Anot seven segment display'lerde, LED'lerin anotları tavana bağlanırken, katot seven segment display'lerde LED'leri katotları toprağa bağlanır. Anot seven segment display'lerde, belirli bir karakterin gösterilebilmesi için ilgili segmentin anodu pozitif volta bağlanırken, katot seven segment display'lerde segmentlerin katotları negatif volta bağlanır. Bu yüzden, anot ve katot seven segment display'ler birbirinden farklı sinyal ve bağlantı yöntemleri kullanarak çalışır.


Arduino Nedir?

Arduino, basit ve karmaşık elektronik projeleri gerçekleştirmek için tasarlanmış bir mikrokontrol platformudur. Arduino, prototip oluşturma ve hızlı geliştirme için geniş bir destek sunar. Arduino yazılımı, Arduino kartı tarafından çalıştırılan bir mikrodenetleyiciye program yüklemek için kullanılır.

Arduino, birçok elektronik projede kullanılmaktadır ve birçok sensör, motor, LED ve diğer bileşenleri kontrol etmek için kullanılabilir. Ayrıca, kullanıcıların kolayca programlanabilmesi için tasarlanmış bir arayüze sahiptir.

Arduino, açık kaynak kodlu bir platformdur ve konfigürasyonu basit bir şekilde ayarlanabildiğinden, özellikle eğitim amaçlı projelerde oldukça sık kullanılmaktadır. Arduino, başlangıç seviyesinden ileri seviyeye kadar elektronik projeler yapmak isteyen herkes için uygundur.


DS1307 Gerçek Zamanlı Saat Modülü Nedir?

DS1307 gerçek zamanlı saat modülü, elektronik cihazlarla kullanılmak üzere tasarlanmıştır ve gerçek zamanlı tarih ve saat işlevleri sağlar. Bu modül, RTC yani "Real Time Clock" olarak da adlandırılır ve çeşitli elektronik projelerde çok kullanışlıdır.

Bu modül, bir mikrodenetleyici olan Arduino gibi cihazlarla kullanılabilir ve saatin doğru zamanı tutulabilir. DS1307, içinde bulunduğu cihaza zamanı ve tarihi sağlayan bir kristal osilatör içerir. Bu modül, arduino gibi mikrokontrol ile yapılan projektlerde, saat gibi gerçek zamanlı bir bileşenin yanı sıra, zamanlı ölçüm cihazları gibi birçok farklı projede de kullanılabilir.

Bu modül, I2C protokolünü kullanarak, bir arduino gibi cihazlara kolayca bağlanabilir. DS1307, gerçek zamanlı saatin dışında, büyük bir tarih aralığını yönetebilir. Tarih bilgileri, gün, ay ve yıl olarak depolanabilir.


Projeyi Yapmak İçin Adımlar

Bu projeyi yapmak için öncelikle Arduino ve DS1307 modülü arasındaki bağlantıları yapmanız gerekiyor. Bunun için öncelikle DS1307 modülüne ait VCC pinini Arduino'nun 5V pinine bağlayın ve GND pinini de Arduino'nun GND pinine bağlayın. Ardından SDA ve SCL pinlerini de Arduino'nun A4 ve A5 pinlerine bağlayın. Bu işlemleri gerçekleştirdikten sonra, DS1307 modülünü Arduino'ya bağlamış olacaksınız.

İkinci adım olarak, 7 segment displaylerin anot pinlerini Arduino'ya bağlamalısınız. Bunun için her bir 7 segment displayin anot pinlerini, 220 ohm dirençlerle birlikte birbirine bağlayarak, her bir bağlantının ardından bir diğer 7 segment displayin anot pinine bağlayın. Toplamda 4 adet 7 segment display olduğundan, bu işlemi 3 kez tekrarlayın. Son olarak, 7 segment displaylerin son anot pinini, Arduino'nun D7, D6, D5 ve D4 pinlerine bağlayın.

Üçüncü adım olarak, panço tellerini ve dirençleri kullanarak bağlantıları tamamlayın. Bunun için Arduino'nun D2 ve D3 pinlerini, DS1307 modülünün SDA ve SCL pinlerine bağlayın. Ayrıca 7 segment displaylerin katot pinlerini de, 220 ohm dirençler aracılığıyla Arduino'nun GND pinine bağlayın.

Dördüncü adım olarak, kodu yazın ve Arduino'ya yükleyin. Bu işlem için Arduino IDE programını kullanabilirsiniz. Kodu yazarken, DS1307 modülünden tarih ve zaman bilgilerini alacak şekilde ayarlayın ve ardından bu bilgileri 7 segment displaylere göndererek saatin doğru zamanı görüntülenmesini sağlayın.

Son adım olarak, projeyi bir güç kaynağına bağlayın ve saatinizi kullanmaya başlayın. Bu işlem için 9V'luk bir pil veya mikro USB kablosu kullanabilirsiniz. Tüm adımları tamamladıktan sonra, artık kendi seven segmentli saatinizi yapmış olacaksınız.

2. 7 segment displaylerin anot pinlerini Arduino'ya bağlayın.

Seven segment displaylerin anot pinleri, 7 segment göstergesinin farklı rakamlarını temsil eden LED'lerin daha yüksek bir voltaj gerektirmesi nedeniyle birbirine bağlanmalıdır. Bu nedenle, anot pinleri ayırt etmek için farklı renklerde panço telleri kullanılabilir.

7 segment displaylerin anot pinleri, Arduino'nun dijital çıkış pinlerine bağlanır. Her bir LED segmenti için Arduino'nun bir dijital çıkış pini kullanılır. Bağlantı yapmak için, her bir anot pinini bir direnç ile birlikte Arduino'nun dijital çıkış pinlerine bağlayın. Daha sonra, dijital pini HIGH'a çıkarmak, belirli bir rakamın gösterilmesini sağlar.

Anot Pinleri (Gösterge) Dijital Çıkış Pinleri (Arduino)
A (segment 1) Dijital pin 2
B (segment 2) Dijital pin 3
C (segment 3) Dijital pin 4
D (segment 4) Dijital pin 5
E (segment 5) Dijital pin 6
F (segment 6) Dijital pin 7
G (segment 7) Dijital pin 8

Bu şekilde, Arduino ile seven segment displaylerin bağlantısının tamamlanması sağlanır. Artık, projenin devamında kod yazarak, saatiniz için gerekli tarih ve zaman bilgilerini DS1307 gerçek zamanlı saat modülünden alabilir ve doğru bir şekilde seven segment displaylere gönderebilirsiniz.

3. Panço telleri ve dirençleri kullanarak bağlantıları tamamlayın.

3. Panço telleri ve dirençleri kullanarak bağlantıları tamamlayın.

Arduino ve 7 segment displayler arasında bağlantıları yaptıktan sonra, panço telleri ve 220 ohm dirençleri kullanarak bağlantıları tamamlayabilirsiniz. Her bir 7 segment display için birer tane olmak üzere 4 adet direnç kullanmanız gerekmektedir. Bağlantıları doğru yapmak için şu adımları takip edebilirsiniz:

  • Anot pinleri Arduino'nun dijital pinleriyle bağlayın. Anot pinleri üzerindeki işaretlerle doğru bağlandığından emin olun.
  • Her bir anot pinini bir dirençle bağlayın ve diğer ucu breadboard üzerindeki sütunlardan birine bağlayın.
  • Her bir segmentin katot pinlerini birbirine bağlayın. Ardından, segmentlerin ortak katot pinini Arduino'nun GND pinine bağlayın.
  • DS1307 modülünün SDA pinini Arduino'nun A4 pinine, SCL pinini ise A5 pinine bağlayın.
  • Projenizi gerçekleştirmek için kullanacağınız güç kaynağını 7 segment displaylere bağlayın.

Yukarıda belirtilen adımları takip ederek bağlantılarınızı tamamladıktan sonra, doğru bir şekilde programlamanız halinde saat işlevini yerine getirerek zamanı 7 segment displaylerde görüntüleyebilirsiniz.

4. Kodu yazın ve Arduino'ya yükleyin.

Projeyi tamamlayabilmek için son adım, kodu yazıp Arduino'ya yüklemektir. Bu adım oldukça önemlidir çünkü Arduino, gerçek zamanlı saate dair bilgileri toplayacak ve 7 segment displaylere gönderecektir.

Öncelikle, Arduino yazılımını indirip yüklemeniz gerekmektedir. Sonrasında, Arduino Uyumlu IDE’yi açın ve yeni bir dosya açarak kodlama moduna geçin. İlk olarak, aşağıdaki kodu yazın:

#include #include RTC_DS1307 RTC;

Bu kodu yazdıktan sonra, switch-case döngüsünü Arduino'ya yüklemelisiniz:

void setup (){Wire.begin ();RTC.begin ();}void loop (){DateTime now = RTC.now ();int hour = now.hour ();if (hour > 12) hour = hour -12;int display1 = hour / 10;int display2 = hour % 10;int display3 = now.minute() / 10;int display4 = now.minute() % 10;delay (1000);}

Bu kod, gerçek dünya zamanını Arduino'dan alacak ve ardından saatlerinizi doğru şekilde 7 segment displaylerle gösterecektir.

En son, Arduino'ya yüklemek istediğiniz kodu seçin. Ardından, USB kablosu aracılığıyla Arduino'ya bağlanın ve yükleyin. Tamamlandığında, saat artık doğru olarak gösterilmelidir.

Ayrıca, kodunuzu güncellemeniz gerektiğinde tek yapmanız gereken, değişiklikleri kaydetmek ve yüklemek için yeniden bağlanmaktır.

5. Bir güç kaynağına bağlayın ve saatinizi kullanmaya başlayın.

Projenin son aşaması, saati bir güç kaynağına bağlamak ve kullanmaya başlamaktır. Bunun için, Arduino'ya bir USB kablosu bağlayın ve kabloyu bir bilgisayar veya USB şarj adaptörüne bağlayın.

Güç kaynağı bağlandıktan sonra saatiniz otomatik olarak zamanı göstermeye başlayacaktır. Zaman bilgileri gerçek zamanlı saat modülünden alındığı için, saatin sürekli olarak doğru zamanı göstermesi sağlanır.

Eğer isterseniz, saatinizin tasarımını ve görüntüsünü kişiselleştirebilirsiniz. Bu projede kullanılan 7 segment displaylerin farklı renk ve boyutları vardır, böylece saatiniz farklı bir görünüm alabilir. Aynı zamanda, Arduino'nun programlama işlevleri sayesinde, saatinizin başka özellikleri de olabilir, örneğin alarm veya tarih gösterimi gibi.

Proje tamamlandığında, saatiniz birçok yerde kullanılabilir. Ofis masanızda, evinizde veya hatta arabanızda kullanabilirsiniz. Böylece hem bir saat hem de bir gösterişli elektronik proje sahibi olabilirsiniz.


Kod Nasıl Çalışır?

Bu projede kullanılan kod, DS1307 modülünden gerçek zamanlı saat ve tarih bilgilerini alır. Bu bilgiler daha sonra, belirli bir şekilde programlama yapılarak 7 segment displaylerine gönderilir. Bu sayede saatin doğru zamanı ve tarihi 7 segment displaylerde görüntülenir.

Kodun amacı, DS1307 modülünden alınan tarihi ve zamanı işleyerek, 7 segment displaylerin doğru şekilde ayarlanmasını sağlamaktır. Bunun için, kodda bir takım programlama yapıları kullanılır. Örneğin, saat, dakika ve saniye bilgileri ayrı ayrı belirlenir ve daha sonra bu bilgiler sırasıyla 7 segment displaylere yazılır.

Ayrıca, kodda bir takım ayarlamalar da bulunmaktadır. Örneğin, 24 saatlik veya 12 saatlik saat formatı seçilebilir. Günün hangi saatlerinde ışıklandırma yapılacağına dair ayarlamalar da yapılabilir.

Sonuç olarak, kod sayesinde gerçek zamanlı saat bilgisi 7 segment displaylere gönderilerek, kullanıcının doğru saat bilgisine sahip olması sağlanır. Bu sayede, kullanıcılar saatlerini doğru şekilde ayarlayabilir ve zamanı takip edebilirler.