İçindekiler:

Arduino Nano ve DS1307 Kullanan Basit Dijital Saat: 4 Adım
Arduino Nano ve DS1307 Kullanan Basit Dijital Saat: 4 Adım

Video: Arduino Nano ve DS1307 Kullanan Basit Dijital Saat: 4 Adım

Video: Arduino Nano ve DS1307 Kullanan Basit Dijital Saat: 4 Adım
Video: Arduino Dijital Saat Yapımı (RTC/Saat Modülü Kullanımı) 2024, Temmuz
Anonim
Arduino Nano ve DS1307 Kullanan Basit Dijital Saat
Arduino Nano ve DS1307 Kullanan Basit Dijital Saat

Bu yazımda sizlere Arduino kullanarak dijital saat yapımını göstereceğim.. Kullandığım Arduino kartı zaman veri sağlayıcısı olarak Arduino Nano V3, DS1307, saat ekranı olarak MAX7219 7 Segmenti.

öğreticiye girmeden önce Arduino cihazlarını ve aksesuarlarını kullanmaya aşina olmanızı tavsiye ederim. Bu, gösterdiğim öğreticiyi takip etmenizi kolaylaştıracaktır.

Arduino kartlarını kullanmaya aşina değilseniz endişelenmeyin.

Isınmak için bu makaleyi okuyabilirsiniz:

  • Arduino Nano Nasıl Kullanılır
  • Arduino Kullanan MAX7219 7-Segment
  • Arduino Kullanarak DS1307 Nasıl Kullanılır

Adım 1: Gerekli Bileşenler

Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler

dijital saat yapmak için ihtiyacımız olan bileşenler şunlardır:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Segmenti
  • Jumper Tel
  • USB mini
  • Proje tahtası

Gerekli Kütüphane:

  • Tel
  • LedKontrol
  • RTClib

Adım 2: Tüm Bileşenleri Birleştirin

Tüm Bileşenleri Birleştirin
Tüm Bileşenleri Birleştirin

Tüm bileşenler elde edildiyse, şimdi montaj zamanı.

Aşağıdaki açıklamaya bakın veya yukarıdaki resme bakın:

Arduino'dan RTC DS1307'ye

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino'dan MAX7219'a

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Tüm bileşenler yüklendikten sonra programlama bölümüne geçin.

Adım 3: Programlama

bu çizimi kopyalayıp yaptığınız çizime yapıştırın. Bundan sonra programı arduno panosuna yükleyin

#include #include "LedControl.h" #include "RTClib.h"

RTC_DS1307 rtc;

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

geçersiz kurulum() {

Seri.başla(57600); if (! rtc.begin()) { Serial.println("RTC bulunamadı"); iken (1); } if (! rtc.isrunning()) { Serial.println("RTC ÇALIŞMIYOR!"); // aşağıdaki satır RTC'yi bu çizimin derlendiği tarih ve saate ayarlar // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Bu satır, RTC'yi açık bir tarih ve saatle ayarlar, örneğin // 21 Ocak 2014, saat 3'e ayarlamak için: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } lc.shutdown(0, yanlış); lc.setYoğunluk(0, 8); lc.clearDisplay(0); }

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

DateTime şimdi = rtc.now(); if(now.second() 40) { lc.setDigit(0, 0, now.second()%10, false); lc.setDigit(0, 1, şimdi.saniye()/10, yanlış); lc.setChar(0, 2, '-', yanlış); lc.setDigit(0, 3, şimdi.dakika()%10, yanlış); lc.setDigit(0, 4, şimdi.dakika()/10, yanlış); lc.setChar(0, 5, '-', yanlış); lc.setDigit(0, 6, şimdi.hour()%10, false); lc.setDigit(0, 7, şimdi.saat()/10, yanlış); }

if (şimdi.saniye() == 30 || şimdi.saniye() == 40)

{ lc.clearDisplay(0); }

if(now.second() >= 31 && now.second() < 40) { lc.setDigit(0, 6, now.day()%10, true); lc.setDigit(0, 7, şimdi.gün()/10, yanlış); lc.setDigit(0, 4, şimdi.ay()%10, true); lc.setDigit(0, 5, şimdi.ay()/10, yanlış); lc.setDigit(0, 0, (now.year()%1000)%10, false); lc.setDigit(0, 1, (now.year()%1000)/10, false); lc.setDigit(0, 2, (şimdi.yıl()%1000)/100, false); lc.setDigit(0, 3, şimdi.yıl()/1000, yanlış); } }

4. Adım: Sonuç

Tüm adımlar başarılı olduktan sonra göreceğiniz sonuç şudur: (videoyu izleyin)

her 31 saniyeden 40 saniyeye kadar. 7 Segmentler tarihi gösterecektir. O saniye hariç, 7 segment saati gösterecek

Önerilen: