Spisu treści:

Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307: 4 kroki
Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307: 4 kroki

Wideo: Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307: 4 kroki

Wideo: Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307: 4 kroki
Wideo: Arduino. Stacja kontroli warunków wegetacji roślin [Vegetation parameters monitoring station] 2024, Lipiec
Anonim
Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307
Prosty zegar cyfrowy wykorzystujący Arduino Nano i DS1307

W tym artykule pokażę samouczek tworzenia zegara cyfrowego za pomocą Arduino. Płytka Arduino, której używam, to Arduino Nano V3, DS1307 jako dostawca danych czasu, MAX7219 7 Segment jako wyświetlacz zegarka.

przed przystąpieniem do samouczka polecam zapoznać się z obsługą urządzeń i akcesoriów Arduino. Ułatwi ci to podążanie za tutorialem, który pokazałem.

Jeśli nie znasz się na płytkach Arduino, nie martw się.

Możesz przeczytać ten artykuł, aby się rozgrzać:

  • Jak korzystać z Arduino Nano
  • MAX7219 7-segmentowy przy użyciu Arduino
  • Jak korzystać z DS1307 za pomocą Arduino?

Krok 1: Wymagane składniki

Wymagane składniki
Wymagane składniki
Wymagane składniki
Wymagane składniki
Wymagane składniki
Wymagane składniki

są to elementy, których potrzebujemy do wykonania zegara cyfrowego:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 segmentów
  • Przewód połączeniowy
  • USB mini
  • Plansza projektowa

Wymagana biblioteka:

  • Drut
  • LedControl
  • Biblioteka RTC

Krok 2: Złóż wszystkie komponenty

Złóż wszystkie komponenty
Złóż wszystkie komponenty

Jeśli wszystkie komponenty zostały zdobyte, teraz czas na montaż.

Zobacz opis poniżej lub zobacz zdjęcie powyżej:

Arduino do RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino do MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Po zainstalowaniu wszystkich komponentów przejdź do sekcji programowania.

Krok 3: Programowanie

skopiuj i wklej ten szkic do wykonanego szkicu. Następnie wgraj program na płytkę arduno

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

RTC_DS1307 RTC;

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

pusta konfiguracja () {

Serial.początek (57600); if (! rtc.begin()) { Serial.println("Nie można znaleźć RTC"); natomiast (1); } if (! rtc.isrunning()) { Serial.println("RTC NIE działa!"); // kolejna linia ustawia RTC na datę i czas kompilacji tego szkicu // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Ta linia ustawia RTC z wyraźną datą i godziną, na przykład, aby ustawić // 21 stycznia 2014 o 3 nad ranem, wywołasz: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } lc.shutdown(0, fałsz); lc.setIntensity(0, 8); lc.clearWyświetlacz(0); }

pusta pętla () {

DataCzas teraz = rtc.now(); if(now.second() 40) { lc.setDigit(0, 0, now.second()%10, false); lc.setDigit(0, 1, teraz.second()/10, false); lc.setChar(0, 2, '-', fałsz); lc.setDigit(0, 3, now.minute()%10, fałsz); lc.setDigit(0, 4, now.minute()/10, false); lc.setChar(0, 5, '-', fałsz); lc.setDigit(0, 6, now.hour()%10, false); lc.setDigit(0, 7, now.hour()/10, false); }

if (now.second() == 30 || now.second() == 40)

{ lc.clearDisplay(0); }

if(now.second() >= 31 && now.second() < 40) { lc.setDigit(0, 6, now.day()%10, true); lc.setDigit(0, 7, now.day()/10, false); lc.setDigit(0, 4, teraz.miesiąc()%10, prawda); lc.setDigit(0, 5, teraz.miesiąc()/10, fałsz); lc.setDigit (0, 0, (teraz.rok()%1000)%10, fałsz); lc.setDigit(0, 1, (teraz.rok()%1000)/10, fałsz); lc.setDigit (0, 2, (teraz.rok()%1000)/100, fałsz); lc.setDigit(0, 3, teraz.rok()/1000, fałsz); } }

Krok 4: Wynik

Po pomyślnym zakończeniu wszystkich kroków zobaczysz wynik: (obejrzyj wideo)

co 31. do 40. sekundy. 7 segmentów wyświetli datę. Z wyjątkiem tej sekundy, 7 segmentów wyświetli zegar

Zalecana: