<?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_I2C_Enheder</id>
	<title>Prog Shield I2C Enheder - 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_I2C_Enheder"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_I2C_Enheder&amp;action=history"/>
	<updated>2026-10-29T03:50:43Z</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_I2C_Enheder&amp;diff=2490&amp;oldid=prev</id>
		<title>Bar med 22. okt. 2022, 15:56</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_I2C_Enheder&amp;diff=2490&amp;oldid=prev"/>
		<updated>2022-10-22T15:56:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 22. okt. 2022, 16:56&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Linje 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Software==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Software==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Koden her er hentet fra [http://playground.arduino.cc/Main/I2cScanner Arduinos side]&amp;lt;ref&amp;gt;[http://playground.arduino.cc/Main/I2cScanner I2C scanner] fra Arduinos hjemmeside&amp;lt;/ref&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Koden her er hentet fra [http://playground.arduino.cc/Main/I2cScanner Arduinos side]&amp;lt;ref&amp;gt;[http://playground.arduino.cc/Main/I2cScanner I2C scanner] fra Arduinos hjemmeside&amp;lt;/ref&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Den beskrevne kode kan hentes i denne [[media:Prog-I2C-Scanner.zip|ZIP-fil]]. Denne software fungerer ved at scanne efter tilsluttede I2C-enheder.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Den beskrevne kode kan hentes i denne [[media:Prog-I2C-Scanner.zip|ZIP-fil]]. Denne software fungerer ved at scanne efter tilsluttede I2C-enheder.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Anvendelsen af softwaren===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Anvendelsen af softwaren===&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_I2C_Enheder&amp;diff=2380&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_I2C_Enheder&amp;diff=2380&amp;oldid=prev"/>
		<updated>2022-10-22T14:16:06Z</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, 15:16&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_I2C_Enheder&amp;diff=2379&amp;oldid=prev</id>
		<title>htx_&gt;Bar: /* Hardware */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_I2C_Enheder&amp;diff=2379&amp;oldid=prev"/>
		<updated>2017-09-27T08:48:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Hardware&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[fil:I2C-sketch.png|thumb|right|Principskitse for tilslutning af I2C-Enheder]]&lt;br /&gt;
&lt;br /&gt;
En del af de enheder der kan anvendes på Programmerings-Shieldet er [[I2C]]-enheder, hvilket betyder at de kommunikerer med [[Arduino]]en via en I2C-Bus, der i praksis betyder at de skal have en 5V forsyning (i forhold til stel) og så to signaler SDA og SCK, der er en data-ledning og en clock-ledning, som på Arduinoen ligger på A4 og A5.&lt;br /&gt;
&lt;br /&gt;
For at mange forskellige enheder kan kommunikere på de samme to ledninger er [[I2C]]-protokollen opbygget med at hver enhed har sin indbyggede adresse. På de fleste enheder er der ikke noget at gøre ved den adresse, den ligger fast, men enkelte moduler som [[Prog Shield I2C Display|I2C-Displayet]] kan indstille adresserne i et område (0x20 - 0x27), så man på den måde kan sætte 8 forskellige displays på samme Arduino.&lt;br /&gt;
==Software==&lt;br /&gt;
Koden her er hentet fra [http://playground.arduino.cc/Main/I2cScanner Arduinos side]&amp;lt;ref&amp;gt;[http://playground.arduino.cc/Main/I2cScanner I2C scanner] fra Arduinos hjemmeside&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Den beskrevne kode kan hentes i denne [[media:Prog-I2C-Scanner.zip|ZIP-fil]]. Denne software fungerer ved at scanne efter tilsluttede I2C-enheder.&lt;br /&gt;
===Anvendelsen af softwaren===&lt;br /&gt;
Som alle andre typer software, så skal wire-biblioteker sættes op med de grundlæggende ting op for at kontakte biblioteket. Her defineres et Wire objekt med wire-kommunikationen i.&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;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inde i [[setup()]] skal biblioteket initialiseres med begin-metoden, og der sættes op til seriel kommunikation 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;
  Wire.begin();&lt;br /&gt;
 &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  while (!Serial);             // Leonardo: wait for serial monitor&lt;br /&gt;
  Serial.println(&amp;quot;\nI2C Scanner&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I [[loop()]] scannes hvert 5. sekund for alle adresser fra 0 til 127. Resultatet printes den i [[Serial Monitor]].&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void loop() {&lt;br /&gt;
  byte error, address;&lt;br /&gt;
  int nDevices;&lt;br /&gt;
 &lt;br /&gt;
  Serial.println(&amp;quot;Scanning...&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  nDevices = 0;&lt;br /&gt;
  for(address = 1; address &amp;lt; 127; address++ )&lt;br /&gt;
  {&lt;br /&gt;
    // The i2c_scanner uses the return value of&lt;br /&gt;
    // the Write.endTransmisstion to see if&lt;br /&gt;
    // a device did acknowledge to the address.&lt;br /&gt;
    Wire.beginTransmission(address);&lt;br /&gt;
    error = Wire.endTransmission();&lt;br /&gt;
 &lt;br /&gt;
    if (error == 0)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;I2C device found at address 0x&amp;quot;);&lt;br /&gt;
      if (address&amp;lt;16)&lt;br /&gt;
        Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.print(address,HEX);&lt;br /&gt;
      Serial.println(&amp;quot;  !&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
      nDevices++;&lt;br /&gt;
    }&lt;br /&gt;
    else if (error==4)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Unknow error at address 0x&amp;quot;);&lt;br /&gt;
      if (address&amp;lt;16)&lt;br /&gt;
        Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(address,HEX);&lt;br /&gt;
    }    &lt;br /&gt;
  }&lt;br /&gt;
  if (nDevices == 0)&lt;br /&gt;
    Serial.println(&amp;quot;No I2C devices found\n&amp;quot;);&lt;br /&gt;
  else&lt;br /&gt;
    Serial.println(&amp;quot;done\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  delay(5000);           // wait 5 seconds for next scan&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
De I2C-enheder der kan tilsluttes Programmerings-Shieldet skulle gerne have følgende adresser:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!I2C-Enhed!!Adresse (hexadecimal)&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield I2C Display|I2C Display]] ||0x27 (kan omkodes til 0x20-0x26)&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield Barometer BMP085|Barometer BMP085]] ||0x77&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield Barometer BMP180|Barometer BMP180]] ||0x77&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield Accelerometer MMA7660|Accelerometer MMA7660]] ||0x4C&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield Gyroskop MPU6050|Gyroskop MPU6050]] ||0x68&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield Kompas HMC5883|Kompas HMC5883]] ||0x1E&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield RTC DS1307|Real Time Clock DS1307]] ||0x68&lt;br /&gt;
|-&lt;br /&gt;
|[[Prog Shield RTC DS3231|Real Time Clock DS3231]] ||0x68, 0x57&lt;br /&gt;
|}&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>