Ir ao conteúdo
  • Cadastre-se

Almirêz

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

2
  1. @Carlos ZanonTestei e obtive o mesmo problema. Quando o relé está ligado, a tensão fica em 4.5 e se o esp01 também estiver ligado a tensão diminui mais um pouco, o contrário também acontece. E na fórmula faço uma regra de 3 com a tensão junto com a conversão de Volts para temperatura (de acordo com o lm35) 5V = 1023 Xv = Valor de entrada (analogRead) Temperatura = xV * 100 Então, se a tensão ficar variando, a fórmula se torna incorreta... Por isso estou tentando descobrir como ter uma tensão constante, sem usar uma fonte externa.
  2. Estou fazendo um programa (no arduino uno) que mede a temperatura (com o sensor lm35) e liga/desliga um relé, mas quando o relé está ligado a tensão diminui e a temperatura fica alterada. Como eu faço para evitar isso? Observação: Ambos os componentes estão conectados no 5v do arduino e na fórmula de conversão utilizo 5V como a tensão inicial (5V / 1023 = 0.0048828125) Estou usando a seguinte fórmula: temperatura = (valor lido)* 0.0048828125 * 100) Uma fórmula mais simples de entender seria: temperatura = valor lido * (5V/1023)/0,001 Este é o código: #define pinLuz 7 const int sensor1 = A2; //PINO ANALÓGICO UTILIZADO PELO SENSOR const int sensor2 = A3; //PINO ANALÓGICO UTILIZADO PELO SENSOR const int sensor3 = A4; //PINO ANALÓGICO UTILIZADO PELO SENSOR const int controle = A5; #define pinLuz 7 float temperatura_0 ; //temperatura no SENSOR1 float temperatura_1 ; //temperatura no SENSOR2 float temperatura_2 ; //temperatura no SENSOR3 void setup() { Serial.begin(9600); pinMode(pinLuz, OUTPUT); digitalWrite(pinLuz, LOW); } void loop() { if(Serial.available() >0){ char c = Serial.read(); if(c == 'v'){ temperatura_0 = (analogRead(sensor1) * 0.0048828125 * 100); //VARIÁVEL RECEBE A TEMPERATURA MEDIDA Serial.print(0);Serial.print("|");Serial.print(temperatura_0);Serial.print("|");//IMPRIME NA SERIAL A TEMPERATURA MEDIDA temperatura_1 = (analogRead(sensor2) * 0.0048828125 * 100); //VARIÁVEL RECEBE A TEMPERATURA MEDIDA Serial.print(1);Serial.print("|");Serial.print(temperatura_1);Serial.print("|");//IMPRIME NA SERIAL A TEMPERATURA MEDIDA temperatura_2 = (analogRead(sensor3) * 0.0048828125 * 100); //VARIÁVEL RECEBE A TEMPERATURA MEDIDA Serial.print(2);Serial.print("|");Serial.print(temperatura_2);Serial.print("|");//IMPRIME NA SERIAL A TEMPERATURA MEDIDA } if(c== 'l'){ digitalWrite(pinLuz, HIGH); } if(c=='d'){ digitalWrite(pinLuz, LOW); } } } Grato.
  3. Olá. Desde já sou grato por aqueles que estiverem lendo. Fiz um termômetro utilizando o " Waterproof NTC 10K 1% 3950 Thermistor Accuracy Temperature Sensor Cable Probe for W1209 W1401" (inclusive isso é quase tudo que sei sobre o termistor, já que o vendedor não tem o datasheet) em conjunto com o arduino uno, utilizando da formula de divisão de tensão e regra de três como verá a seguir, mas logo percebi que a temperatura não estava coincidindo com a de outros termômetros. #define pinSensor A0; // pino analógico do sensor int Vin = 5; //tensão de entrada float Vout; // tensão de saída int R2 = 220; //resistor da divisão de tensão float R1; //resistência do sensor de temperatura float valorTermistor; //leitura do sensor float temperatura = 0; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(A0, INPUT); } void loop() { // put your main code here, to run repeatedly: valorThermistor = analogRead(A0); Vout = (valorTermistor*Vin)/1023; R1 = (R2*(Vin-Vout))/Vout; temperatura = 250000/R1; Serial.print("Temperatura : "); Serial.println(temperatura); delay(500); } Revi o código e não encontrei nada, então continuei pesquisando, até que me lembrei que por se tratar de um NTC tem sua curva característica (forma uma função exponencial). Depois disso fui em buscas de outras fórmulas que estabelecessem a relação que preciso, não consegui fazer a fórmula a partir de outra ou algum raciocínio em específico. Aliás, encontrei uma fórmula na internet que outras pessoas utilizaram (como a Steinhart-Hart equation e a simplified B parameter equation. ), mas não consegui colocar no meu projeto, na verdade, nem as entendi muito bem. Observação: acredito que o parâmetro B deste termistor seja 3950. E justamente por não ter conseguido resolver esta questão (relação entre a resistência do termistor e a temperatura) que vim a este fórum. Estou necessitando de uma solução com urgência, já tentei tudo que imaginei, mas não consegui chegar a nenhum resultado mais satisfatório do que o primeiro (este que coloquei acima). Grato a todos que leram e se preocuparam. Se precisarem de mais alguma informação estarei aqui.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!