7 Bölümlü Göstergeli Arduino Ondalık Sayacı: 4 Adım (Resimlerle)

7 Bölümlü Göstergeli Arduino Ondalık Sayacı: 4 Adım (Resimlerle)

İçindekiler:

Anonim

Bir arduino uno ve yedi segmentli bir ekran kullanarak, 0'dan 9'a kadar sayım yapan ve siz kapatana kadar tekrarlayan çok basit ve basit bir devre yapacağız.

Gereçler:

Adım 1: İhtiyacımız Olan Şeyler

  • Arduino UNO
  • 220 Ω direnç
  • 7 segmentli ekran (Ortak bir anot olanı kullanıyorum)
  • 10 bağlantı kablosu

Adım 2: Rezistörü Ekrana Bağlama

Her şeyden önce 7 segmentli ekranı alıp breadboard'a koyun. Şimdi direncinizi, ekmek tahtanızdaki güç barasına ve yukarıdaki resimde gösterildiği gibi iki atlama teli kullanarak ekranın iki COM pimine bağlayın.

Adım 3: Arduino'yu Ekrana Bağlama

Bu adımda, Arduino'yu 12 ila 6 numaralı dijital pimleri kullanarak ekranımıza bağlayacağız. Ekranın C pinini Arduino'daki dijital 12'ye bağlayın. Daha sonra D pinini dijital 11, E ile 10, G ile 9, F ile 8, A ile 7 ve son olarak B'yi 6 ile bağlayarak devam edin.

  • C ila 12
  • D ila 11
  • E ila 10
  • G ila 9
  • F ila 8
  • A ila 7
  • B ila 6

Bundan sonra, Arduino'nun panosundaki direnci 5V çıkışa bağlayarak devam edin.

4. Adım: Kod

Şimdi küçük devremizi oluşturmayı tamamladığımızda kod yazmanın zamanı geldi, bu yüzden Arduino'nuzu bilgisayarınıza bağlayın, Arduino IDE'yi açın ve hazırlanın. Öncelikle, kullanacağımız dijital pinlerin değerlerini tutmak için bazı değişkenler ve rakamlar arasında zaman gecikmesi koymak için kullanacağımız bazılarını ilan edeceğiz. Bundan sonra, istediğimiz her basamak için uygun LED'leri yakmak için doğru pinlere voltaj göndereceğimiz her bir sayı için bir tane olan 10 işlev ilan edeceğiz. Son olarak, setup () işlevinde dijital pinleri çıktı olarak başlatacağız ve loop () işlevinde, daha önce bildirmiş olduğumuz işlevleri aralarındaki zaman gecikmesiyle doğru sırada çağırırız. Ayrıca aşağıdaki kodu yapıştıracağım, bu yüzden kopyalamaktan ve projeniz için kullanmaktan çekinmeyin.

int c = 12;

int d = 11;

int e = 10;

int g = 9;

int f = 8;

int a = 7;

int b = 6;

int chrono = 1000;

boşluk sıfır () {

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, DÜŞÜK);

digitalWrite (f, DÜŞÜK);

digitalWrite (g, YÜKSEK);

}

void one () {

digitalWrite (c, DÜŞÜK);

digitalWrite (d, YÜKSEK);

digitalWrite (e, YÜKSEK);

digitalWrite (g, YÜKSEK);

digitalWrite (f, YÜKSEK);

digitalWrite (a, HIGH);

digitalWrite (b, DÜŞÜK);

}

geçersiz iki () {

digitalWrite (c, YÜKSEK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, DÜŞÜK);

digitalWrite (g, DÜŞÜK);

digitalWrite (f, YÜKSEK);

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

}

geçersiz üç () {

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, YÜKSEK);

digitalWrite (g, DÜŞÜK);

digitalWrite (f, YÜKSEK);

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

}

geçersiz dört () {

digitalWrite (c, DÜŞÜK);

digitalWrite (d, YÜKSEK);

digitalWrite (e, YÜKSEK);

digitalWrite (g, DÜŞÜK);

digitalWrite (f, DÜŞÜK);

digitalWrite (a, HIGH);

digitalWrite (b, DÜŞÜK);

}

geçersiz beş () {

digitalWrite (a, LOW);

digitalWrite (b, YÜKSEK);

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, YÜKSEK);

digitalWrite (f, DÜŞÜK);

digitalWrite (g, DÜŞÜK);

}

geçersiz altı () {

digitalWrite (a, HIGH);

digitalWrite (b, YÜKSEK);

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, DÜŞÜK);

digitalWrite (f, DÜŞÜK);

digitalWrite (g, DÜŞÜK);

}

geçersiz yedi () {

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

digitalWrite (c, DÜŞÜK);

digitalWrite (d, YÜKSEK);

digitalWrite (e, YÜKSEK);

digitalWrite (f, YÜKSEK);

digitalWrite (g, YÜKSEK);

}

boşluk sekiz () {

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, DÜŞÜK);

digitalWrite (g, DÜŞÜK);

digitalWrite (f, DÜŞÜK);

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

}

geçersiz dokuz () {

digitalWrite (a, LOW);

digitalWrite (b, DÜŞÜK);

digitalWrite (c, DÜŞÜK);

digitalWrite (d, DÜŞÜK);

digitalWrite (e, YÜKSEK);

digitalWrite (f, DÜŞÜK);

digitalWrite (g, DÜŞÜK);

}

geçersiz kurulum () {

pinMode (c, ÇIKIŞ);

pinMode (d, ÇIKIŞ);

pinMode (e, ÇIKIŞ);

pinMode (g, ÇIKIŞ);

pinMode (f, ÇIKIŞ);

pinMode (a, ÇIKIŞ);

pinMode (b, ÇIKIŞ);

}

boşluk döngüsü () {

sıfır();

Gecikme (kronometre);

bir();

Gecikme (kronometre);

iki();

Gecikme (kronometre);

üç();

Gecikme (kronometre);

Dört ();

Gecikme (kronometre);

beş();

Gecikme (kronometre);

altı();

Gecikme (kronometre);

Yedi();

Gecikme (kronometre);

sekiz();

Gecikme (kronometre);

dokuz();

Gecikme (kronometre);

}

Bu Projeyi 3 Kişi Yaptı!

  • sushanta83 yaptı!

  • nseixas başardı!

  • AdrianW20 başardı!

Bu projeyi yaptın mı? Bizimle paylaşın!

öneriler

  • Arduino Kod Örneklerini Ezmek

  • Ornithopter Prototipini Açar. Arduino Powered ve Uzaktan Kumandalı.

  • Nesnelerin İnterneti Sınıfı

  • Parti Mücadelesi

  • Ağaç İşleme Yarışması

  • Sınıf Bilim Yarışması

11 Tartışmalar

0

BarryW43

2 yıl önce

Bu benim gibi yeni başlayanlar için gerçekten güzel bir öğretici.

Fakat Arduino'nun GND'sini devre kartında nereye bağladığını anlamadım. Farklı yollar denedim ama işe yaramadı.

Bu konuda herhangi bir yardım takdir edilmektedir.

Teşekkürler

1 cevap 0

PaulMak BarryW43

Yanıtla 2 yıl önce

Her şeyden önce yorumunuz için çok teşekkür ederim. Şu anki sorunuz hakkında: eğer ortak bir anot ekranı kullanıyorsanız, dijital iğneler böyle davranırken Arduino GND pinini karta bağlamaya gerek yoktur. Umarım işe yarayabilir ve başka bir sorunuz varsa lütfen başka bir yorum göndermekten çekinmeyin.

0

Kola AdeyemiA 2 yıl önce

güzel öğretici, daha önce yaptım, ancak for döngüsünü kullandığım için kodla ilgili sorunlarım vardı, ancak işlevi tanımlamaktan sonra işlevi çağırmak fikri serin ama uzun. İyi iş

1 cevap 0

PaulMak Kola AdeyemiA Yanıtla 2 yıl önce

Sağol Kola. İşlevleri tanımladım, çünkü (en azından benim için) her kod parçasının ne yaptığını takip etmek daha kolaydı, hoşunuza gittiğine sevindim!

0

AngeloP7

2 yıl önce

Ortak katot ile mi yaptınız: P az önce 5 g / gnd bağlantılarını tersine çevirdi

Oldukça temiz

0

AngeloP7

2 yıl önce

5161AS ortak bir katot ekranı kullanıyorsanız neyi değiştirmem gerekir?

0

AngeloP7

2 yıl önce

5161AS ortak bir katot ekranı kullanıyorsanız neyi değiştirmem gerekir?

0

cotik1

3 yıl once

çok güzel öğretici !!!!

1 cevap 0

PaulMak cotik1

Yanıtla 3 yıl önce

Çok teşekkür ederim !

0

DIY Hacks ve Nasıl Tos

3 yıl once

Harika öğretici. Paylaşım için teşekkürler.

1 cevap 0

PaulMak DIY Hacks ve Nasıl Tos

Yanıtla 3 yıl önce

Çok teşekkürler !