Ayuda con la hora en arduino
saludos,
estoy haciendo un proyecto con arduino uno y mi objetivo es medir voltaje y escribir los datos dentro una tarjeta sd. además del valor del voltaje quiero que su lado aparezca la hora y dia de medida. (lo consigo gracias la libreria time y con la función settime). hasta aquí todo correcto.
lo que qiero ahora es alguna manera de mantener la hora sin que se resetee después de pulsar el boton de reset. ¿alguna idea?
dejo aquí debajo el código.
gracias
estoy haciendo un proyecto con arduino uno y mi objetivo es medir voltaje y escribir los datos dentro una tarjeta sd. además del valor del voltaje quiero que su lado aparezca la hora y dia de medida. (lo consigo gracias la libreria time y con la función settime). hasta aquí todo correcto.
lo que qiero ahora es alguna manera de mantener la hora sin que se resetee después de pulsar el boton de reset. ¿alguna idea?
dejo aquí debajo el código.
gracias
#include <timealarms.h>
#include <time.h>
#include <softwareserial.h>
#include <sd.h>
file myfile;
void setup() {
settime(10,36,0,22,12,14);
pinmode(13, output);
pinmode(10, output);
if (!sd.begin(4)) {
return;
}
}
void loop() {
myfile = sd.open("test.txt", file_write);
int sensorvalue = analogread(a0);
float voltatge=sensorvalue*(5.0/1023.0);
if (voltatge < 1.4)
{
digitalwrite(13, high);
}
else
{
digitalwrite(13, low);
}
digitalclockdisplaysd();
myfile.print(voltatge);
myfile.print("\t");
myfile.println(sensorvalue);
myfile.close();
delay(60000);
}
void digitalclockdisplaysd()
{
myfile.print(hour());
printdigitssd(minute());
printdigitssd(second());
myfile.print("\t");
myfile.print(day());
myfile.print("/");
myfile.print(month());
myfile.print("/");
myfile.print(year());
myfile.print("\t");
}
void printdigitssd(int digits)
{
myfile.print(":");
if(digits < 10)
myfile.print('0');
myfile.print(digits);
}
#include <time.h>
#include <softwareserial.h>
#include <sd.h>
file myfile;
void setup() {
settime(10,36,0,22,12,14);
pinmode(13, output);
pinmode(10, output);
if (!sd.begin(4)) {
return;
}
}
void loop() {
myfile = sd.open("test.txt", file_write);
int sensorvalue = analogread(a0);
float voltatge=sensorvalue*(5.0/1023.0);
if (voltatge < 1.4)
{
digitalwrite(13, high);
}
else
{
digitalwrite(13, low);
}
digitalclockdisplaysd();
myfile.print(voltatge);
myfile.print("\t");
myfile.println(sensorvalue);
myfile.close();
delay(60000);
}
void digitalclockdisplaysd()
{
myfile.print(hour());
printdigitssd(minute());
printdigitssd(second());
myfile.print("\t");
myfile.print(day());
myfile.print("/");
myfile.print(month());
myfile.print("/");
myfile.print(year());
myfile.print("\t");
}
void printdigitssd(int digits)
{
myfile.print(":");
if(digits < 10)
myfile.print('0');
myfile.print(digits);
}
Arduino Forum > International > Español (Moderators: surbyte, Hector_A) > Ayuda con la hora en arduino
arduino
Comments
Post a Comment