Analog indgang: Forskelle mellem versioner
Bar (diskussion | bidrag) m 1 version importeret |
Bar (diskussion | bidrag) Ingen redigeringsopsummering |
||
| Linje 7: | Linje 7: | ||
I dag har mange mikrocontrollere indbyggede AD-konvertere som typisk har 10 bit opløsning, hvilket give et talområde fra 0 til 1023. | I dag har mange mikrocontrollere indbyggede AD-konvertere som typisk har 10 bit opløsning, hvilket give et talområde fra 0 til 1023. | ||
==Arduino Analoge indgange== | |||
I arduinoen er det ganske enkelt at anvende analoge indgange<ref>[http://arduino.cc/en/Reference/AnalogRead AnalogRead reference]</ref>, da man kan gøre det med en enkelt kommando: | |||
<source lang="c"> | |||
int ADtal; | |||
ADtal = analogRead(kanal); | |||
</source> | |||
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. | |||
[[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. | |||
[[fil:Arduino-power-analog.png|Arduino UNO Rev. 3 med analoge indgange]]<br /> | |||
''Arduino UNO rev. 3 med analoge indgange A0 til A5'' | |||
Eksempler på anvendelser er angivet i [[Arduino Serial]] og [[Arduino AnalogInput]]. | |||
==PIC Analoge indgange== | ==PIC Analoge indgange== | ||
| Linje 22: | Linje 38: | ||
|[[PIC16F877]] || [[ADC]] | |[[PIC16F877]] || [[ADC]] | ||
|} | |} | ||
==Referencer== | |||
<references /> | |||
{{PIC}} | |||
{{Arduino Elektrisk}} | |||
[[Kategori:Arduino Analog]] | [[Kategori:Arduino Analog]] | ||
[[Kategori:PIC Analog]] | [[Kategori:PIC Analog]] | ||
Versionen fra 15. nov. 2022, 12:20
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.
AD-konvertering
For at en mikrocontroller kan arbejde med analoge værdier skal der ske en AD-konvertering, der konverterer den analoge indgangsspænding til en digital værdi med en eller anden opløsning.
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.
I dag har mange mikrocontrollere indbyggede AD-konvertere som typisk har 10 bit opløsning, hvilket give et talområde fra 0 til 1023.
Arduino Analoge indgange
I arduinoen er det ganske enkelt at anvende analoge indgange[1], da man kan gøre det med en enkelt kommando:
int ADtal;
ADtal = analogRead(kanal);
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.
Parameteren 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.

Arduino UNO rev. 3 med analoge indgange A0 til A5
Eksempler på anvendelser er angivet i Arduino Serial og Arduino AnalogInput.
PIC Analoge indgange
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
| PIC-type | Bibliotek |
|---|---|
| PIC12F675 | ADC_holst |
| PIC16F684 | ADC_holst |
| PIC16F690 | ADC_holst |
| PIC16F877 | ADC |
Referencer
| PIC | |
|---|---|
| PIC-Typer | PIC16F84 - PIC12F675 - PIC16F628 - PIC16F684 - PIC16F690 - PIC16F877 - PIC18F2550 |
| Programmeringsbegreber | Maskinkode - Mikrocontroller |
| Programmeringsmiljø | PIC-brænder - UsbPicProg - Analog indgang - ICSP |