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

Ir para baixo
Diogo Penha Marques
Diogo Penha Marques
Mensagens : 107
Data de inscrição : 29/02/2024
Idade : 14
Escola : Colégio Estadual da Colônia Murici

Diogo Saraiva Exercício 2.23 Empty Diogo Saraiva Exercício 2.23

Qui Jun 06, 2024 4:14 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.23
* Tema: Função WHILE
* Atividade: Construir um luximetro, para aferir ambiente de trabalho conforme NBR ISO/CIE 8995-1
* Descrição: O Luximetro deverá informar apenas se a luminosidade está acima do ajuste piscando o LED vermelho, abaixo fica aceso.
* Hardware: Ligar um led em um pino digital configurado como SAÍDA, usar o LDR e TRIMPOT em entradas analógicas
* Comandos: pinMode, digitalWrite, while(), analogRead(),
* DICA1: A função while() será usada para fazer o pisca rodar enquanto a luminosidade for maior que o definido pelo TRIMPOT
* DICA2: Usar duas variáveis de controle para LDR e TRIMPOT
* DICA3: Usar um pisca-pisca de um led dentro do while()
* DICA4: Fazer a leitura do LDR e TRIMPOT e comparar para acionar o pisca
* DICA5: As escalas do LDR e TRIMPOT são diferentes, usar map() para ajustar as escalas
*/

//DEFINICOES INICIAIS
#define led 3//Define que o pino 3 e chamara "led"
#define LDR A1//Define que o pino A1 e chamara "LDR"
#define trimpot A2//Define que o pino A2 e chamara "trimpot"

//DECLARAcAO DE VARIAVEIS
int trimpotV;//Variavel do tipo int chamada de trimpotV
int luz;//Variavel do tipo int chamada luz

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led, OUTPUT);//Define led como saida
}

//PROGRAMA PRINCIPAL
void loop() {
trimpotV = analogRead(trimpot);//Define que o valor de trimpotV e igual a leitura do trimpot
luz = analogRead(LDR);//Define que o valor de luz e igual a leitura do LDR
while(luz > trimpotV)//Enquanto luz for maior que trimpotV, execute:
{
trimpotV = analogRead(trimpot);//Define de novo que trimpotV e igual a leitura do trimpot(quando o while e verdadeiro ele interrompe o que esta fora dele, por isso temos que deinir de novo)
luz = analogRead(LDR);//Define de novo que luz e igual a leitura do LDR(quando o while e verdadeiro ele interrompe o que esta fora dele, por isso temos que deinir de novo)


digitalWrite(led, HIGH);//Liga o led
delay(100);//Tempo de espera de 100 ms
digitalWrite(led, LOW);//Desliga o led
delay(100);//Tempo de espera de 100 ms
}
digitalWrite(led,HIGH);//Liga o led
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5798
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Diogo Saraiva Exercício 2.23 Empty Re: Diogo Saraiva Exercício 2.23

Qui Set 05, 2024 9:27 pm
muito bom, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos