/*
lcdlib.cpp (armazenar as funções);
lcdlib.h (header)
*/
#include "lcdlib.h"
Lcd display;//Cria-se o objeto chamado display;
void adc_init(void)
{
ADMUX = (1<<REFS0);
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}
uint16_t adc_read( uint8_t ch )
{
ch &= 0b00000111; // AND operation with 7
ADMUX = (ADMUX & 0xF8)|ch;
ADCSRA |= (1<<ADSC);
while(ADCSRA & (1<<ADSC));
return (ADCW);
}
void setup() {
display.lcd_config();
display.lcd_write_str(1, 1, "AN0:");
display.lcd_write_str(2, 1, "AN1:");
adc_init();
}
void loop() {
char buffer[20] = {0,};
snprintf(buffer, sizeof(buffer)-1, "%d ", (unsigned int)(adc_read(0)*(100/1023.0)));
display.lcd_write_str(1,5, buffer);
snprintf(buffer, sizeof(buffer)-1, "%d ", adc_read(1));
display.lcd_write_str(2,5, buffer);
}