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

Ir para baixo
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Exercício 4.17 Resolvido Monica Empty Exercício 4.17 Resolvido Monica

Sáb Abr 20, 2024 10:37 am
/*
* CURSO DE ROBOTICA 2021
*
* Exercicio: 4.17
* Tema: Termometro e Luximetro usando Procedimentos
* Atividade: Elaborar um programa utilizando procedimentos para resolver o exercicio
* Descrição: Usar um diplay para mostrar os valores de tempo de execução, LDR e temperatura, sinalizar se a emperatura subir de 30 graus por led.
* Hardware: Inicializar a porta serial, usar os sensores LDR e NTC, led vermelho e verde
* Comandos: Serial.begin(9600), lcd.print(), analogRead(), digitalWrite(), if()
* Dica1: Procedimentos são trechos do programa que são executados quando o procedimento é chamado e não recebem nem retornam nenhum dado
* Dica2: Vantagem 1: Segmentam o programa tornando-os mais fácil de desenvolver e entender
* Dica3: Vantagem 2: Ajudam a organizar o programa
* Dica4: Vantagem 3: Evitam a repetição de trechos do programa que podem ser executados
* Dica5: Declaração deve ser realizado sempre fora de outras funções ou procedimentos
* Dica6: Para declarar usa-se o nome do procedimento precedido de void, entre chaves o programa Ex. void nome{}{ 1a.instrução; ... ultima instrução; }
* Dica6: As variáveis GLOBAIS podem ser acessadas pelos procedimentos
* Dica7: Variáveis LOCAIS usadas nos procedimentos são liberadas quando o procedimento encerra
* Dica8: Para invocar um procedimento basta digitar o nome que foi declarado seguido de parenteses e terminando em ponto e virgula Ex. nome();
* Dica9: Resolver o exercício criando um procedimento para leitura dos sensores, outro para escrita no display, outro para sinalização dos leds
*/

//DEFINICOES INICIAIS
#include
#define LDR A0
#define NTC A1
#define ledVerde 2
#define ledVermelho 3

//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd (12,11,10,9,8,7);//
int Luminosidade ;//
byte Temperatura ;//
//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin (16,2);//
pinMode(ledVerde, OUTPUT);//
pinMode(ledVermelho, OUTPUT);//

}

//FUNÇÕES COMPLEMENTARES
void sensores (){
Luminosidade = map(analogRead(LDR), 11, 834, 1, 1000);//
Temperatura = map(analogRead(NTC), 150, 227, 0, 200);//
}
void alarme(){
if(Temperatura > 30){
digitalWrite (ledVerde,LOW);//
digitalWrite (ledVermelho, HIGH);//
}else{
digitalWrite (ledVerde, HIGH);//
digitalWrite (ledVermelho, LOW);//
}
}
void mostra(){
lcd.clear();//
lcd.print("Luminosidade");//
lcd.print(Luminosidade);//
lcd.setCursor(0,1);//
lcd.print("Temperatura");//
lcd.print(Temperatura);//
}

//PROGRAMA PRINCIPAL
void loop() {
sensores();//
alarme();//
mostra();//
delay(200);//
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos