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);
}
}