<?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_LED-Matrix</id>
	<title>Prog Shield LED-Matrix - 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_LED-Matrix"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_LED-Matrix&amp;action=history"/>
	<updated>2026-10-29T02:40:52Z</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_LED-Matrix&amp;diff=2501&amp;oldid=prev</id>
		<title>Bar med 22. okt. 2022, 16:02</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_LED-Matrix&amp;diff=2501&amp;oldid=prev"/>
		<updated>2022-10-22T16:02:13Z</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, 17:02&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-l1&quot;&gt;Linje 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 1:&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;[[fil:dot-matrix-modul.png|thumb|right|8x8 LED Dot-Matrix]]&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;[[fil:dot-matrix-modul.png|thumb|right|8x8 LED Dot-Matrix]]  &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;br&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;br&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;Et Dot Matrix display er et modul der skal styre en matrix med 8x8 lysdioder (64 separate), så man kan lave forskellige visninger. Selve modulet er beskrevet på [[Arduino Dot-Matrix]].&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;Et Dot Matrix display er et modul der skal styre en matrix med 8x8 lysdioder (64 separate), så man kan lave forskellige visninger. Selve modulet er beskrevet på [[Arduino Dot-Matrix]].&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_LED-Matrix&amp;diff=2386&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_LED-Matrix&amp;diff=2386&amp;oldid=prev"/>
		<updated>2022-10-22T14:16:07Z</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_LED-Matrix&amp;diff=2385&amp;oldid=prev</id>
		<title>htx_&gt;Bar: /* Anvendelsen af softwaren */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Prog_Shield_LED-Matrix&amp;diff=2385&amp;oldid=prev"/>
		<updated>2017-10-06T06:15:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Anvendelsen af softwaren&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[fil:dot-matrix-modul.png|thumb|right|8x8 LED Dot-Matrix]]&lt;br /&gt;
&lt;br /&gt;
Et Dot Matrix display er et modul der skal styre en matrix med 8x8 lysdioder (64 separate), så man kan lave forskellige visninger. Selve modulet er beskrevet på [[Arduino Dot-Matrix]].&lt;br /&gt;
==Software==&lt;br /&gt;
Dette eksempel skriver direkte til modulet, som indeholder en IC MAX7219, der driver signalerne til LED Matrixen.&lt;br /&gt;
&lt;br /&gt;
Eksemplet styrer 3 displays koblet i serie som beskrevet på [[Arduino_Lys-avis#Alternativ_kodning_med_et_bibliotek]] med en kode der tager udgangspunkt i et Arduino eksempel&amp;lt;ref&amp;gt;[http://playground.arduino.cc/LEDMatrix/Max7219 Kode til MAX7219 driver] fra Arduinos hjemmeside&amp;lt;/ref&amp;gt;. Koden ligger i denne [[media:LEDMatrix-8x8-direct.zip|ZIP-fil]]. &lt;br /&gt;
&lt;br /&gt;
Alternativt kunne man anvende biblioteket fra [https://github.com/marcmerlin/LED-Matrix GitHub]. Biblioteket downloades og installeres som beskrevet under [[Arduinos_Biblioteker#Tilføjelse_af_biblioteker|Arduinos biblioteker]]. Anvendelsen af dette er beskrevet under [[Arduino_Lys-avis#Alternativ_kodning_med_et_bibliotek]].&lt;br /&gt;
&lt;br /&gt;
===Anvendelsen af softwaren===&lt;br /&gt;
Her gennemgås kun dele af softwaren, da det hele er skrevet uden anvendelsen af biblioteker.&lt;br /&gt;
&lt;br /&gt;
Der opstilles nogle forudsætninger for tilslutningen af DOT Matrix displayet&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int dataIn = 3;&lt;br /&gt;
int load = 9;&lt;br /&gt;
int clock = 8;&lt;br /&gt;
 &lt;br /&gt;
int maxInUse = 3;    //change this variable to set how many MAX7219&amp;#039;s you&amp;#039;ll use&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inde i [[setup()]] skal der sættes benene til udgange og displayene slettes 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;
  pinMode(dataIn, OUTPUT);&lt;br /&gt;
  pinMode(clock,  OUTPUT);&lt;br /&gt;
  pinMode(load,   OUTPUT);&lt;br /&gt;
 &lt;br /&gt;
  digitalWrite(13, HIGH);  &lt;br /&gt;
 &lt;br /&gt;
//initiation of the max 7219&lt;br /&gt;
  maxAll(max7219_reg_scanLimit, 0x07);      &lt;br /&gt;
  maxAll(max7219_reg_decodeMode, 0x00);  // using an led matrix (not digits)&lt;br /&gt;
  maxAll(max7219_reg_shutdown, 0x01);    // not in shutdown mode&lt;br /&gt;
  maxAll(max7219_reg_displayTest, 0x00); // no display test&lt;br /&gt;
   for (e=1; e&amp;lt;=8; e++) {    // empty registers, turn all LEDs off&lt;br /&gt;
    maxAll(e,0);&lt;br /&gt;
  }&lt;br /&gt;
  maxAll(max7219_reg_intensity, 0x0f &amp;amp; 0x0f);    // the first 0x0f is the value you can set&lt;br /&gt;
                                                  // range: 0x00 to 0x0f&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I [[loop()]] sker flere forskellige ting, men som et eksempel skrives en løbende streg ud som følger:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i=0; i&amp;lt;72; i++) {&lt;br /&gt;
    for (int n=1; n&amp;lt;=8; n++) {&lt;br /&gt;
      maxAll(n,dot_cnt);                &lt;br /&gt;
      dot_cnt *= 2;&lt;br /&gt;
      if (dot_cnt == 0) dot_cnt = 1;&lt;br /&gt;
    }&lt;br /&gt;
    dot_cnt *= 2;&lt;br /&gt;
    if (dot_cnt == 0) dot_cnt = 1;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Til eksemplet anvendes nogle rutiner som følger:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// define max7219 registers&lt;br /&gt;
byte max7219_reg_noop        = 0x00;&lt;br /&gt;
byte max7219_reg_digit0      = 0x01;&lt;br /&gt;
byte max7219_reg_digit1      = 0x02;&lt;br /&gt;
byte max7219_reg_digit2      = 0x03;&lt;br /&gt;
byte max7219_reg_digit3      = 0x04;&lt;br /&gt;
byte max7219_reg_digit4      = 0x05;&lt;br /&gt;
byte max7219_reg_digit5      = 0x06;&lt;br /&gt;
byte max7219_reg_digit6      = 0x07;&lt;br /&gt;
byte max7219_reg_digit7      = 0x08;&lt;br /&gt;
byte max7219_reg_decodeMode  = 0x09;&lt;br /&gt;
byte max7219_reg_intensity   = 0x0a;&lt;br /&gt;
byte max7219_reg_scanLimit   = 0x0b;&lt;br /&gt;
byte max7219_reg_shutdown    = 0x0c;&lt;br /&gt;
byte max7219_reg_displayTest = 0x0f;&lt;br /&gt;
 &lt;br /&gt;
void putByte(byte data) {&lt;br /&gt;
  byte i = 8;&lt;br /&gt;
  byte mask;&lt;br /&gt;
  while(i &amp;gt; 0) {&lt;br /&gt;
    mask = 0x01 &amp;lt;&amp;lt; (i - 1);      // get bitmask&lt;br /&gt;
    digitalWrite( clock, LOW);   // tick&lt;br /&gt;
    if (data &amp;amp; mask){            // choose bit&lt;br /&gt;
      digitalWrite(dataIn, HIGH);// send 1&lt;br /&gt;
    }else{&lt;br /&gt;
      digitalWrite(dataIn, LOW); // send 0&lt;br /&gt;
    }&lt;br /&gt;
    digitalWrite(clock, HIGH);   // tock&lt;br /&gt;
    --i;                         // move to lesser bit&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void maxSingle( byte reg, byte col) {    &lt;br /&gt;
//maxSingle is the &amp;quot;easy&amp;quot;  function to use for a single max7219&lt;br /&gt;
 &lt;br /&gt;
  digitalWrite(load, LOW);       // begin    &lt;br /&gt;
  putByte(reg);                  // specify register&lt;br /&gt;
  putByte(col);//((data &amp;amp; 0x01) * 256) + data &amp;gt;&amp;gt; 1); // put data  &lt;br /&gt;
  digitalWrite(load, LOW);       // and load da stuff&lt;br /&gt;
  digitalWrite(load,HIGH);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void maxAll (byte reg, byte col) {    // initialize  all  MAX7219&amp;#039;s in the system&lt;br /&gt;
  int c = 0;&lt;br /&gt;
  digitalWrite(load, LOW);  // begin    &lt;br /&gt;
  for ( c =1; c&amp;lt;= maxInUse; c++) {&lt;br /&gt;
  putByte(reg);  // specify register&lt;br /&gt;
  putByte(col);//((data &amp;amp; 0x01) * 256) + data &amp;gt;&amp;gt; 1); // put data&lt;br /&gt;
    }&lt;br /&gt;
  digitalWrite(load, LOW);&lt;br /&gt;
  digitalWrite(load,HIGH);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void maxOne(byte maxNr, byte reg, byte col) {    &lt;br /&gt;
//maxOne is for addressing different MAX7219&amp;#039;s,&lt;br /&gt;
//while having a couple of them cascaded&lt;br /&gt;
 &lt;br /&gt;
  int c = 0;&lt;br /&gt;
  digitalWrite(load, LOW);  // begin    &lt;br /&gt;
 &lt;br /&gt;
  for ( c = maxInUse; c &amp;gt; maxNr; c--) {&lt;br /&gt;
    putByte(0);    // means no operation&lt;br /&gt;
    putByte(0);    // means no operation&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  putByte(reg);  // specify register&lt;br /&gt;
  putByte(col);//((data &amp;amp; 0x01) * 256) + data &amp;gt;&amp;gt; 1); // put data&lt;br /&gt;
 &lt;br /&gt;
  for ( c =maxNr-1; c &amp;gt;= 1; c--) {&lt;br /&gt;
    putByte(0);    // means no operation&lt;br /&gt;
    putByte(0);    // means no operation&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  digitalWrite(load, LOW); // and load da stuff&lt;br /&gt;
  digitalWrite(load,HIGH);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
Princippet i LED Matrixen kan læses på [[Arduino Dot-Matrix]].&lt;br /&gt;
&lt;br /&gt;
==Layout==&lt;br /&gt;
LED DOT Matrix modulets placering på programmerings-shieldet kan ses her:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:layout-LED-DOT-Matrix.png|600px]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Placering af LED DOT Matrix modul&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>