Find ardunio code arduino get the datemmddyyyy timehhmmss f
Find ardunio code. arduino get the date(mm/dd/yyyy) & time(hh/mm/ss) from the user via the serial monitor in the arduino software. Date includes day , month and year Time includes hour,minutes and seconds You circuit/program should: print a prompt on the serial monitor, get input of date and time from user display date and time on the 16x2 display keep accurate time on 16x2 lcd display include error checking for input that doesn\'t make sense (hours not in range of 0 to 23, minutes not in range 0 to 59, month not range of 1 to 12, etc).
Solution
hi,
Following program includes :
Arduino program to read current date and time from modem, to run the test command, and to update date and time as well Time Checking
Please run the script as per your requirement
thanks
///////////////////////////////////////////////////////////////////////////
#include <Process.h>
Process date; // process used to get the date
int hours, minutes, seconds; // for the results
int lastSecond = -1; // need an impossible value for comparison
//Arduino program to run the test command
void setup()
{
Serial.begin(2400);
Serial.write(\"AT+CMGF=1\ \"); //set GSM to text mode
delay(1500);
Serial.write(\"AT+CCLK=?\ \"); //Test command
while(1)
{
if(Serial.available())
{
Serial.write(Serial.read());
}
}
}
// Arduino program to read current date and time from modem
void setup()
{
Serial.begin(2400);
Serial.write(\"AT+CMGF=1\ \"); //set GSM to text mode
delay(1500);
Serial.write(\"AT+CCLK?\ \"); //Read command
while(1)
{
if(Serial.available())
{
Serial.write(Serial.read());
}
}
}
//Arduino program to update date and time
void setup()
{
Serial.begin(2400);
Serial.write(\"AT+CMGF=1\ \"); //set GSM to text mode
delay(1500);
Serial.write(\"AT+CCLK=\\\"99/12/12,04:06:30+08\\\"\ \"); //Set date and time YY/MM/DD hh:mm:ss+zz
while(1)
{
if(Serial.available())
{
Serial.write(Serial.read());
}
}
//Time Checking
void setup() {
Bridge.begin(); // initialize Bridge
SerialUSB.begin(9600); // initialize serial
while (!Serial); // wait for Serial Monitor to open
SerialUSB.println(\"Time Check\"); // Title of sketch
// run an initial date process. Should return:
// hh:mm:ss :
if (!date.running()) {
date.begin(\"date\");
date.addParameter(\"+%T\");
date.run();
}
}
void loop() {
if (lastSecond != seconds) { // if a second has passed
// print the time:
if (hours <= 9) {
SerialUSB.print(\"0\"); // adjust for 0-9
}
SerialUSB.print(hours);
SerialUSB.print(\":\");
if (minutes <= 9) {
SerialUSB.print(\"0\"); // adjust for 0-9
}
SerialUSB.print(minutes);
SerialUSB.print(\":\");
if (seconds <= 9) {
SerialUSB.print(\"0\"); // adjust for 0-9
}
SerialUSB.println(seconds);
// restart the date process:
if (!date.running()) {
date.begin(\"date\");
date.addParameter(\"+%T\");
date.run();
}
}
//if there\'s a result from the date process, parse it:
while (date.available() > 0) {
// get the result of the date process (should be hh:mm:ss):
String timeString = date.readString();
// find the colons:
int firstColon = timeString.indexOf(\":\");
int secondColon = timeString.lastIndexOf(\":\");
// get the substrings for hour, minute second:
String hourString = timeString.substring(0, firstColon);
String minString = timeString.substring(firstColon + 1, secondColon);
String secString = timeString.substring(secondColon + 1);
// convert to ints,saving the previous second:
hours = hourString.toInt();
minutes = minString.toInt();
lastSecond = seconds; // save to do a time comparison
seconds = secString.toInt();
}
}



