<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Prog_Shield_RTC_DS1307</id>
	<title>Prog Shield RTC DS1307 - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Prog_Shield_RTC_DS1307"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_RTC_DS1307&amp;action=history"/>
	<updated>2026-07-29T17:57:26Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Prog_Shield_RTC_DS1307&amp;diff=2108&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_RTC_DS1307&amp;diff=2108&amp;oldid=prev"/>
		<updated>2022-10-22T12:13:11Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 22. okt. 2022, 14:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Prog_Shield_RTC_DS1307&amp;diff=2107&amp;oldid=prev</id>
		<title>htx_&gt;Bar med 21. jun. 2016, 22:47</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_RTC_DS1307&amp;diff=2107&amp;oldid=prev"/>
		<updated>2016-06-21T22:47:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[fil:DS1307RTC-modul.PNG|thumb|right|DS1307 Real Time Clock Modul]]&lt;br /&gt;
&lt;br /&gt;
Dette er et Real Time Clock modul, der aflæses via [[I2C]]. Modulet er beskrevet til [[PIC]] på siden [[DS1307 RTC]] med [[JAL]]-kode.&lt;br /&gt;
&lt;br /&gt;
Her beskrives kort hvordan man kan læse fra modulet ved hjælp af Arduinoen.&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Biblioteket der anvendes ligger på [https://github.com/PaulStoffregen/DS1307RTC GitHub]&amp;lt;ref&amp;gt;[https://github.com/PaulStoffregen/DS1307RTC DS1307RTC bibliotek] placeret ved GitHub&amp;lt;/ref&amp;gt;. Biblioteket downloades og installeres som beskrevet under [[Arduinos_Biblioteker#Tilføjelse_af_biblioteker|Arduinos biblioteker]].&lt;br /&gt;
&lt;br /&gt;
Til test anvendes ReadTest og SetTime der begge kommer med som eksempler til biblioteket.&lt;br /&gt;
&lt;br /&gt;
Her gennemgås kun ReadTest - hvis den ikke fungerer, så kan det være fordi man skal have kørt SetTime, eller det kan være fordi Lithium batteriet skal skiftes.&lt;br /&gt;
&lt;br /&gt;
===Anvendelsen af softwaren===&lt;br /&gt;
Som alle andre biblioteker skal der sættes de grundlæggende ting op for at kontakte biblioteket. I biblioteket defineres et objekt der hedder RTC.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Time.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DS1307RTC.h&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inde i [[setup()]] skal der sættes gang i den serielle port til test ved hjælp af begin-metoden som vist her:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  while (!Serial) ; // wait for serial&lt;br /&gt;
  delay(200);&lt;br /&gt;
  Serial.println(&amp;quot;DS1307RTC Read Test&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;-------------------&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I [[loop()]] gentages hvert sekund koden der forsøger at læse RTC&amp;#039;en, og hvis det går godt, så udskrives tidspunktet, ellers kommer der en fejlmelding.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void loop() {&lt;br /&gt;
  tmElements_t tm;&lt;br /&gt;
&lt;br /&gt;
  if (RTC.read(tm)) {&lt;br /&gt;
    Serial.print(&amp;quot;Ok, Time = &amp;quot;);&lt;br /&gt;
    print2digits(tm.Hour);&lt;br /&gt;
    Serial.write(&amp;#039;:&amp;#039;);&lt;br /&gt;
    print2digits(tm.Minute);&lt;br /&gt;
    Serial.write(&amp;#039;:&amp;#039;);&lt;br /&gt;
    print2digits(tm.Second);&lt;br /&gt;
    Serial.print(&amp;quot;, Date (D/M/Y) = &amp;quot;);&lt;br /&gt;
    Serial.print(tm.Day);&lt;br /&gt;
    Serial.write(&amp;#039;/&amp;#039;);&lt;br /&gt;
    Serial.print(tm.Month);&lt;br /&gt;
    Serial.write(&amp;#039;/&amp;#039;);&lt;br /&gt;
    Serial.print(tmYearToCalendar(tm.Year));&lt;br /&gt;
    Serial.println();&lt;br /&gt;
  } else {&lt;br /&gt;
    if (RTC.chipPresent()) {&lt;br /&gt;
      Serial.println(&amp;quot;The DS1307 is stopped.  Please run the SetTime&amp;quot;);&lt;br /&gt;
      Serial.println(&amp;quot;example to initialize the time and begin running.&amp;quot;);&lt;br /&gt;
      Serial.println();&lt;br /&gt;
    } else {&lt;br /&gt;
      Serial.println(&amp;quot;DS1307 read error!  Please check the circuitry.&amp;quot;);&lt;br /&gt;
      Serial.println();&lt;br /&gt;
    }&lt;br /&gt;
    delay(9000);&lt;br /&gt;
  }&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Yderligere muligheder i softwaren===&lt;br /&gt;
Der ligger yderligere muligheder i klassen man kan anvende, hvis man ønsker andre måder at anvende Real Time Clocken på:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
    static time_t get();&lt;br /&gt;
    static bool set(time_t t);&lt;br /&gt;
    static bool read(tmElements_t &amp;amp;tm);&lt;br /&gt;
    static bool write(tmElements_t &amp;amp;tm);&lt;br /&gt;
    static bool chipPresent() { return exists; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
Princippet i Real Time Clocken er at den har en 32768 Hz krystal-oscillator kørende uanset om der er strøm til kredsløbet, eller om det kører på det indbyggede Lithium batteri.&lt;br /&gt;
&lt;br /&gt;
Oscillatoren tæller et register med sekunder frem, og dette overloader videre til minutter osv. så der kan læses tidspunkt og dato i modulet.&lt;br /&gt;
&lt;br /&gt;
Kommunikationen med modulet sker gennem [[I2C]]&lt;br /&gt;
&lt;br /&gt;
==Layout==&lt;br /&gt;
DS1307RTC modulets placering på programmerings-shieldet kan ses her:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:layout-DS1307RTC.png|600px]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Placering af DS1307RTC - skal vende rigtigt&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{template:prog-shield}}&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Programmerings-Shield]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>