Recentemente adquiri um Kit Iniciante V6 pela Robocore. Este kit vem com um sensor de temperatura LM35.
Li, em alguns blogs e etc, que o valor máximo deste tipo de sensor pode chegar em 1024. Acontece que o meu monitor serial registra sempre 1023 no console.
Teoricamente, em algumas fórmulas que li, a temperatura em Celsius deveria ser, então, cerca de 200 graus.
Primeiro, é possível que eu esteja errando em algo nos cálculos, certo?
Segundo, é possível que o sensor esteja com problemas ou que tenha algo influenciando o mesmo? Ele foi montado em cima de uma bancada relativamente arejada.
Nunca usei o LM35, apesar de ter alguns aqui, mas será que o sensor não está danificado?
Como está seu circuito e seu código?
Mande aqui para facilitar a galera a ajudar.
[]s e boa sorte!
O seu kit é o v6, pelo que vi, o que eles estão vendendo agora é o v7 que tem o LM35 que é igual ao da imagem abaixo:
O comportamento que você descreve em seu sensor de temperatura não é o comportamento do LM35 e sim de um termistor 1KΩ, como este da imagem abaixo e que era vendido nos kits anteriores da Robocore como um sensor de temperatura, um erro bem banal:
O termistor é um resistor térmico, ele varia a resistência conforme a temperatura, como o seu deve ser de 1KΩ, a resistência varia de 0Ω a 1023Ω, ou seja, 1024 valores, programadores contam o sistema decimal a partir do 0 e não a partir 1, como aprendemos na escola.
Para que você faça a coerção de valores, você pode utilizar a função map do Arduino e coargir os valores retornados a ficarem no intervalo que desejar.
No entanto, você pode aproximar a relação entre temperatura e resistência com várias equações, como a equação de Steinhart-Hart, mas não precisa de tanto, pois já existem bibliotecas de Arduino que fazem isso para você, mesmo assim, ao usar um Termistor, a margem de erro é muito grande, sem dizer que eles não foram projetados para medir temperatura, para isso, é melhor usar um LM35 da Texas mesmo, ele vai retornar a temperatura em Celsius entre -50º e 150º correta com uma margem de erro de 0.5º.
Iniciante de primeiríssima viagem, estava fazendo um experimento de medição que a própria Robocore cria. Junto com o kit vem um PDF com alguns sketchs. O componente é esse termistor mesmo, e salvo engano é de 1KΩ também.
Como não estou em casa e só vou chegar à noite, posso olhar essas bibliotecas e o manual para entender se tem mais alguma informação que eu deixei passar algo.
De qualquer forma, assim que chegar tento implementar a função map e mapear os valores com a função.
O código já havia sido revisado. É bem simples e tem somente um read da porta analógica e um write no console, por isso não postei. Desculpe @mlemos :sorry:
Amigos, vou verificar com toda atenção possível! Obrigado pelas dicas. []s
Estou retirando meu Arduíno da gaveta e resolvi começar logo com esse problema que tive. Peguei um código em um site e adaptei ao meu arduíno, fazendo a leitura Analógica conforme o projeto especifica. O circuito está montado em cima de um resistor de 10 KΩ, um sensor NTC e o código. Não existe nada mais.
Além disso, utilizando essa conversão do código (que pelo que li, acredito que seja a de Steinhart) o monitor de serial me retorna uma temperatura negativa, e sempre o valor serial máximo. Há também uma imagem do circuito sugerido pela robocore.