<?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=Digitale_Input</id>
	<title>Digitale Input - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Digitale_Input"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Digitale_Input&amp;action=history"/>
	<updated>2026-09-15T22:59:27Z</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=Digitale_Input&amp;diff=768&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Digitale_Input&amp;diff=768&amp;oldid=prev"/>
		<updated>2022-10-20T06:26:53Z</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=&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 20. okt. 2022, 08:26&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-l100&quot;&gt;Linje 100:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 100:&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;[[Kategori: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:Arduino]]&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;[[Kategori:Digital]]&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:Digital]]&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=Digitale_Input&amp;diff=61&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Digitale_Input&amp;diff=61&amp;oldid=prev"/>
		<updated>2022-10-19T13:00:10Z</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 19. okt. 2022, 15:00&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=Digitale_Input&amp;diff=60&amp;oldid=prev</id>
		<title>ard_&gt;Bar: /* Elektrisk fjernelse af prel */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Digitale_Input&amp;diff=60&amp;oldid=prev"/>
		<updated>2022-08-05T18:06:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Elektrisk fjernelse af prel&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Sikring af niveauet på en [[input|indgang]]==&lt;br /&gt;
Grunden til at sikre niveauet på en [[input|indgang]] på et kredsløb er at man ellers ikke kan være sikker på hvilket niveau indgangen har, når der ikke er forbundet noget. Grunden til dette er at ledningerne kan opsamle felter, så det kan toolkes som både høj og lav.&lt;br /&gt;
&lt;br /&gt;
==En svævende indgang==&lt;br /&gt;
Umiddelbart vil man sige at når det ikke er forbundet noget til en indgang, så er den 0 eller lav. Det er bare &amp;#039;&amp;#039;&amp;#039;ikke&amp;#039;&amp;#039;&amp;#039; rigtigt, da indgangen i stedet svæver, og altså både kan antage høj og lav på skift eller i værste fald opfange et fejlt, hvor den skifter hurtigt mellem 0 og 1.&lt;br /&gt;
&lt;br /&gt;
Svævende indgange vil give ustabile kredsløb.&lt;br /&gt;
&lt;br /&gt;
Dette er gældende for logiske kredsløb generelt, men man skal specilt være opmærksom på det, når man programmerer microcontrollere som [[PIC]] og [[Arduino]].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[image:arduino-input.jpg]]&lt;br /&gt;
|valign &amp;quot;top&amp;quot;|Skal man lave en indgang f.x. til en [[PIC]] eller en [[Arduino]], hvor man kan skifte niveauet mellem højt og lavt, så ville man umiddelbart tænke at man kunne lave det viste kredsløb.&lt;br /&gt;
&lt;br /&gt;
Det er bare &amp;#039;&amp;#039;&amp;#039;forkert&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Signalet ind til PIC&amp;#039;en er fint højt, når der er trykket på knappen, men når der ikke er trykket på knappen, så svæver signalet, og man kan ikke vide om det er højt eller lavt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pull-down==&lt;br /&gt;
Løsningen på dette problem, er at anvende en pull-down modstand, som vist på kredsløbet her under.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[image:pull-down.png]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Ideen i kredsløbet er at de signaler man kan opfange på ledningerne vil kun give en meget lille strøm i modstanden, og derfor vil spændingen over modstanden også være lille, og signalet ind på [[PIC]]&amp;#039;en eller [[Arduino]]&amp;#039;en vil være lavet.&lt;br /&gt;
&lt;br /&gt;
Når man trykker på knappen, så vil der komme et højt signal ind på PIC-indgangen, og når man slipper den igen, så vil signalet straks gå lavt igen.&lt;br /&gt;
&lt;br /&gt;
Det er svært at foretage en egentlig beregning på modstanden, andet end hvor meget strøm man vil ofre, når der er trykket på knappen. Normalt er 100k en god størrelse, men hvis elektronikken skal fungere med lange ledninger eller i et meget støjfyldt miljø, så vil det være bedre med en mindre modstand.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pull-up==&lt;br /&gt;
Efter samme teknik kan man anvende en pull-up modstand som viste herunder.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[image:pull-up.png]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Ideen i kredsløbet er at de signaler man kan opfange på ledningerne vil kun give en meget lille strøm i modstanden, og derfor vil spændingen over modstanden også være lille.&lt;br /&gt;
&lt;br /&gt;
Så længe der ikke er trykket på knappen, så vil signalet ind til [[PIC]]&amp;#039;en eller [[Arduino]]&amp;#039;en være højt, fordi modstanden er forbundet til +5V.&lt;br /&gt;
&lt;br /&gt;
Når man trykker på knappen, så vil der komme et lavt signal ind på PIC- eller Arduino-indgangen, og når man slipper den igen, så vil signalet straks gå højt igen.&lt;br /&gt;
&lt;br /&gt;
Man kan observere at signalet kommer omvendt ind i [[PIC]]&amp;#039;en eller [[Arduino]]&amp;#039;en (som om der sad en [[inverter-gate]]).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Elektrisk fjernelse af prel==&lt;br /&gt;
Når man konstruerer opstillinger som reagerer enten på en forkant eller en bagkant, kan man opleve problemer med at kredsløbet reagerer flere gange på et tryk. Det skyldes at en trykknap har det fænomen som hedder [[prel]], hvilket grundlæggende blot er at kontakten får forbindelse flere gange idet der trykkes, eller idet der slippes. Der hvor man oplever problemet kan være [[Digital tæller|counter]]-kredsløb, som tæller hvor man gange der er trykket på en knap eller det kan være i microcontroller kredsløb med [[PIC]] eller [[Arduino]], hvor softwaren skal reagere på en knap.&lt;br /&gt;
&lt;br /&gt;
[[image:Komponenter-fil12.png|Måling på en kontakt med prel både på forkant og bagkant]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Måling på en kontakt med prel både på forkant og bagkant&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For at sikre mod [[prel]] kan man placere en kondensator fra signalet til stel, således at når der er trykket på knappen, så &amp;quot;holder&amp;quot; kondensatoren på signalet indtil den er afladet igen af modstanden. Dette laves på følgende måde ved de to koblinger af kontakten:&lt;br /&gt;
{|&lt;br /&gt;
|width=&amp;quot;450px&amp;quot;|&lt;br /&gt;
[[image:pull-down-simple-prel.png|300px|Kontakt med Pull-Down og simpel elektrisk prel-sikring]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Kontakt med Pull-Down og simpel elektrisk prel-sikring&amp;#039;&amp;#039;&lt;br /&gt;
|width=&amp;quot;450px&amp;quot;|&lt;br /&gt;
[[image:pull-up-simple-prel.png|300px|Kontakt med Pull-Up og simpel elektrisk prel-sikring]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Kontakt med Pull-Up og simpel elektrisk prel-sikring&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Den tid som kondensatoren &amp;quot;holder&amp;quot; på signalet bestemmes af tidskonstanten (betegnes med det græske tau) &amp;amp;tau; = R &amp;amp;sdot; C. Med de viste komponenter giver det en tidskonstant på 10 millisekunder, hvilket er den tid der går indtil spændingen er faldet til ca. 36% - hvis indgangen reagerer på 50%-niveauet, så vil tiden være lidt kortere (ca. 7 millisekunder).&lt;br /&gt;
&lt;br /&gt;
[[Image:tidskonstant-beregn.png|80px]]&lt;br /&gt;
&lt;br /&gt;
===Ekstra sikring af kredsløbet===&lt;br /&gt;
Med de ovenstående kredsløb vil man indføre noget, som kan have uheldige konsekvenser for kredsløbets funktion. Det er langt fra sikkert man vil opleve det, men med en simpel forbedring kan man forhindre det. Problemet opstår i det øjeblik hvor man trykker på kontakten. I begge kredsløb vil der principielt løbe uendelig stor strøm i kondensatoren, hvilket kan skade kondensatoren på længere sigt.&lt;br /&gt;
&lt;br /&gt;
I kredsløbet med pull-down modstand er det forsyningen der skal levere den uendelige strøm, hvilket kan resultere i et dyk i forsyningen - selv et kortvarigt dyk vil kunne forstyrre en microcontroller. Ydermere vil kontakten heller ikke have godt af det - der vil kunne opstå små svejsninger i kontaktfladen.&lt;br /&gt;
&lt;br /&gt;
I kredsløbet med pull-up modstand, der vil kontakten kortslutte kondensatoren, som er blevet ladet op gennem modstanden - her er det kondensator og kontakt der kan få forringet deres levetid.&lt;br /&gt;
&lt;br /&gt;
Det er heldigvis ret enkelt at forhindre disse uheldigheder, ved at indføre en ekstra modstand, som vist herunder. Det er blot en lille modstand der skal til, så tidskonstanten holdes meget mindre en den anden tidskonstant - med de givne værdier bliver tidskonstanten 10 mikrosekunder. Den maksimale strøm der kommer til at løbe i kontakten bliver her til 50 mA, ved anvendelse af ohms lov.&lt;br /&gt;
&lt;br /&gt;
Kredløbene kan opbygges som følger:&lt;br /&gt;
{|&lt;br /&gt;
|width=&amp;quot;450px&amp;quot;|&lt;br /&gt;
[[image:pull-down-advanced-prel.png|300px|Kontakt med Pull-Down og udvidet elektrisk prel-sikring]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Kontakt med Pull-Down og udvidet elektrisk prel-sikring&amp;#039;&amp;#039;&lt;br /&gt;
|width=&amp;quot;450px&amp;quot;|&lt;br /&gt;
[[image:pull-up-advanced-prel.png|300px|Kontakt med Pull-Up og udvidet elektrisk prel-sikring]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Kontakt med Pull-Up og udvidet elektrisk prel-sikring&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sikring mod ikke logisk niveau===&lt;br /&gt;
Med indførelsen af RC-led på kontaktfunktionen, så vil det digitale signal ikke længere have en ren digital karakter med veldefineret høj og lav, men vil komme til at glide gennem det udefinerede område for en logisk indgang, hvilket kan resultere i at den logiske indgang vil kunne opfatte skiftende højt og lavt niveau, hvilket vi jo lige har forsøgt at forhindre.&lt;br /&gt;
&lt;br /&gt;
For at imødekomme dette kan man anvende en [[schmitt-trigger]], som giver en analog hysterese, hvilket betyder at den skal over et vist niveau for at skifte, og når den så er skiftet, så skal under et lavere niveau for at skifte tilbage. Dette resulterer i et rent logisk signal, så indgangen vil opfatte signalet rigtigt.&lt;br /&gt;
&lt;br /&gt;
Det er dog &amp;#039;&amp;#039;&amp;#039;heldigvis&amp;#039;&amp;#039;&amp;#039; sådan at mange microcontrollere i dag har schmitt-triggeren indbygget i almindelige digitale indgange, eller man kan vælge en indgang der har det - det skal man undersøge i databladet for den aktuelle microcontroller. Den microcontroller der anvendes i [[Arduino]] er en ATMEGA328P&amp;lt;ref&amp;gt;[http://htx-elev.ucholstebro.dk/el/komponent/atmega328p.pdf datablad for ATMEGA328P]&amp;lt;/ref&amp;gt;, som har schmitt-trigger på alle indgange.&lt;br /&gt;
&lt;br /&gt;
Hvis man ønsker at sikre sig, så ser kredsløbet ud som følger:&lt;br /&gt;
&lt;br /&gt;
[[image:pull-down-niveau-prel.png|500px|Kontakt med Pull-Down og udvidet elektrisk prel- og niveau-sikring]]&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;Kontakt med Pull-Down og udvidet elektrisk prel- og niveau-sikring&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
I det viste kredsløb er det en inverterende schmitt-trigger der er anvendt, så det aktive lave signal fra kontakten bliver til et aktivt højt signal.&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{logik-begreber}}&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Arduino]]&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Digital]]&lt;/div&gt;</summary>
		<author><name>ard_&gt;Bar</name></author>
	</entry>
</feed>