Orodha ya maudhui:

Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307: Hatua 4
Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307: Hatua 4

Video: Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307: Hatua 4

Video: Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307: Hatua 4
Video: Сервомотор управления с нажимом 2 кнопки с Arduino 2024, Novemba
Anonim
Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307
Saa Rahisi ya Dijiti Kutumia Arduino Nano & DS1307

Katika nakala hii nitakuonyesha mafunzo ya kutengeneza saa ya dijiti kutumia Arduino.. Bodi ya Arduino ninayotumia ni Arduino Nano V3, DS1307 kama mtoaji wa data ya wakati, Sehemu ya MAX7219 7 kama onyesho la saa.

kabla ya kuingia kwenye mafunzo, ninapendekeza ujue matumizi ya vifaa na vifaa vya Arduino. Hii itafanya iwe rahisi kwako kufuata mafunzo ambayo nimeonyesha.

Ikiwa haujui kutumia bodi za Arduino, usijali.

Unaweza kusoma nakala hii ili upate joto:

  • Jinsi ya Kutumia Arduino Nano
  • Sehemu ya MAX7219 7-Kutumia Arduino
  • Jinsi ya Kutumia DS1307 Kutumia Arduino

Hatua ya 1: Vipengele vinavyohitajika

Vipengele vinavyohitajika
Vipengele vinavyohitajika
Vipengele vinavyohitajika
Vipengele vinavyohitajika
Vipengele vinavyohitajika
Vipengele vinavyohitajika

haya ndio vifaa tunavyohitaji kutengeneza saa ya dijiti:

  • Arduino Nano V3
  • RTC DS1307
  • Sehemu ya MAX7210 7
  • Jumper Wire
  • USBmini
  • Bodi ya Mradi

Maktaba Inahitajika:

  • Waya
  • Kudhibiti
  • RTClib

Hatua ya 2: Unganisha Vipengele vyote

Kukusanya Vipengele vyote
Kukusanya Vipengele vyote

Ikiwa vifaa vyote vimepatikana, Sasa ni wakati wa kukusanyika.

Tazama maelezo hapa chini au angalia picha hapo juu:

Arduino kwa RTC DS1307

GND => GND

+ 5V => VCC

A4 => SDA

A5 => SCL

Arduino hadi MAX7219

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Baada ya vifaa vyote kusanikishwa, endelea kwenye sehemu ya programu.

Hatua ya 3: Programu

nakili na ubandike mchoro huu kwenye mchoro ambao umetengeneza. Baada ya hapo pakia programu kwenye bodi ya arduno

# pamoja na # pamoja na "LedControl.h" # pamoja na "RTClib.h"

RTC_DS1307 rtc;

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

usanidi batili () {

Serial. Kuanza (57600); ikiwa (! rtc.begin ()) {Serial.println ("Haikuweza kupata RTC"); wakati (1); } ikiwa (! rtc.isrunning ()) {Serial.println ("RTC HAIENDI!"); // mstari unaofuata unaweka RTC hadi tarehe na wakati mchoro huu ulikusanywa // rtc.rekebisha (DateTime (F (_ DATE_), F (_ TIME_))); // Mstari huu unaweka RTC na tarehe na wakati wazi, kwa mfano kuweka // Januari 21, 2014 saa 3 asubuhi ungeita: // rtc.rekebisha (DateTime (2014, 1, 21, 3, 0, 0)); kuzima lc (0, uwongo); lc.setIntensity (0, 8); lc Onyesha wazi (0); }

kitanzi batili () {

DateTime sasa = rtc.now (); ikiwa (sasa.sekunde () 40) {lc.setDigit (0, 0, sasa. pili ()% 10, uwongo); lc.setDigit (0, 1, sasa. pili () / 10, uwongo); lc.setChar (0, 2, '-', uongo); lc.setDigit (0, 3, sasa.minute ()% 10, uwongo); lc.setDigit (0, 4, sasa.minute () / 10, uwongo); lc.setChar (0, 5, '-', uongo); lc.setDigit (0, 6, sasa. saa ()% 10, uwongo); lc.setDigit (0, 7, sasa. saa () / 10, uwongo); }

ikiwa (sasa.sekunde () == 30 || sasa.mkondoni () == 40)

{lc. Onyesha wazi (0); }

ikiwa (sasa.sekunde ()> = 31 && sasa.pili () <40) {lc.setDigit (0, 6, sasa.day ()% 10, kweli); lc.setDigit (0, 7, sasa.day () / 10, uwongo); lc.setDigit (0, 4, sasa. mwezi ()% 10, ni kweli); lc.setDigit (0, 5, sasa. mwezi () / 10, uwongo); lc.setDigit (0, 0, (sasa mwaka ()% 1000)% 10, uwongo); lc.setDigit (0, 1, (sasa mwaka ()% 1000) / 10, uwongo); lc.setDigit (0, 2, (sasa mwaka ()% 1000) / 100, uwongo); lc.setDigit (0, 3, sasa. mwaka () / 1000, uwongo); }}

Hatua ya 4: Matokeo

Baada ya hatua zote kufanikiwa, hii ndio matokeo ambayo utaona: (angalia video)

kila sekunde ya 31 hadi sekunde ya 40. Sehemu 7 zitaonyesha tarehe. Isipokuwa kwa sekunde hiyo, sehemu 7 itaonyesha saa

Ilipendekeza: