ආඩුඊනෝ ප්රෝග්රෑමිං Part 17 – Real Time Clock Module DS3231
අද අපි කතා කරන්න යන්නෙ Real Time Clock Module එකක් Arduino එක්ක එකතු කරල වැඩ කරගන්නෙ කොහොමද කියල.
මන් මේකෙදි භාවිතා කරන්නෙ DS3231 Real Time Clock Module එක (2 රූපය). මේ module එක භාවිතයෙන් අපිට තත්පර, මිනිත්තු, පැය, දින, මාස, අවුරුදු ගනන් ඉතාමත් නිවැරදිව ගනනය කිරීමේ හැකියාවක් තිබෙනවා.
3.3V හෝ 5V වෝල්ටීයතාවයක් යටතේ ක්රියාත්මක වන මෙම RTC Module එකෙහි 3V CR2032 වර්ගයේ battery එකක් අන්තර්ගත වෙනව. එමගින් අවුරුද්දකටත් වැඩි කාලයක් පුරාවට තොරතුරු කලමනාකරනය කිරීමේ හැකියාවක් තිබෙනව.
DS3231 RTC module එක Arduino board එක හා communicate කිරීම සදහා I2C communication protocol එක භාවිතා කරනවා.
අද අපි බලමු DS3231 RTC module එක සහ Arduino එකතු කරල වෙලාව සහ දිනය පෙන්වන ඔරලෝසුවක් හදාගන්න විදිහ. අපිට ඒ සදහා අවශ්ය වෙනව,
1) Arduino Uno × 1 :- https://scionelectronics.com/product/arduino-uno-r3/
2) DS3231 Real Time Clock Module × 1 :- https://scionelectronics.com/product/rtc-module-ds3231/
3) 16*2 LCD Display × 1 :- https://scionelectronics.com/product/1602-character-lcd-screen-16×2/
(Holder for LCD Display :- https://scionelectronics.com/…/1602-lcd-display-lcd1602-she…/)
4) Potentiometer × 1 :- https://scionelectronics.com/product/b-10k-variable-resistor-pot-mono/
5) 220 Ohm Resistor × 1 :- https://scionelectronics.com/product/220-ohm-1-4w-5-axial-resistor/
මන් මේ බඩු ටික ගත්තෙ Scion Electronics එකෙන්. රු. 500ට වැඩි උපකරණ වලට warranty එකක් එක්කම ඔයාලටත් ගන්න පුලුවන්.
දැන් 3 රූපයේ සහ 4 රූපයේ ආකාරයට උපාංග සකසාගෙන පහත තිබෙන code එක upload කරගන්න.
#include <LiquidCrystal.h>
#include <DS3231.h>
DS3231 rtc(SDA, SCL);
LiquidCrystal lcd(12, 11, 4, 5, 6, 7);
void setup() {
rtc.begin();
lcd.begin(16, 2);
rtc.setDOW(SUNDAY); // මෙහි SUNDAY යන්න අදාල දිනයට ගැලපෙන පරිදි වෙනස් කරගන්න
rtc.setTime(19, 20, 0); // මෙහි දැක්වෙන වේලාවද ගැලපෙන පරිදි වෙනස් කරගන්න.
rtc.setDate(29, 7, 2018); // මෙම දිනයද ගැලපෙන පරිදි වෙනස් කරගන්න
}
void loop() {
lcd.setCursor(0, 0);
lcd.print(“Time: “);
lcd.print(rtc.getTimeStr());
lcd.setCursor(0, 1);
lcd.print(“Date: “);
lcd.print(rtc.getDateStr());
delay (1000);
}
ඉහත කේතය upload කිරීමෙන් පසුව පහත තිබෙන කේතය upload කරන්න.
#include <LiquidCrystal.h>
#include <DS3231.h>
DS3231 rtc(SDA, SCL);
LiquidCrystal lcd(12, 11, 4, 5, 6, 7);
void setup() {
rtc.begin();
lcd.begin(16, 2);
// rtc.setDOW(SUNDAY); // මෙහි SUNDAY යන්න අදාල දිනයට ගැලපෙන පරිදි වෙනස් කරගන්න
// rtc.setTime(19, 20, 0); // මෙහි දැක්වෙන වේලාවද ගැලපෙන පරිදි වෙනස් කරගන්න.
// rtc.setDate(29, 7, 2018); // මෙම දිනයද ගැලපෙන පරිදි වෙනස් කරගන්න
}
void loop() {
lcd.setCursor(0, 0);
lcd.print(“Time: “);
lcd.print(rtc.getTimeStr());
lcd.setCursor(0, 1);
lcd.print(“Date: “);
lcd.print(rtc.getDateStr());
delay (1000);
}
දැන් ඔයාලට දැකගන්න පුලුවන් LCD display එක digital clock එකක් බවට පත්වී ඇති ආකාරය.
ඉතින් තව එක දෙයක් කියන්නම් මගෙන් ගොඩක් දෙනෙක් comments වලින් වගේම inbox ඇවිල්ලත් අහල තිබ්බ කොළඹින් පිට ඉන්න අයට මේ Arduino parts ගන්න තැනක් නැද්ද කියල. ඉතින් මන් හිතුව මන් බඩු ගන්න තැන ගැන ඔයාලට කිව්ව නම් ඒක ඔයගොල්ලන්ට පහසුවක් වෙයි කියල.
“Scion Electronics” ( සයන් ඉලෙක්ට්රොනික්ස් ) ඔයාලට Arduino සම්බන්ධ ඕනෙම item එකක් warranty එකක් සහිතව ගන්න පුලුවන් මේ ශොප් එකෙන්. මාලබේ ස්ලිට් කැම්පස් එක ඉස්සරහ වගේම මොරටුව කැම්පස් එක ඉස්සරහත් මෙයාලගෙ shop තියනව. ඔයගොල්ලො පිට පලාතක ඉන්නව නම් ඔයාලට පුලුවන් ගෙදරටම මේ භාණ්ඩ ගෙන්න ගන්න. මෙයාලගෙ Website එකේ සියලුම item ගැන විස්තර තියනව. ( https://scionelectronics.com/ ) වගකීමක් සහිතවම ඔයාලට ඕනෙ කරන Arduino parts ගන්න පුලුවන්.
ආඩුඊනෝ ප්රෝග්රෑමිං Part 18 තුළින් නැවත හමු වෙමු.
Compiled by: Yasas Sadeepa