Baixe o app para aproveitar ainda mais
Prévia do material em texto
Controle de temperatura ON - OFF com Arduino UNO É feito um controle conhecido como controle ON – OFF, que é também conhecido com o controle de “duas posições”, ou controle “liga e desliga”. O sinal de saída tem apenas duas posições que vão de um extremo ao outro, podendo ser: válvula aberta ou válvula fechada, resistência ligada ou resistência desligada, compressor ligado ou compressor desligado. Fonte: http://www.mecatronicaatual.com.br/educacao/1019-teoria-de-controle- pid No controle ON – OFF o sinal muda de liga para desliga ou vice –versa a medida que o sinal de erro passa pelo SetPoint. Conectando os componentes Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Figura 1.0 Componentes do circuito acima: 1. Sensor LM35 que é conectado a porta analógica do Arduino UNO, porta A0. 2. Display LDC aonde é visualizado a temperatura ambiente e aonde mostra se o motor esta ou não ligado. 3. O motor é acionado, quando a temperatura chega no seu limite determinado, e é desacionado quando a temperatura esta abaixo do limite determinado. 4. Transistor utilizado para fazer controle do chaveamento do motor. 5. O Arduino UNO é utilizado para fazer o controle do processamento do todos os dados do sensor. Para facilitar a montagem segue abaixo como inserir os jumpers no LCD/Arduino. - Pino 1 do LCD ligado ao GND do Arduino; - Pino 2 do LCD ligado ao 5V do Arduino; - Pino 3 do LCD ligado ao pino central do primeiro potenciômetro (controle de contraste (Não conectado na figura 1.0)); - Pino 4 do LCD ligado ao pino digital 9 do Arduino; - Pino 5 do LCD ligado ao GND do Arduino; - Pino 6 do LCD ligado ao pino digital 8 do Arduino; - Pino 11 do LCD ligado ao pino digital 5 do Arduino; - Pino 12 do LCD ligado ao pino digital 4 do Arduino; - Pino 13 do LCD ligado ao pino digital 3 do Arduino; - Pino 14 do LCD ligado ao pino digital 2 do Arduino; - Pino 15 do LCD ligado ao pino central do segundo potenciômetro (controle do brilho (Não conectado na figura 1.0)); - Pino 16 do LCD ligado ao GND do Arduino. Os demais pinos não serão utilizados neste projeto. Vamos ao código #include <LiquidCrystal.h> #include <Limits.h> const int sensorTemp = 0; // Pino analógico em que o sensor de temperatura está conectado int Motor = 13; // Declara o pino digital 13 para acionar o cooler int tempPin = 0; // Declara o pino analógico 0 para ler o valor do sensor de temperatura int valorSensorTemp = 0; // Variável usada para ler o valor de temperatura int valorTemp = INT_MAX; // Variável usada para armazenar o menor valor de temperatura LiquidCrystal lcd(9, 8, 5, 4, 3, 2); // Cria um objeto LCD e atribui os pinos void setup() { pinMode (Motor, OUTPUT); // Define o pino 13 como saída lcd.begin(16, 2); // Define o display com 16 colunas e 2 linhas } void loop() { /*Para evitar as grandes variações de leitura do componente LM35 são feitas 6 leitura é o menor valor lido prevalece*/ valorTemp = INT_MAX; // Inicializando a variável com o maior valor int possível for (int i = 1; i <= 6; i++) { // Lendo o valor do sensor de temperatura valorSensorTemp = analogRead(sensorTemp); valorSensorTemp *= 0.54 ; // Transforma o valor lido do sensor de temperatura em graus Celsius aproximados if (valorSensorTemp < valorTemp) { // Mantendo sempre a menor temperatura lida valorTemp = valorSensorTemp; } delay(100); } if(valorTemp > 35) // Indica condição para acionamento do cooler { lcd.setCursor(0,1); // Define a coluna 0 e linha 1 do LCD onde será impresso a string lcd.write("Motor ligado !"); // Imprime no LCD digitalWrite(Motor, HIGH); // Quando condição verdadeira, liga o cooler } else { lcd.setCursor(0,1); lcd.write("Motor desligado !"); digitalWrite(Motor, LOW); // Desliga cooler quando este estiver a baixo da valorTemp, indicando no LCD que esta desligado } delay(1000); // Exibindo valor da leitura do sensor de temperatura no display LCD lcd.clear(); // Limpa o display do LCD lcd.print("Temperatura:"); // Imprime a string no display do LCD lcd.print(valorTemp); lcd.write(B11011111); // Símbolo de graus Celsius lcd.print("C"); delay(2000); // Aguarda 2 segundos } Fonte: http://facacomarduino.blogspot.com.br/2013/07/projeto-10-controle-de- temperatura-com.html
Compartilhar