<?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=Matrix_tastatur</id>
	<title>Matrix tastatur - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Matrix_tastatur"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Matrix_tastatur&amp;action=history"/>
	<updated>2026-11-02T08:41:00Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Matrix_tastatur&amp;diff=2777&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Matrix_tastatur&amp;diff=2777&amp;oldid=prev"/>
		<updated>2022-10-22T20:34:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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, 21:34&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-l134&quot;&gt;Linje 134:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 134:&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;==Referencer==&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;==Referencer==&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;&amp;lt;references /&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;&amp;lt;references /&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;{{Arduino-Modul-Oversigt}}&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;{{Arduino-Modul-Oversigt}}  &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;[[Kategori:Arduino Moduler]]&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;[[Kategori:Arduino Moduler]]&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;[[Kategori:Kompendie_Arduino]]&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;[[Kategori:Kompendie_Arduino]]&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=Matrix_tastatur&amp;diff=2676&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Matrix_tastatur&amp;diff=2676&amp;oldid=prev"/>
		<updated>2022-10-22T19:12: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-interface=&quot;&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, 20:12&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=Matrix_tastatur&amp;diff=2675&amp;oldid=prev</id>
		<title>htx_&gt;Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Matrix_tastatur&amp;diff=2675&amp;oldid=prev"/>
		<updated>2017-10-06T07:48:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Denne del dokumenterer forskellige måder at tilslutte et [[Tastatur]] på [[Arduino]]en.&lt;br /&gt;
&lt;br /&gt;
Grunden til at der er forskellige måde at tilslutte tastaturer på er, at man kan lave tastaturer i forskellige konfigurationer, som skal tilsluttes forskelligt.&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Der er ikke installeret standard software der ligger sammen med installationen af Arduino, så de forskellige typer kræver at man finder andre biblioteker og installerer dem sammen med sin software, eller anvende de biblioteker der kan downloades fra denne side.&lt;br /&gt;
&lt;br /&gt;
==Simpelt 4x4 matrix tastatur==&lt;br /&gt;
Det første vi skal er at prøve at få et af de matrix tastaturer vi køber hjem som standard som dette [http://dx.com/p/mcu-extension-4-x-4-16-key-matrix-keyboard-module-for-arduino-green-147734 4x4 Matrix tastatur] fra dx.com.&lt;br /&gt;
&lt;br /&gt;
[[fil:matrix-tast-4x4.jpg|400px|Matrix 4x4 tastatur]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Matrix 4x4 tastatur&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Først installeres Keypad i [[Arduinos Biblioteker]] som kan hentes fra denne refrence &amp;lt;ref&amp;gt;[http://playground.arduino.cc/Code/Keypad#Download Keypad download side]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Når man har genstartet Arduino-programmet åbnes Fil - Eksempler - Keypad - HelloKeypad&amp;lt;ref&amp;gt;http://playground.arduino.cc/Main/KeypadTutorial Keypad Tutorial&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Virkemåde===&lt;br /&gt;
Hele opsætningen laves ved hjælp af en række definitioner i konstanter og variabler som vist her:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const byte ROWS = 4; //four rows&lt;br /&gt;
const byte COLS = 3; //three columns&lt;br /&gt;
char keys[ROWS][COLS] = {&lt;br /&gt;
  {&amp;#039;1&amp;#039;,&amp;#039;2&amp;#039;,&amp;#039;3&amp;#039;},&lt;br /&gt;
  {&amp;#039;4&amp;#039;,&amp;#039;5&amp;#039;,&amp;#039;6&amp;#039;},&lt;br /&gt;
  {&amp;#039;7&amp;#039;,&amp;#039;8&amp;#039;,&amp;#039;9&amp;#039;},&lt;br /&gt;
  {&amp;#039;*&amp;#039;,&amp;#039;0&amp;#039;,&amp;#039;#&amp;#039;}&lt;br /&gt;
};&lt;br /&gt;
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad&lt;br /&gt;
byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selve opsætningen sker ved en constructor der anvender disse konstanter og variabler:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I funktionen [[setup()]] sker der bare en initialisering af den serielle port til den serielle monitor.&lt;br /&gt;
&lt;br /&gt;
I funktionen [[loop()]] afvikles den samme kode i en uendelig løkke, der hele tiden læses på Keypad, og hvis der er kommet en key, så udskrives den på en linje for sig.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
  char key = keypad.getKey();&lt;br /&gt;
  &lt;br /&gt;
  if (key){&lt;br /&gt;
    Serial.println(key);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware===&lt;br /&gt;
For at teste programmet fornuftigt skal Tastaturet selvfølgelig tilsluttes.&lt;br /&gt;
&lt;br /&gt;
Benet nærmest knap S1 tilsluttes digital pin 6. Herefter forbindes videre nedad til pin 7, 8, 9, 5, 4, 3 og 2.&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
For at teste programmet laves opstillingen som beskrevet, hvorefter man starter Seriel overvågning (monitoren), og prøver at taste på alle taster.&lt;br /&gt;
&lt;br /&gt;
Da vi har tilsluttet et 4x4 matrix og softwaren kun er sat op til et 3x4 matrix tastatur, så er der 4 knapper der ikke virker. Knapperne S1, S5, S9 og S13 skulle ikke fungere. S2 skulle gerne give &amp;#039;1&amp;#039;, S4 skulle give &amp;#039;3&amp;#039; og S15 skulle give &amp;#039;0&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Sammenlign med softwaren hvorfor.&lt;br /&gt;
&lt;br /&gt;
===Udvidelse 1===&lt;br /&gt;
Prøv at udvide til 4x4 matrix tastatur med følgende tilføjelse:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const byte ROWS = 4; //four rows&lt;br /&gt;
const byte COLS = 4; //four columns&lt;br /&gt;
char keys[ROWS][COLS] = {&lt;br /&gt;
  {&amp;#039;1&amp;#039;,&amp;#039;2&amp;#039;,&amp;#039;3&amp;#039;,&amp;#039;+&amp;#039;},&lt;br /&gt;
  {&amp;#039;4&amp;#039;,&amp;#039;5&amp;#039;,&amp;#039;6&amp;#039;,&amp;#039;-&amp;#039;},&lt;br /&gt;
  {&amp;#039;7&amp;#039;,&amp;#039;8&amp;#039;,&amp;#039;9&amp;#039;,&amp;#039;x&amp;#039;},&lt;br /&gt;
  {&amp;#039;*&amp;#039;,&amp;#039;0&amp;#039;,&amp;#039;#&amp;#039;,&amp;#039;/&amp;#039;}&lt;br /&gt;
};&lt;br /&gt;
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad&lt;br /&gt;
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test at der er kommet +, -, x og / på tastaturet, og at tal-delen er rykket til venstre.&lt;br /&gt;
&lt;br /&gt;
===Udvidelse 2===&lt;br /&gt;
Prøv at lave indtastnig af et tal fra 0 til 999 (afslut evt. tallet med #).&lt;br /&gt;
&lt;br /&gt;
===Udvidelse 3===&lt;br /&gt;
Lav en lommeregner - evt. sammen med et [[Arduino Display]].&lt;br /&gt;
&lt;br /&gt;
==4x4 Matrix med 4 ekstra taster og 8 LED==&lt;br /&gt;
Hvis man sammen med tastaturet har brug for enten nogle ekstra taster som skal fungere separat, eller nogle LED-indikatorer, så er der muligheden for at anvende et&lt;br /&gt;
[http://www.miniinthebox.com/4-4-matrix-keyboard-external-keyboard_p587850.html Udvidet tastatur fre miniInTheBox].&lt;br /&gt;
&lt;br /&gt;
Matrix-delen er de sorte taster, mens de 4 ekstra taster er røde, som det kan ses herunder.&lt;br /&gt;
&lt;br /&gt;
[[fil:matrix-tast-4x4-led.jpg|400px|Matrix 4x4 tastatur - 4 tast - 8 LED]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Matrix 4x4 tastatur med 4 separate taster og 8 lysdioder&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
Matrix-delen er præcis den samme som ved det lille matrix-tastatur.&lt;br /&gt;
&lt;br /&gt;
De ekstra knapper kan håndteres ved at tilslutte dem enkelte input som i tilfældet med [[Arduino Button]], og i samme eksempel er der vist hvordan man kan styre en [[LED]], hvor det så bare er lidt lettere at tilslutte hardwaren her.&lt;br /&gt;
&lt;br /&gt;
===Hardware===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Matrix-delen&amp;#039;&amp;#039;&amp;#039; skal tilsluttes 8 ben der ligger i stikket ved K1 og K5.&lt;br /&gt;
&lt;br /&gt;
På displayet er benene betegnet som R1-R4 og L1-L4. Hvis man anvender softwaren som den er vist til det lille tastatur, så skal tastaturet tilsluttes Arduinoens ben som følger:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Keyboard!!Arduino&lt;br /&gt;
|-&lt;br /&gt;
|L4||2&lt;br /&gt;
|-&lt;br /&gt;
|L3||3&lt;br /&gt;
|-&lt;br /&gt;
|L2||4&lt;br /&gt;
|-&lt;br /&gt;
|L1||5&lt;br /&gt;
|-&lt;br /&gt;
|R4||6&lt;br /&gt;
|-&lt;br /&gt;
|R3||7&lt;br /&gt;
|-&lt;br /&gt;
|R2||8&lt;br /&gt;
|-&lt;br /&gt;
|R1||9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
De &amp;#039;&amp;#039;&amp;#039;Røde taster&amp;#039;&amp;#039;&amp;#039; har forbindelse til det midterste stik. For at de fungerer skal der tilsluttes både +5V og stel til VCC og GND.&lt;br /&gt;
&lt;br /&gt;
Signalerne fra knapperne S1 til S4 kommer mærkeligt nok ud på de ben der hedder S1 til S4, og de kan tilsluttes hvilket som helst digitalt ben på Arduinoen. Man skal dog lige være opmærksom på at det er &amp;#039;&amp;#039;&amp;#039;aktivt lave&amp;#039;&amp;#039;&amp;#039;, hvilket vil sige at signalet er højt når der ikke er trykket på knappen og lavt når der er trykket på knappen.&lt;br /&gt;
&lt;br /&gt;
Der er anvendt en 1 k ohm pull up på de røde taster.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED visningen&amp;#039;&amp;#039;&amp;#039; skal tilsluttes ved stikket nede ved lysdioderne. For at de skal virke skal det tilsluttes +5V til VCC i stikket (samme VCC som ved de røde taster).&lt;br /&gt;
&lt;br /&gt;
Dioderne er aktivt lave, hvilket vil sige at de skal have et lavt signal for at lyse, og når de får et højt signal slukker de. Der er anvendt en 1 k ohm formodstand til lysdioderne, hvilket begrænser strømmen til ca. 3 mA pr. lysdiode.&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
{{Arduino-Modul-Oversigt}}&lt;br /&gt;
[[Kategori:Arduino Moduler]]&lt;br /&gt;
[[Kategori:Kompendie_Arduino]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>