Andurid

Seotud mooduliga: [HW] Andurite moodul

See teegi osa sisaldab Kodulabori andurite kasutamise funktsioone.

Andmetüübid

  • ir_distance_sensor
    Infrapuna-kaugusanduri kauguse arvutuse funktsiooni parameetrite struktuur. Kauguse arvutusvalem on a / (ADC + b) - k. Struktuuri liikmed:
    • a - jagatav.
    • b - vabaliige.
    • k - korrigeerimiskonstant.

Konstandid

  • ir_distance_sensor GP2Y0A21YK - Sharp GP2Y0A21YK kaugusanduri parameetrite struktuuri objekt.

Funktsioonid

  • signed short thermistor_calculate_celsius(unsigned short adc_value)
    Termistori temperatuuri arvutamine Celsiuse kraadides ADC muunduri väärtusest. Funktsioon põhineb teisendustabelil. Parameetrid:
    • adc_value - ADC teisenduse väärtus.
    • Tagastab temperatuuri Celsiuse kraadides -20 kuni 100 kraadi piires.
  • signed short ir_distance_calculate_cm(ir_distance_sensor sensor, unsigned short adc_value)
    IR kaugusanduri väljundpinge ADC väärtuse sentimeetriteks ümberarvutamise funktsioon. Parameetrid:
    • sensor - Kaugusanduri parameetrite struktuuri objekt.
    • adc_value - 10-bitine +5 V võrdluspingega ADC väärtus.
    • Tagastab kauguse sentimeetrites või -1, kui seda ei saanud arvutada.
  • 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);
}
et/software/homelab/library/module/sensor.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0