Analogno-digitalna pretvorba – potenciometri, optoupori, senzorji temperature, vlage… Kako Arduino zaznava prostor?

Author: Mitja Breznik

Analogno-digitalna (ADC) se uporablja v primeru, da iz okolice zbiramo podatke iz senzorjev, ki merijo analogno. To so običajno poceni in preprosti senzorji.

 

Analogni vhodi na razvojni plošči Arduino izmerijo napetost in jo pretvorijo v število od 0 do 1024. Tip števila je celoštevilski.

 

Merjenje temperature (uporabimo termistor ali drugačen elekment za katerega poznamo koliko se spremeni upornost glede na temperaturo zaporedno pa vežemo znani upor):

Merjenje jakosti svetlobe (v primerjavi uporabe optoupora, vežemo zaporedno znani upor, pri uporabi optodiode pa moramo paziti na pravilno polarizirano diodo (v zaporni smeri):

Program, ki bo predstavljen bo meril napetost na potenciometru in to napetost pretvoril v zasuk(kot) na servo motorju. V primerjavi z prejšnjim vodičem smo dodali potenciometer.

Kako povezati potenciometer:

 

Potenciometer ima tri priključke na dva priključimo napajalno napetosti in GND, tretjemu (običajno postavljenem na sredini) pa enega izmed analognih vhodov.

 

Program:

 

#include  

 

Servo servo1;  // ustvari objekt za krmiljenje serva

 

float napetost; // napetost v decimalni obliki za deljenje v nadaljevanju

float kot;  //kot v decimalni obliki

 

void setup() 

  servo1.attach(3);  // navedemo na katerem pinu se nahaja signali kabel za servo

 

 

void loop() 

  napetost=analogRead(5); //preberi napetost na potenciometru

  kot= 180*napetost/1024; //ki pretvori vrednost od 0-1024 v vrednost od 0-180  

  servo1.write(int(kot));                  // podamo kot kam naj se servo postavi int() pretvarja iz decimalne v celoštevilsko obliko

 delay(15);

}

 

 

Merjenje ADC je zelo preprosto uporabimo analogRead() funkcijo, navedemo le na katerem analognem vhodu merimo. Vrednost pa zapišemo v spremenljivko, ki jo predhodno definiramo. 

 

 

Dodatne zamisli:

 

Pri analognih meritvah moramo vedno upoštevati kakšno natančnost in razpon dobimo prek napetostnega delilnika, za prireditev razpona lahko uporabimo referenčno napetost, več na http://arduino.cc/en/Reference/AnalogReference.

 

Prek analognih meritev lahko obdelujemo številne fizikalne količine le poiskati je potrebno ustrezen senzor.

 

Za natančnejše in bolj specializirane meritve se uporabljajo čipi ali razširitveni »shield«-i, ki pa uporabljajo digitalno komunikacijo. Za povezavo je na spletu mnogo navodil in knjižnic, ki vam bodo pomagale, tudi na tem portalu bomo naredili vodiče nekaterih načinov digitalne komunikacije (I2C, serial).