Агуулгын хүснэгт:

Arduino Nano & DS1307 ашиглан энгийн дижитал цаг: 4 алхам
Arduino Nano & DS1307 ашиглан энгийн дижитал цаг: 4 алхам

Видео: Arduino Nano & DS1307 ашиглан энгийн дижитал цаг: 4 алхам

Видео: Arduino Nano & DS1307 ашиглан энгийн дижитал цаг: 4 алхам
Видео: Светодиодный DVD-дисплей и Arduino Nano (основы семисегментного светодиодного дисплея) 2024, Долдугаар сарын
Anonim
Arduino Nano & DS1307 ашиглан энгийн дижитал цаг
Arduino Nano & DS1307 ашиглан энгийн дижитал цаг

Энэ нийтлэлд би танд Arduino ашиглан дижитал цаг хийх хичээлийг үзүүлэх болно. Миний ашигладаг Arduino самбар бол Arduino Nano V3, DS1307, цагийн мэдээлэл нийлүүлэгч, MAX7219 7 Segment.

Хичээлд орохоосоо өмнө танд Arduino төхөөрөмж, дагалдах хэрэгслийг ашиглах талаар мэдлэгтэй байхыг зөвлөж байна. Энэ нь миний үзүүлсэн хичээлийг дагахад хялбар болгоно.

Хэрэв та Arduino самбар ашиглах талаар сайн мэдэхгүй байгаа бол санаа зовох хэрэггүй.

Та энэ нийтлэлийг уншиж дулаацуулж болно.

  • Arduino Nano -ийг хэрхэн ашиглах талаар
  • MAX7219 Arduino ашиглан 7 сегмент
  • DS1307 -ийг Arduino ашиглан хэрхэн ашиглах талаар

Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд

Эдгээр нь дижитал цаг гаргахад бидэнд шаардлагатай бүрэлдэхүүн хэсгүүд юм.

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 сегмент
  • Холбогч утас
  • USB мини
  • Төслийн зөвлөл

Номын сан шаардлагатай:

  • Утас
  • LedControl
  • RTClib

Алхам 2: Бүх бүрэлдэхүүн хэсгүүдийг угсарна

Бүх бүрэлдэхүүн хэсгүүдийг нэгтгэх
Бүх бүрэлдэхүүн хэсгүүдийг нэгтгэх

Хэрэв бүх бүрэлдэхүүн хэсгүүдийг олж авсан бол одоо угсрах цаг болжээ.

Доорх тайлбарыг үзэх эсвэл дээрх зургийг үзнэ үү.

Arduino -аас RTC DS1307 руу

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino -аас MAX7219 хүртэл

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Бүх бүрэлдэхүүн хэсгүүдийг суулгасны дараа програмчлалын хэсэгт очно уу.

Алхам 3: Програмчлал

энэ ноорогыг өөрийн хийсэн ноорог дээр хуулж буулгана уу. Үүний дараа програмыг arduno самбар дээр байршуулна уу

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

RTC_DS1307 rtc;

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

хүчингүй тохиргоо () {

Цуваа.begin (57600); if (! rtc.begin ()) {Serial.println ("RTC олж чадсангүй"); байхад (1); } if (! rtc.isrunning ()) {Serial.println ("RTC ажиллахгүй байна!"); // Дараах мөр нь энэ ноорогийг эмхэтгэсэн огноо, цагийг RTC болгож тохируулна // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Энэ мөр нь RTC -ийг тодорхой огноо, цагаар тохируулдаг, жишээлбэл, 2014 оны 1 -р сарын 21 -ний өдрийн 3 цагт та үүнийг дуудах болно: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, худал); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime now = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, now.second ()/10, false); lc.setChar (0, 2, '-', худал); lc.setDigit (0, 3, now.minute ()%10, худал); lc.setDigit (0, 4, now.minute ()/10, худал); lc.setChar (0, 5, '-', худал); lc.setDigit (0, 6, now.hour ()%10, худал); 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, үнэн); lc.setDigit (0, 7, now.day ()/10, худал); lc.setDigit (0, 4, now.month ()%10, үнэн); lc.setDigit (0, 5, now.month ()/10, худал); lc.setDigit (0, 0, (одоо. жил ()%1000)%10, худал); lc.setDigit (0, 1, (now.year ()%1000)/10, худал); lc.setDigit (0, 2, (now.year ()%1000)/100, худал); lc.setDigit (0, 3, now.year ()/1000, худал); }}

Алхам 4: Үр дүн

Бүх алхам амжилттай болсны дараа та дараах үр дүнг харах болно: (видео үзэх)

31 секундээс 40 секунд хүртэл. 7 сегмент нь огноог харуулах болно. Энэ секундээс бусад 7 сегмент нь цагийг харуулна

Зөвлөмж болгож буй: