Differences

This shows you the differences between two versions of the page.

Link to this comparison view

et:examples:sensor:ir_distance:alpha [2012/04/05 17:44] – tekitatud illoet: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 <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);
 + }
 +}
 +</code>
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