Ställa in DS1307 Realtidsklocka använda följetong Monitor (1 / 2 steg)

Steg 1: kod



Kopiera och förbi detta in i Arduino IDE och Bränn till styrelsen. För detta använder jag en ACEDuino som har en ATMega 328 s.
Om du vill ange datum och tid är allt gjort är den seriella monitor, vilket är det lättaste jag har hittat.

///////////////////////////////////////////
RTC uppgifter och tid setter / /
// //
Detta prov program tillåter användaren / /
att ställa in datum och tid av en RTC / /
med hjälp av I2C. //
// //
Koder av: / /
eGizmo Mechatronix Central / /
Taft, Manila, Filippinerna / /
http://www.egizmo.com / /
Den 15 april, 2013 / /
///////////////////////////////////////////

#include < Wire.h >
CONST int DS1307 = 0x68; Adressen till DS1307 se datablad
CONST char * dagar [] =
{"Söndag", "Monday", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"};
CONST char * månader [] =
{"Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"};

Initierar alla värden:
byte näst = 0;
byte minut = 0;
byte timme = 0;
byte vardag = 0;
byte monthday = 0;
byte månad = 0;
byte år = 0;

void setup() {
Wire.BEGIN();
Serial.BEGIN(9600);
Delay(2000); Denna försening kan MCU att läsa aktuellt datum och tid.

Serial.Print ("aktuella datum och tid är:");
printTime();
Serial.println ("Please ändra till ny rad slutar inställningarna på det nedre högra hörnet av seriell övervaka");
Serial.println ("vill du ange datum och tid nu? Y/N");

tag (!. Serial.available()) delay(10);
om (Serial.read() == "y" || Serial.Read() == "Y")

Denna uppsättning funktioner tillåter användaren att ändra datum och tid
{
Serial.Read();
setTime();
Serial.Print ("aktuella datum och tid är nu:");
printTime();
}

Serial.println ("tack.");
}

Kontinuerlig funktion för konvertering av byte till decimaler och vice versa
void loop() {
}
byte decToBcd(byte val) {
tillbaka ((val/10 * 16) + (val % 10));
}
byte bcdToDec(byte val) {
tillbaka ((val/16 * 10) + (val % 16));
}

Denna uppsättning koder är tillåter datainsamling
void setTime() {
Serial.Print ("Skriv in aktuellt år, 00-99. - ");
år = readByte();
Serial.println(Year);
Serial.Print ("Ange den aktuella månaden, 1-12. - ");
månad = readByte();
Serial.println(months[month-1]);
Serial.Print ("Ange den aktuella dagen i månaden, 1-31. - ");
monthday = readByte();
Serial.println(monthday);
Serial.println ("Ange den aktuella dagen i veckan, 1-7.");
Serial.Print ("1 solen | 2 mån | 3 tis | 4 Weds | 5 tors | 6 fre | 7 lör - ");
veckodag = readByte();
Serial.println(Days[Weekday-1]);
Serial.Print ("Ange aktuell timme i 24 timmars format, 0-23. - ");
timme = readByte();
Serial.println(Hour);
Serial.Print ("Ange den aktuella minut, 0-59. - ");
minut = readByte();
Serial.println(Minute);
för det andra = 0;
Serial.println ("data har registrerats.");

Följande koder överför data till RTC
Wire.beginTransmission(DS1307);
Wire.write(byte(0));
Wire.write(decToBcd(Second));
Wire.write(decToBcd(Minute));
Wire.write(decToBcd(Hour));
Wire.write(decToBcd(Weekday));
Wire.write(decToBcd(monthday));
Wire.write(decToBcd(month));
Wire.write(decToBcd(Year));
Wire.write(byte(0));
Wire.endTransmission();
Ändarna överföring av data
}

byte readByte() {
tag (!. Serial.available()) delay(10);
byte läsning = 0;
byte incomingByte = Serial.read();
medan (incomingByte! = '\n') {
om (incomingByte > = "0" & & incomingByte < = '9')
läsning = läsning * 10 + (incomingByte - '0');
annat;
incomingByte = Serial.read();
}
Serial.flush();
returnera behandlingen.
}

void printTime() {
char buffer [3].
CONST char * AMPM = 0;
readTime();
Serial.Print(Days[Weekday-1]);
Serial.Print("");


Serial.Print(months[month-1]);
Serial.Print("");
Serial.Print(monthday);
Serial.Print (", 20);
Serial.Print(Year);
Serial.Print("");
om (timme > 12) {
dygnet-= 12.
AMPM = "PM";
}
annat AMPM = "AM";
Serial.Print(Hour);
Serial.Print(":");
sprintf (buffert, "% 02d", minut);
Serial.Print(buffer);
Serial.println(AMPM);
}

void readTime() {
Wire.beginTransmission(DS1307);
Wire.write(byte(0));
Wire.endTransmission();
Wire.requestFrom (DS1307, 7);
för det andra = bcdToDec(Wire.read());
minut = bcdToDec(Wire.read());
timme = bcdToDec(Wire.read());
veckodag = bcdToDec(Wire.read());
monthday = bcdToDec(Wire.read());
månad = bcdToDec(Wire.read());
år = bcdToDec(Wire.read());
}

Se Steg
Relaterade Ämnen

Använda en LCD-Monitor som en TV utan en dator

LCD-TV har kommit ner i pris, men inte tillräckligt. Om du har en kabel-TV, än din tv tuner är i som rutan, inte i tv, så då varför köpa en tv med en tuner som du aldrig kommer att använda? Tro det eller ej kan du spara nästan $200 när du köper en da...

Använda följetong med Edison

Detta är en kort guide till att använda Edison i OS X utan att använda några installatörer eller programvara från tredje part.Steg 1: Steg 1: Anslut nätaggregatet och USBSteg ett är att ansluta strömförsörjningen och USB-kabeln.Använd de yttersta mik...

Anvisningar använder ARDUINO SERIAL MONITOR

Arduino IDE har en funktion som kan vara till stor hjälp vid felsökning skisser eller kontroll av Arduino från datorns tangentbord.The Serial Monitor är ett separat popup-fönster som fungerar som en separat terminal som kommunicerar genom att ta emot...

Hur till använda den laserskärare och eller vattenstrålen göra en RADIUS-kolla mätare för organinc plåt arbete (metall formar, panelen slog, etc) jag gjorde det på TechShop

Hur man använder den laserskärare och eller vattenstrålen göra en RADIUS-kolla mätare för organiska plåt arbete (metall formar, panelen slog, etc)Jag gjorde det på Techshop.Detta kommer att vara en riktigt kort och enkelt, men om du gör någon plåt bi...

Hålla din Xbox 360 Cool, spara energi, värme upp en yta, och använda din egen hårddisk

svalka din Xbox 360, spara energi, värme och område och använda din egen hårddisk, ja mycket lång titel, jag vet. Men det fanns inget annat att beskriva detta awesome projekt. Nu var hela detta projekt för mig helt gratis förutom intercoolern. Jag an...

Ställa in chipKIT dp32 att använda Arduino IDE

Vet du du kan programmera din chipKIT styrelse eller någon PIC32 chip använder Arduino IDE? Det är faktiskt ganska lätt. Denna handledning visar hur du ställer in din chipKIT dp32 att använda Arduino IDE för att utveckla den. Observera att denna hand...

Soft Reset din Handflatta PDA utan att använda den återställa hål i the Back (inte ansöka till FRYSER)

till mycket lätt mjuk återställa handflatan utan att behöva sticka en nål i ryggen, med en gratis Palm program som heter HackMasterDETTA INSTRUCTABLE KOMMER INTE VARA TILL NÅGON NYTTA OM DIN PALM FRYSER. DET ÄR ENDAST FÖR ANVÄNDNING AV RESETTING DIN...

Använda en bälte för att hålla dörren öppen

om du behöver hålla en dörr som stänger automatiskt öppna ett tag, men inte har en dörr propp tillgängliga, prova att använda ett bälte för att hålla dörren öppen för dig.Steg 1: Dörrhandtag Wrap bältet runt dörren knopp.Steg 2: Den andra änden Binda...

Överlevnad USB-laddare: Använda någon strömkälla för att ladda din smartphone

du glömde din nätadapter till din mobiltelefon? Eller det finns ingen eluttag?Men du behöver ta ut din smarta telefon snarast?Låt oss bygga en USB-nätadapter, du kan använda var som helst! Så ska du vara beredd på en nödsituation!Bara Anslut denna br...

Lektion 2: Använda Arduino som en makt källa för en krets

Hej igen, elever, att min andra lektion för min kurs för att lära ut grundläggande elektronik. För dem som inte har sett min första lektion, som beskriver mycket, mycket, grunderna i kretsar, se som nu. För dem som redan har sett min föregående lekti...

Tända hela byggnaden med en ljus och en källa till El bara använder reflektion i fysik

mitt projekt är ganska enkel och så fantastiskt, Tänk dig att du kan tända en byggnad eller även mer använda one light och en källa till el och viktigaste... fysik, jag kommer att berätta hur... detta projekt är ett viktigt sätt att spara el så det ä...

Använda halm pellets för att hålla ogräs borta från din trädgård

HejI detta instructable jag förklara hur du kan få lätt ogräs av din trädgård. Vi använder halm pellets: små pellets tillverkad av halm som normalt finns i stall. Fördelar med halm pellets:* Tack vare regn på kornen sväller och bildar en kontinuerlig...

Ställa in Raspberry Pi genom att använda SSH

Så köpt du precis en Raspberry Pi (RPi) eftersom du hört talas om det och du vill räkna ut vad du kan göra med den (som jag gjorde för en tid sedan).Men nu har du det du tittar på ad det och fråga dig själv "vad ska jag göra härnäst?".i början j...

Ställa in en stam gauge genom att använda en arduino

Detta oförstörbara som görs som en del av tre att mäta olika delar av en bikupa som en övervakningsstation för ett college projektet. Denna del är att mäta vikten av en övergripande bikupa, så vikten av bin och honung/vax kan bli känt. Detta kan seda...

Världsklocka i tyska genom att använda Arduino

I Tyskland såg förra året, jag en värld klocka i en butik som liknar detta en i en butik som prissattes till 900 euro. Jag läste flera instructables online om hur du skapar en världsklocka så jag beslöt att ge det en chans. Jag vill tacka den följand...

Berlin klocka, Arduino Nano, DS1307 Realtidsklocka. 74HC595N 8-bitars skiftregister.

För en tid nu har jag ville bygga en Berlin klocka. Jag vet inte riktigt varför? Jag gillar bara "annorlunda" tillvägagångssätt till talande tiden.Så hur fungerar det?Börjar på botten finns 4 gul lyser varje ljus representerar 1 minut, så om det...

4 irriterande sätt att använda glitter

Glitter är bra! Det gör allt gnistan! Men liksom många bra saker i livet, den har också en negativa sidan. Det kan vara ett helvete av en irriterande sak att få av kläder, möbler och saker sådär. Bara en liten spill av glitter, och även efter en bra...

10 steg till din egen logotyp i Inkscape (gratis) och använda kreativa marknaden for dummies som mig

HejLedsen för den långa titeln. Jag har några bekännelser också. Först är min ritning och konstruktionsarbeten färdigheter inte ens detsamma av en finger målare. Det andra tjäna jag inte pengar, så jag har alltid att göra saker som kan köpas, inklusi...

Slutföra Stencil handledning använda ett gratisprogram

en tutorial på att göra en stencil med ett open source program som kallas GIMP.Jag tittade på alla instruerar taggade med stencil, och inte en ger en steg för steg för att göra en stencil i min favorit öppen källa foto program GIMP.Steg 1: Material o...