This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:examples:sensor:ir_distance [2014/10/09 09:03] – raivo.sell | et:examples:sensor:ir_distance [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~PB~~ | + | < |
====== Infrapuna kaugusandur ====== | ====== Infrapuna kaugusandur ====== | ||
- | //Vajalikud teadmised: [HW] [[et: | + | //Vajalikud teadmised: |
+ | [HW] [[et: | ||
+ | [AVR] [[et: | ||
+ | [LIB] [[et: | ||
===== Teooria ===== | ===== Teooria ===== | ||
Line 66: | Line 69: | ||
// IR kaugusanduri ADC väärtuse sentimeetriteks teisendamine | // IR kaugusanduri ADC väärtuse sentimeetriteks teisendamine | ||
- | // Tagastab | + | // Tagastatakse |
signed short ir_distance_calculate_cm(ir_distance_sensor sensor, | signed short ir_distance_calculate_cm(ir_distance_sensor sensor, | ||
unsigned short adc_value) | unsigned short adc_value) | ||
Line 80: | Line 83: | ||
Teisenduse tegemiseks tuleb välja kutsuda // | Teisenduse tegemiseks tuleb välja kutsuda // | ||
+ | < | ||
<code c> | <code c> | ||
// Kodulabori IR kaugusmõõdiku näidisprogramm | // Kodulabori IR kaugusmõõdiku näidisprogramm | ||
Line 105: | Line 108: | ||
// LCD ekraani seadistamine | // LCD ekraani seadistamine | ||
lcd_gfx_init(); | lcd_gfx_init(); | ||
- | |||
- | // LCD ekraani puhastamine | ||
lcd_gfx_clear(); | lcd_gfx_clear(); | ||
- | |||
- | //LCD-l kirjutamise koha valik | ||
lcd_gfx_goto_char_xy(1, | lcd_gfx_goto_char_xy(1, | ||
- | |||
- | // Programmi nimi | ||
lcd_gfx_write_string(" | lcd_gfx_write_string(" | ||
Line 119: | Line 116: | ||
// Lõputu tsükkel | // Lõputu tsükkel | ||
- | while (true) | + | while (1) |
{ | { | ||
// Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine | // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine | ||
Line 129: | Line 126: | ||
lcd_gfx_goto_char_xy(1, | lcd_gfx_goto_char_xy(1, | ||
- | // Kas saab kauguse | + | // Kauguse |
if (distance >= 0) | if (distance >= 0) | ||
{ | { | ||
- | sprintf(text, | + | sprintf(text, |
} | } | ||
else | else | ||
Line 139: | Line 136: | ||
} | } | ||
- | // Teksti kuvamine LCD teise rea alguses | ||
lcd_gfx_goto_char_xy(1, | lcd_gfx_goto_char_xy(1, | ||
lcd_gfx_write_string(text); | lcd_gfx_write_string(text); | ||
- | |||
- | // Paus | ||
sw_delay_ms(500); | sw_delay_ms(500); | ||
} | } |