- 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 4.3
Qui Set 12, 2024 4:32 pm
- Código:
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.3
* Tema: Media de Luminosidade
* Atividade: Leitura da luminosidade captada pelo LDR e apresentar a media dos valores no display
* Descrição: Realizar a leitura do LDR a cada 500ms e armazenar num vetor de 10 posições, usar uma função para calcular a media e apresentar no display
* Hardware: Montar o display e usar o LDR da placa
* Comandos: lcd.print(); for(); if(); Serial.print(), for()
* Dica1: String é uma variável que armazena um conjunto de diversos valores do mesmo tipo
* Dica2: Declaração do vetor int nome_vetor[tamanho]; tipo dos dados, no caso int. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor
* Dica3: A cada 500ms realiza a leitura do valor do LDR e guarda numa posição do vetor, quando chegar na posição 10 volta a guardar na posição 1
* Dica4: Apos a leitura realizar o calculo da media, que é a soma de todos os valores dividido por 10
* Dica5: Apos obter a média escrever no display
*/
//DEFINICOES INICIAIS
#include <LiquidCrystal.h>//Inclui a biblioteca do display
#define ldr A0//Nomeia o pino analogico A0 de ldr
//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(12,13,4,5,6,7);//Variavel do display
int vetor[10];//Vetor de tamanho 10
int media;//Variavel que guarda a media do vetor
//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16,2);//Inicia o display
Serial.begin(9600);//Inicia a porta serial
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
for(int i = 0; i < 10; i++)//Laço que vai adicionar itens com o valor do brilho do ldr a lista
{
delay(500);//Tempo de espera de 500 ms
vetor[i] = analogRead(ldr);//Adiciona na posiçao i do vetor o valor da leitura do ldr
media += vetor[i];//Adiciona o item i do vetor a media
Serial.print("Luminosidade: ");//Mostra no monitor "Luminosidade: "
Serial.println(vetor[i]);//Mostra o item i do vetor e pula uma linha
}
media /= 10;//Divide a media por 10
lcd.print(media);//Mostra no display o valor de media
Serial.println("");//Pula uma linha no monitor
Serial.print("Media: ");//Mostra no monitor a mensagem "Media: "
Serial.println(media);//Mostra no monitor o valor de media e pula uma linha
Serial.println("");//Pula linha no monitor
delay(5000);//Tempo de espera de 5 segundos
lcd.clear();//Limpa o display
}
Re: Diogo Saraiva Exercício 4.3
Ter Out 08, 2024 10:06 pm
Oi Diogo, seu programa funcionou de uma forma diferente que eu esperava, mas vamos as considerações.
- Esse exercício era para guardar os dados no vetor e depois usar um for() para ler o conteudo do vetor. Usou o for() para contar as 10 amostras, guardar no vetor e já fazendo a media. Vou considerar que cumpriu a varredura do vetor com for()
- Na proposta se usar uma variável para controlar a posição do novo valor e depois o for() para varrer todas as posições, teria a média a cada leitura, o que evita de ficar esperando para ver o resultado. Como não especifiquei vou ter que aceitar, já que a média calculou corretamente
- A apresentação no display ficou sem formatação, poderia ter caprichado mais, sei que tem capacidade, mas como pedi o valor da média e ela apareceu, também tenho que considerar.
- Quanto aos comentarios ainda está interpretando as linhas comando a comando, espero que faça um comentário sobre como o comando interage no programa e não a interpretação literal dele. Orientativo que não vai treduzir a nota nesse exercício.
Nota 10.0
- Esse exercício era para guardar os dados no vetor e depois usar um for() para ler o conteudo do vetor. Usou o for() para contar as 10 amostras, guardar no vetor e já fazendo a media. Vou considerar que cumpriu a varredura do vetor com for()
- Na proposta se usar uma variável para controlar a posição do novo valor e depois o for() para varrer todas as posições, teria a média a cada leitura, o que evita de ficar esperando para ver o resultado. Como não especifiquei vou ter que aceitar, já que a média calculou corretamente
- A apresentação no display ficou sem formatação, poderia ter caprichado mais, sei que tem capacidade, mas como pedi o valor da média e ela apareceu, também tenho que considerar.
- Quanto aos comentarios ainda está interpretando as linhas comando a comando, espero que faça um comentário sobre como o comando interage no programa e não a interpretação literal dele. Orientativo que não vai treduzir a nota nesse exercício.
Nota 10.0
Permissões neste sub-fórum
Não podes responder a tópicos