Alfabeetilise LCD koodi näide

//
// Kodulabori Andurite mooduli fototakisti näidisprogramm.
// LCD ekraanil kuvatakse ligikaudne valgustustihedus luksides
//
#include <stdio.h> 
#include <math.h>
#include <homelab/module/lcd_alpha.h>
#include <homelab/adc.h>
#include <homelab/delay.h>
 
//
// Põhiprogramm
//
int main(void)
{ 
	char text[16];  
	unsigned short adc_value;
	double voltage, resistance, illuminance;
 
	// LCD ekraani seadistamine
	lcd_alpha_init(LCD_ALPHA_DISP_ON); 
 
	// LCD ekraani puhastamine
	lcd_alpha_clear();
 
	// Programmi nimi
	lcd_alpha_write_string("Luksmeeter");
 
	// ADC muunduri seadistamine
	adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); 
 
	// Lõputu tsükkel
	while (true)
	{
		// Fototakisti keskmistatud väärtuse lugemine
		adc_value = adc_get_average_value(1, 10);
 
		// Pinge arvutamine ADC sisendis
		voltage = 5.0 * ((double)adc_value / 1024.0);
 
		// Fototakisti takistuse arvutamine pingejaguris
		resistance = (10.0 * 5.0) / voltage - 10.0;
 
		// Valgustustiheduse luksides arvutamine		
		illuminance = 255.84 * pow(resistance, -10/9);
 
		// Valgustustiheduse tekstiks teisendamine		
		sprintf(text, "%0.1f lux   ", illuminance); 
 
		// Näidu LCD-l kuvamine
		lcd_alpha_goto_xy(0, 1);
		lcd_alpha_write_string(text);
 
		// Viide 500 ms
		sw_delay_ms(500);
	}
}
et/exercises/sensor/photoresistor/aplha.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
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