Lesson 99-6: Unlimited Alarms with DS3231 and Arduino
This code (99-6) is part of a lesson on using the DS3231 RTC clock module to use the alarm features with Arduino. Using this code, we can create unlimited alarms. We've used a push button to reset the alarm when the alarm is triggered. Please watch the video for full details.420-Lesson 99: Real-Time Clock DS3231 to Build LCD and LED Clock
语言: C++
/*
* Lesson 99: LCD Clock using Arduino and DS3231 RTC module
* Full video details: https://youtu.be/LEQfzmO9Wm0
* In this lesson we have the following codes:
* -Basic DS3231 to display on serial monitor
* -Using Alarm feature of the DS3231
* -LCD Clock
* -4 Digit LED Clock
* -Unlimited Alarms using DS3231 with reset push button
*
*
* This code is part of Arduino Step by Step Course which starts here: https://youtu.be/-6qSrDUA5a8
*
* For the library of this code, visit http://robojax.com/
*
If you found this tutorial helpful, please support me so I can continue creating
content like this. Make a donation using PayPal or a credit card: https://bit.ly/donate-robojax
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#include <DS3231.h>
DS3231 clock;
RTCDateTime robojax;
char daysOfTheWeek[7][12] = {
"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"};
char monthName[12][12] = {
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December"
};
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f, 16, 2);
void setup () {
// Robojax Course Lesson 99 video: https://youtu.be/LEQfzmO9Wm0
while (!Serial); // for Leonardo/Micro/Zero
Serial.begin(9600);
// Initialize DS3231
Serial.println("Initialize DS3231");;
clock.begin();
// Set sketch compiling time
clock.setDateTime(__DATE__, __TIME__);
//set manual time
//clock.setDateTime(2014, 4, 13, 19, 21, 00);
// initialize the LCD
lcd.begin();
// Turn on the backlight and print a message.
lcd.backlight();
lcd.print("Robojax");
lcd.setCursor (0,1); // go to start of 2nd line
lcd.print("DS3231 Clock");
}
void loop () {
robojax = clock.getDateTime();
// Robojax Course Lesson 99 video: https://youtu.be/LEQfzmO9Wm0
lcd.clear();
lcd.setCursor (0,0);
lcd.print(robojax.day);
lcd.print(" ");
lcd.print(monthName[robojax.month-1]);
lcd.print(" ");
lcd.print(robojax.year);
lcd.setCursor (0,1); // go to start of 2nd line
lcd.print(robojax.hour);
lcd.print(":");
lcd.print(robojax.minute);
lcd.print(":");
lcd.print(robojax.second);
lcd.print(" ");
lcd.print(daysOfTheWeek[robojax.dayOfWeek]);
delay(300);
// Robojax Course Lesson 99 video: https://youtu.be/LEQfzmO9Wm0
}
|||您可能需要的东西
-
全球速卖通从AliExpress购买HT16K33 4位数LED显示屏s.click.aliexpress.com
-
全球速卖通从AliExpress购买HT16K33四位数LED显示屏s.click.aliexpress.com
-
全球速卖通从AliExpress购买一个LCD1602s.click.aliexpress.com
资源与参考
-
外部
-
外部
-
外部Purchase ZK-5DA from Amazon UKamzn.to
-
外部从AliExpress购买HT16K33 4位数LED显示屏s.click.aliexpress.com
-
外部从AliExpress购买HT16K33四位数LED显示屏s.click.aliexpress.com
-
外部从AliExpress购买一个LCD1602s.click.aliexpress.com
-
外部从亚马逊购买一个HT16K33四位数LED显示屏。amzn.to
文件📁
没有可用的文件。