=======SMC: Conhecimento de Exemplo======= =====Descrição===== O projeto SMC precisa de um sensor de umidade para que possamos registrar a umidade do composto através do arduino. =====Solução===== Através do datasheet do sensor, verificamos que o pino 1 é de alimentação, o 2 é uma saída anlógica e o 3 é o terra, portanto basta efetuar uma leitura analógica no pino 2. Para realizar isto com o Atmega, utilizamos as seguintes linhas de código: int main() { //Vref = AVcc; Bits ajustados a esquerda(haverão 8 bits em ADCH e 2 em ADCL); Canal 0 ADMUX = (1 << REFS0) | (1 << ADLAR) ; //Habilita a conversão AD ADCSRA = (1 << ADEN) ; //inicializa o lcd lcd_init(); sendInst(_LCD_ON | _LCD_CURSOR_ON | _LCD_CURSOR_BLINK); sendInst(_LCD_CLR); sendInst(_LCD_HOME); while (1) { double leitura; char printbuff[21]; //Inicia a conversão AD ADCSRA |= (1 << ADSC) ; //Espera a conversão terminar while (!(ADCSRA & (1 << ADIF))) ; //Atribue o valor da conversão à variável leitura leitura = ADCH ; //Converte a variável leitura (tipo double) para string 'printbuff' dtostrf(leitura, 10, 3, printbuff); //Manda para o LCD a string 'printbuff' writeStringXY(printbuff, 0, 0); //Espera um pouco antes da próxima conversão _delay_ms(100) ; } return 0 ; } Datasheet do sensor de umidade: http://www.ti.com/lit/ds/symlink/lm35.pdf Datasheet do Atmega: http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf Questão em fórum: https://community.particle.io/t/problem-with-the-lm35-temperature-sensor/22180