Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 2.07 Termômetro de Leds Empty Exercício 2.07 Termômetro de Leds

Qui Ago 06, 2020 5:13 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.7
* Tema: Função IF / ELSE / IF
* Atividade: Termometro de Leds
* Descrição: Utilizar 3 leds para informar a temperatura, se abaixo de 30 graus verde, se maior que 30 e menor que 50 amarelo e se maior que 50 vermelho
* Hardware: Ligar os LED em pinos digital configurados como SAÍDA e o NTC em uma entrada analógica
* Comandos: pinMode, analogRead, IF ELSE IF, digitalWrite
* Dica1:A saída analógica aceita valores entre 0 e 255, e o conversor analógico possui 10 bits ou seja até 1024
* Dica2:Usar o debug() para verificar os valores do NTC para cada temperatura e aplicar nas comparações do IF/ELSE/IF
* Dica3:A função IF/ELSE/IF após encontrar uma condição verdadeira, não executa as demais comparações
* Dica4:Montar a função IF/ELSE/IF de forma que a condição anterior não atenda a próxima
*/

//DEFINICOES INICIAIS
#define led1 4 //Definido que o pino 4 irá se chamar led1
#define led2 3 //Definido que o pino 3 irá se chamar led2
#define led3 2 //Definido que o pino 2 irá se chamar led3
#define ntc A0 //Definido que o pino A0 irá se chamar ntc

//DECLARAcAO DE VARIAVEIS GLOBAIS
int temperatura;//Variável para ser atribuído o valor da temperatura

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(96000);//Porta serial inicializada
pinMode(led1,OUTPUT);//Configurado po pino 4 como saída
pinMode(led2,OUTPUT);//Configurado po pino 3 como saída
pinMode(led3,OUTPUT);//Configurado po pino 2 como saída
}

//FUNÇÕES COMPLEMENTARES
void debug(){

Serial.print("temperatura=");//Quando a função for ativada ele irá colocar o valor debaixo
Serial.println(analogRead(ntc));//O valor lido no ntc será mandado para o monitor serial
delay(200);//O intervalo de tempo será de 0,2 segundos
}

//PROGRAMA PRINCIPAL
//30°C=385 / 50°C=563
void loop() {
debug();//A função complementar será ativada
temperatura=analogRead(ntc);//O valor lido no ntc será atribuído à vairiável temperatura
if(temperatura<385){//Se o valor da variável temperatura for menor que 385 , a função será verdadeira
digitalWrite(led3,HIGH);//O led3 irá acender
digitalWrite(led2,LOW);//O led2 irá ficar apagado
digitalWrite(led1,LOW);//O led1 irá ficar apagado
}
else if(temperatura<=563){//Se o valor da variável temperatura for maior que 385 e menor que 563, a função será verdadeira
digitalWrite(led2,HIGH);//O led2 irá acender
digitalWrite(led3,LOW);//O led3 irá ficar apagado
digitalWrite(led1,LOW);//O led1 irá ficar apagado
}
else if (temperatura>563){//Se o valor da variável temperatura for maior que 563, a função será verdadeira
digitalWrite(led1,HIGH);//O led1 irá acender
digitalWrite(led2,LOW);//O led2 irá ficar apagado
digitalWrite(led3,LOW);//O led3 irá ficar apagado
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 2.07 Termômetro de Leds Empty Re: Exercício 2.07 Termômetro de Leds

Qua Ago 12, 2020 12:27 am
Ae Thiago, deu boa. Parabéns, funcionou direitinho. Nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos