Andurid
Seotud mooduliga: [HW] Andurite moodul
See teegi osa sisaldab Kodulabori andurite kasutamise funktsioone.
Andmetüübid
Konstandid
Funktsioonid
unsigned short ultrasonic_measure_srf04(pin trigger, pin echo)
Ultraheli-kaugusanduri mõõtmise teostamise funktsioon. Funktsioon tekitab SRF04 kaugusmõõdiku päästikuimpulsi ja mõõdab kajaimpulsi saabumise aega. Aja põhjal arvutatakse objekti kaugus. Mõõtmine võtab aega kuni 36 ms. Funktsioon eeldab 14.7456
MHz mikrokontrolleri taktsagedust. Parameetrid:
trigger - päästiku viigu muutuja.
echo - kaja viigu muutuja.
Tagastab kauguse sentimeetrites või 0, kui mõõtmine ebaõnnestus.
unsigned short ultrasonic_measure_srf05(pin trigger_echo)
Ultraheli-kaugusanduri mõõtmise teostamise funktsioon. Funktsioon tekitab kombineeritud signaali reziimis töötava SRF05 kaugusmõõdiku päästikuimpulsi ja mõõdab sama viigu pealt kajaimpulsi saabumise aega. Aja põhjal arvutatakse objekti kaugus. Mõõtmine võtab aega kuni 36 ms. Funktsioon eeldab 14.7456
MHz mikrokontrolleri taktsagedust. Parameetrid:
trigger_echo - päästiku/kaja viigu muutuja.
Tagastab kauguse sentimeetrites või 0, kui mõõtmine ebaõnnestus.
long map(long x, long in_min, long in_max, long out_min, long out_max)
Teisendab anduri väärtuse soovitud väärtuste vahemikuks. Võimaldab väärtusi ka inverteerida.
x - sisend muutuja väärtuste vahemiku teisendamiseks
in_min & in_max - sisend väärtuse minimaalne ja maksimaalne number
out_min & out_max - soovitud väljundi minimaalne ja maksimaalne väärtus
Näide
#include <homelab/module/sensors.h>
// Ultraheli kaugusmõõdiku juhtviik
pin pin_triggerecho = PIN(G, 0);
int main(void)
{
unsigned short adc_value = 400; // näidisväärtus
signed short distance;
// IR kaugusanduri ADC väärtuse sentimeetriteks teisendamine
distance = ir_distance_calculate_cm(GP2Y0A21YK, adc_value);
// Ultraheli-kaugusanduriga mõõtmine
distance = ultrasonic_measure_srf05(pin_triggerecho);
}