Iskanje
Informacije
Pogoji in informacije
Vprašajte nas
Galago elektronika
Galago d.o.o.
Trg svobode 20
2390 Ravne na Koroškem
Slovenija
E-mail: info@galago.si
Telefon: 02 620 08 14
Telefon: 040 559 432
Facebook

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

Avtor: Mitja Breznik
Avtor: 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).

 

Uporabljeni artikli


DODAJ VSE