<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bent</id>
	<title>HTX Arduino - Brugerbidrag [da]</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bent"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php/Speciel:Bidrag/Bent"/>
	<updated>2026-10-28T11:10:45Z</updated>
	<subtitle>Brugerbidrag</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Analog_indgang&amp;diff=5432</id>
		<title>Analog indgang</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Analog_indgang&amp;diff=5432"/>
		<updated>2026-10-24T11:29:07Z</updated>

		<summary type="html">&lt;p&gt;Bent: /* Bit-opløsningens betydning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En analog indgang på en [[mikrocontroller]] er lavet for at kunne registrere og arbejde med analoge værdier i mikrocontrollerens program, selvom den i naturen er digital.&lt;br /&gt;
&lt;br /&gt;
==AD-konvertering==&lt;br /&gt;
For at en mikrocontroller kan arbejde med analoge værdier skal der ske en &amp;lt;i&amp;gt;analog til digital konvertering&amp;lt;/i&amp;gt; ([[#AD-konvertering]]), der konverterer den analoge indgangsspænding til en digital værdi med en eller anden opløsning.&lt;br /&gt;
&lt;br /&gt;
Man kan i princippet arbejde med en ekstern AD-konverter som en [[Mcp3201]] eller en [[Mcp3208]], der begge er 12 bits AD-konvertere som altså giver tal fra 0 til 4095 over det analoge referenceområde som er angivet ved en [[analog reference]]. &lt;br /&gt;
&lt;br /&gt;
I dag har mange mikrocontrollere indbyggede AD-konvertere som typisk har 10 bit opløsning, hvilket give et talområde fra 0 til 1023. Se mere om [[#Bit-opløsningsens betydning]]. &lt;br /&gt;
&lt;br /&gt;
På engelsk betegnes AD-konvertering &amp;lt;i&amp;gt;ADC&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Hvis de spændinger man skal måle på, er højere end hvad AD-konverteren kan håndtere, man man anvende en [[Spændingsdeler]] der neddeler spændingen.&lt;br /&gt;
&lt;br /&gt;
Hvis de spændinger man skal måle på er meget små, kan man vælge at forstærke signalet op inden det AD-konverteres. Det kan f.eks. ske med en [[Mikrofonforstærker]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bit-opløsningens betydning===&lt;br /&gt;
En AD-konverter arbejder i f.eks. 10 bit. Det betyder, at der er 10 bit til rådighed til at repræsentere den spænding der bliver målt. Med 10 bit kan vi repræsentere &amp;lt;math&amp;gt;2^{10} = 1024&amp;lt;/math&amp;gt; værdier eller step.&lt;br /&gt;
&lt;br /&gt;
Hvis spændingen som AD-konverteren måler er 0 V, konverteres dette til en heltalsværdi på 0 (step 0). Hvis spændingen som AD-konverteren måler er 5 V (dvs. den maksimale spænding som AD-konverteren i en Arduino kan måle), giver det en værdi på 1023 (step 1023). Der er altså 1024 steps til at repræsentere spændingerne mellem 0 V og 5 V.&lt;br /&gt;
&lt;br /&gt;
Man kan beregne hvor stor en spænding hvert step dækker over:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{step} = \frac{5 V}{1023 step} = 0,00489 \frac{V}{step} = 4,89 \frac{mV}{step}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hvis AD-konverteren giver heltallet 688 som output (dvs. step 688), kan man beregne, hvor stor en spænding der var på det analoge input:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{ADC} = n_{step} \cdot U_{step} = 688 \text{step} \cdot 4,89 \frac{mV}{step} = 3,36 V&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Når et step dækker over 4,89 mV, så skal man være opmærksom på at man ikke kan måle med større præcision end det - hvis man ønsker mindre step end det, så kan man gå to veje:&lt;br /&gt;
&lt;br /&gt;
#Enten tilslutte en anden AD-konverter med større Bit-opløsning (fx. en 16 bit converter der har 0,067 mV pr. step)&lt;br /&gt;
#Eller lave analog forstærkning af signalet på fx. 10 gange, så man får 0,489 mV pr. step - det betyder så at man kun kan måle i et område fra 0 til 0,5 V.&lt;br /&gt;
&lt;br /&gt;
==Arduino Analoge indgange==&lt;br /&gt;
I arduinoen er det ganske enkelt at anvende analoge indgange&amp;lt;ref&amp;gt;[http://arduino.cc/en/Reference/AnalogRead AnalogRead reference]&amp;lt;/ref&amp;gt;, da man kan gøre det med en enkelt kommando:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
  int ADtal;&lt;br /&gt;
  ADtal = analogRead(kanal);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Her er ADtal blot en [[variabel]] der gemmer det tal fra 0 til 1023 som den analoge indgangs AD-konverter svarer med, når analogRead() kaldes.&lt;br /&gt;
&lt;br /&gt;
[[Parameter]]en kanal angiver hvilken analog indgang man vil læse, og er på arduino UNO blot et tal fra 0 til 5, hvilket svarer til A0 - A5 som det er angivet ved stikforbindelserne på boardet.&lt;br /&gt;
&lt;br /&gt;
[[fil:Arduino-power-analog.png|500px|Arduino UNO Rev. 3 med analoge indgange]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Arduino UNO rev. 3 med analoge indgange A0 til A5&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksempler på anvendelser er angivet i [[Arduino Serial]] og [[Arduino AnalogInput]].&lt;br /&gt;
&lt;br /&gt;
==PIC Analoge indgange==&lt;br /&gt;
Det er ikke alle de PIC-typer vi har ved Holstebro HTX der har AD-konvertere indbygget, men følgende typer har, og anvender til AD-konvertering det angivne bibliotek&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!PIC-type!!Bibliotek&lt;br /&gt;
|-&lt;br /&gt;
|[[PIC12F675]] || [[ADC_holst]]&lt;br /&gt;
|-&lt;br /&gt;
|[[PIC16F684]] || [[ADC_holst]]&lt;br /&gt;
|-&lt;br /&gt;
|[[PIC16F690]] || [[ADC_holst]]&lt;br /&gt;
|-&lt;br /&gt;
|[[PIC16F877]] || [[ADC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PIC}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Arduino Elektrisk}}&lt;br /&gt;
[[Kategori:Arduino Analog]]&lt;br /&gt;
[[Kategori:PIC Analog]]&lt;/div&gt;</summary>
		<author><name>Bent</name></author>
	</entry>
</feed>