Analog indgang: Forskelle mellem versioner
htx_>Bar |
Bar (diskussion | bidrag) m 1 version importeret |
(Ingen forskel)
| |
Versionen fra 25. okt. 2022, 21:07
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.
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 |
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.