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

Ir para baixo
RafaelMello281
RafaelMello281
Mensagens : 28
Data de inscrição : 03/03/2022
Escola : Colégio Lindaura Ribeiro Lucas

Exercício 1.11 Rafael M Empty Exercício 1.11 Rafael M

Sáb Set 03, 2022 9:51 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.11
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho conforme a posição do TRIMPOT
* Descrição: Usar um pino analógico para controlar o brilho do led e uma entrada analógica para medir posição do trimpot
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, analogWrite,
* 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:converter a escala do TRIMPOT usando conversão simples
* Dica3:Escrever o valor lido do TRIMPOT no led, tente també fazer o brilho inversamente proporcional a posição do TRIMPOT
* Dica4:Na função map tente ajustar os valores de entrada para a escala chegar a apagar o led, lembrando que nesse circuito não é possível atingir o zero nem o valor máximo.
*/

//DEFINICOES INICIAIS
#define trimpot A0 //definido que o pino analogico sera chamado de trimpot
#define led 3 // definido que o pino digital sera chamado de led

//DECLARAcAO DE VARIAVEIS GLOBAIS
int brilho;//variavel nomeada como brilho

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

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL

void loop() {
brilho = analogRead(trimpot)/4;//variavel igual a leitura do trimpot com uma operaçao aritmetica para distribuir os valores
analogWrite(led, brilho);//leitura do led igual a leitura da variavel brilho que foi definida como o valor do trimpot
}

/*Professor eu gostaria de saber se precisaria fazer a divisao por 4 se tivesse usado a variavel byte
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 1.11 Rafael M Empty Re: Exercício 1.11 Rafael M

Qua Set 07, 2022 7:32 pm
Oi Rafael, o exercício está correto Nota 10.0 mas tenho que fazer as considerações.
Se já tinha essa nota porque refazer o exercício?
Em informática e extendendo para microcontroladores usa-se dizer ler um dado e escrever um dado, sendo na memória ou em perifericos, dispositivos, pinos, entre outros que possam existir.
Então o comntário dessa linha "analogWrite(led, brilho);//leitura do led igual a leitura da variavel brilho que foi definida como o valor do trimpot" poderia dizer escrita no led, mero detalhe, apenas linguajar

Quanto a pergunta se poderia ser byte a resposta é não poderia, teria que converter de forma matemática como fez.
A explicação é que o conversor AD tem 10 bits e o PWM tem 8 bits, então a escala do AD passaria 4 vezes pela escala do PWM
Ficaria assim, em 1/4 de volta o brilho ficaria de 0 a 255, daí no segundo quarto de volta voltaria a zero e iria a 255 até a metade da volta e assim sucessivamente. Pode testar e comprovar.
Veja em binario
0000000000 AD
   00000000 PWM
o AD conta até 255 (11111111) e incrementa o digito 9 e depois recomeça, se olhar somenbte 8 bits vai ter esse resultado.

_________________
Paulo Augusto Batista
Tecnologia a Favor do Ensino, Educação para nossas crianças, Evolução para Nossa Sociedade
Exercício 1.11 Rafael M Evoluc10
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos