7ª Experiência

Mais um pouco das anotações....


NTC (Negative Temperature Coefficient – Coeficiente Negativo de Temperatura) é um componente eletrônico sensível a temperatura. Conforme a temperatura aumenta, a sua resistência diminui.


Para fazer a atividade vamos precisar de:

um resistor de 10K ohms
um NTC de 10K ohms


001.png

002.png


Agora vamos para a programação:


/*
atividade 07
*/
#include <math.h>
int pinoNTC = 4;
int valorLido = 0;
double termistorNTC(int valorAnalogico) {
double temperatura;
temperatura = log(((10240000/valorAnalogico) - 10000));
temperatura = 1 / (0.001129148 + (0.000234125 * temperatura) + (0.0000000876741 * temperatura * temperatura * temperatura));
//--- converte Kelvin em Celcius
temperatura = temperatura - 273.15;
return temperatura;
}
void setup() {
pinMode(pinoNTC, INPUT);
Serial.begin(9600);
delay(5000);
}
void loop() {
valorLido = int(termistorNTC(analogRead(pinoNTC)));
Serial.println( valorLido );
delay(1000);
}




Salve. 


O resultado esperado é ler a temperatura ambiente e mostrá-la no monitor serial da IDE do Arduino. 
Para isto, ao final da transferência do programa, é necessário clicar no botão Serial Monitor.



003.png

Ao iniciar o sketch, o bloco setup() configura o pino que está ligado o NTC como entrada e define a velocidade de comunicação com a saída serial. 


Aguarda 5 segundos e transfere o controle para o bloco loop(). 


Este por sua vez chama a função termistorNTC, passando para esta função o valor informado pelo NTC. 


A função faz o cálculo, convertendo em graus Celcius, e devolve o valor calculado para a variável valorLido. 


Por fim, apresenta na tela do monitor serial este valor, aguarda 1 segundo e reinicia o ciclo.



#include
instrui a IDE, no momento de verificar e/ou transferir o sketch para a placa, de incluir o arquivo indicado. 


O tipo double, assim como o float, permite manipular números em ponto flutuante (ponto decimal). 


Functions - são blocos de código que ajudam a estruturar um programa. Em todos os sketches, até por ser obrigatório, criamos duas funções: setup() e loop().


Toda função possui esta estrutura:
<tipo de dado do retorno> <nome da função> ( <parâmetros de entrada> ) {
}


Return - quando houver algum dado de retorno.


void setup() {} - indica que a função setup não retorna dado (void - vazio) e não possui parâmetros de entrada ().


Serial - é para comunicação serial entre a placa Arduino e o computador ou até mesmo outro dispositivo que aceite comunicação serial. Quando em uso, o Arduino utiliza os pinos digitais 0 e 1 para a comunicação, portanto não use estes pinos para entrada ou saída.


No bloco setup(), Serial.begin(9600); inicia a comunicação com os pinos seriais a uma velocidade de 9600 bps (bits por segundo). Esta é a velocidade que a placa Arduino irá enviar os dados para o computador. Os valores comuns são: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, ou 115200. Porém, pode-se colocar outro valor caso o dispositivo com o qual você quer comunicar exija uma configuração diferente.


Bloco loop(), Serial.println( valorLido ); exibe no monitor serial o conteúdo da variável valorLido.



Foi MUITO divertido!!!!

Que orgulho!!!!! kkkkk

Sem_t_tulo.png