et:software:homelab:library:module:sensor
This is an old revision of the document!
Table of Contents
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(pin trigger, pin echo)
Ultraheli-kaugusanduri mõõtmise teostamise funktsioon. Funktsioon tekitab SRF04/SRF05 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); }
et/software/homelab/library/module/sensor.1321541326.txt.gz · Last modified: (external edit)
