- Rafael123
- Mensagens : 87
Data de inscrição : 18/03/2023
Idade : 14
Escola : Lindaura Ribeiro Lucas
Exercício 2.7 Rafael123
Qua Set 13, 2023 2:48 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 ledVerde 2//o pino 2 vai se chamar ledVerde
#define ledAmarelo 3//o pino 3 vai se chamar ledAmarelo
#define ledVerm 4//o pino 4 vai se chamar ledVerm
#define ntc A0//o A0 vai se chamar ntc
//DECLARAcAO DE VARIAVEIS GLOBAIS
int temperatura;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(ledVerde, OUTPUT);//define o ledVerde como saída
pinMode(ledAmarelo, OUTPUT);//define o ledAmarelo como saída
pinMode(ledVerm, OUTPUT);//define o ledVerm como saída
}
//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.println(analogRead(ntc));
delay(200);
}
//1 - 476 ; 2 - 642 ; 3 -
//PROGRAMA PRINCIPAL
void loop() {
temperatura = analogRead(ntc);
if(temperatura < 476){
digitalWrite(ledVerde, HIGH);//acender ledVerd
digitalWrite(ledAmarelo, LOW);//desligar ledAmarelo
digitalWrite(ledVerm, LOW);//desligar ledVerm
}
else if (temperatura <= 642){
digitalWrite(ledVerde, LOW);//desligar ledVerd
digitalWrite(ledAmarelo, HIGH);//acender ledAmarelo
digitalWrite(ledVerm, LOW);//desligar ledVerm
} else {
digitalWrite(ledVerde, LOW);//desligar ledVerd
digitalWrite(ledAmarelo, LOW);//desligar ledAmarelo
digitalWrite(ledVerm, HIGH);//ascender ledVerm
}
}
* 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 ledVerde 2//o pino 2 vai se chamar ledVerde
#define ledAmarelo 3//o pino 3 vai se chamar ledAmarelo
#define ledVerm 4//o pino 4 vai se chamar ledVerm
#define ntc A0//o A0 vai se chamar ntc
//DECLARAcAO DE VARIAVEIS GLOBAIS
int temperatura;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(ledVerde, OUTPUT);//define o ledVerde como saída
pinMode(ledAmarelo, OUTPUT);//define o ledAmarelo como saída
pinMode(ledVerm, OUTPUT);//define o ledVerm como saída
}
//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.println(analogRead(ntc));
delay(200);
}
//1 - 476 ; 2 - 642 ; 3 -
//PROGRAMA PRINCIPAL
void loop() {
temperatura = analogRead(ntc);
if(temperatura < 476){
digitalWrite(ledVerde, HIGH);//acender ledVerd
digitalWrite(ledAmarelo, LOW);//desligar ledAmarelo
digitalWrite(ledVerm, LOW);//desligar ledVerm
}
else if (temperatura <= 642){
digitalWrite(ledVerde, LOW);//desligar ledVerd
digitalWrite(ledAmarelo, HIGH);//acender ledAmarelo
digitalWrite(ledVerm, LOW);//desligar ledVerm
} else {
digitalWrite(ledVerde, LOW);//desligar ledVerd
digitalWrite(ledAmarelo, LOW);//desligar ledAmarelo
digitalWrite(ledVerm, HIGH);//ascender ledVerm
}
}
- Monica Moreno
- Mensagens : 720
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: Exercício 2.7 Rafael123
Sex Set 22, 2023 2:38 pm
Bom Dia Rafael
Tudo Bem?
Erros / Revisões / Perguntas
1° Termine de Comentar
Nota 80.0
Aguardo Terminar
Tudo Bem?
Erros / Revisões / Perguntas
1° Termine de Comentar
Nota 80.0
Aguardo Terminar
Permissões neste sub-fórum
Não podes responder a tópicos
|
|