// // Kodulabori IR kaugusmõõdiku näidisprogramm. // LCD ekraanil kuvatakse mõõdetud kaugus sentimeetrites. // #include <stdio.h> #include <homelab/adc.h> #include <homelab/delay.h> #include <homelab/module/sensors.h> #include <homelab/module/lcd_alpha.h> // // 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("Kaugusandur"); // ADC muunduri seadistamine adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); // Lõputu tsükkel while (true) { // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine value = adc_get_average_value(0, 4); // ADC väärtuse kauguseks ümberarvutamine distance = ir_distance_calculate_cm(GP2Y0A21YK, value); // Kas saab kauguse või veateate kuvada ? if (distance >= 0) { sprintf(text, "%d cm ", distance); } else { sprintf(text, "Viga "); } // Teksti kuvamine LCD teise rea alguses lcd_alpha_goto_xy(0, 1); lcd_alpha_write_string(text); // Paus sw_delay_ms(500); } }