This shows you the differences between two versions of the page.
| et:examples:sensor:ir_distance:alpha [2012/04/05 17:44] – tekitatud illo | et:examples:sensor:ir_distance:alpha [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <code c> | ||
| + | // | ||
| + | // Kodulabori IR kaugusmõõdiku näidisprogramm. | ||
| + | // LCD ekraanil kuvatakse mõõdetud kaugus sentimeetrites. | ||
| + | // | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | // | ||
| + | // Põhiprogramm | ||
| + | // | ||
| + | int main(void) | ||
| + | { | ||
| + | signed short value, distance; | ||
| + | char text[16]; | ||
| + | |||
| + | // LCD ekraani seadistamine | ||
| + | lcd_alpha_init(LCD_ALPHA_DISP_ON); | ||
| + | |||
| + | // LCD ekraani puhastamine | ||
| + | lcd_alpha_clear(); | ||
| + | |||
| + | // Programmi nimi | ||
| + | lcd_alpha_write_string(" | ||
| + | |||
| + | // ADC muunduri seadistamine | ||
| + | adc_init(ADC_REF_AVCC, | ||
| + | |||
| + | // Lõputu tsükkel | ||
| + | while (true) | ||
| + | { | ||
| + | // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine | ||
| + | value = adc_get_average_value(0, | ||
| + | |||
| + | // ADC väärtuse kauguseks ümberarvutamine | ||
| + | distance = ir_distance_calculate_cm(GP2Y0A21YK, | ||
| + | |||
| + | // Kas saab kauguse või veateate kuvada ? | ||
| + | if (distance >= 0) | ||
| + | { | ||
| + | sprintf(text, | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | sprintf(text, | ||
| + | } | ||
| + | |||
| + | // Teksti kuvamine LCD teise rea alguses | ||
| + | lcd_alpha_goto_xy(0, | ||
| + | lcd_alpha_write_string(text); | ||
| + | |||
| + | // Paus | ||
| + | sw_delay_ms(500); | ||
| + | } | ||
| + | } | ||
| + | </ | ||