This is an old revision of the document!


Sensors

Seotud mooduliga: [HW] Sensors Module

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(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.

Näide

#include <homelab/module/sensors.h>
 
// Ultraheli kaugusmõõdiku juhtviigud
pin pin_trigger = PIN(G, 1);
pin pin_echo    = 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(pin_trigger, pin_echo);
}
en/software/homelab/library/module/sensor.1265633635.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
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