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 : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Re resolvido  1.11 Empty Re resolvido 1.11

Qua Jul 28, 2021 4:59 pm
/*
* CURSO DE ROBÓTICA 2020
*
* Exercício: 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 a intensidade da luz
* 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ém 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.
*/

//DEFINIÇÕES INICIAIS
#define trimpot A0 //Define que o A0 vai ser chamado de trimpot.
#define  led 3         //Define que pino 3 vai se chamar led.
//DECLARAÇÃO DE VARIÁVEIS GLOBAIS
int brilho ; //Variável que controla a intensidade do brilho.  

//INICIALIZAÇÃO DO HARDWARE
void setup()    {
pinMode (trimpot, INPUT); //Programado como entrada.
pinMode(led,  OUTPUT); //Programa como saída.
}
//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop()    {
brilho = analogRead(trimpot); //Lê o trimpot .
analogWrite(led, brilho); //Vai acender o led de acordo com o trimpot .
delay(200); //Vai dar uma pausa de (200 ms).

}
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

Re resolvido  1.11 Empty Re: Re resolvido 1.11

Qui Jul 29, 2021 10:42 pm
Oi Monica,

Testei o programa e não tem erros de compilação, porém no código faltou ajustar as escalas. Viu que quando atua no trimpot o brilho vai subindo daí cai e faz isso 4 vezes entre o minimo e o máximo?

Teria que apagar quando o trimpot ficar no mínimo e brilho máximo quando o trimpot ficar no máximo.

Então para resolver tem duas formas, ou usa o map() ou divide por 4 o valor lido pelo trimpot, na aula falamos sobre isso.

Nota 5.0
Monica Moreno
Monica Moreno
Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Re resolvido  1.11 Empty Refeito 1.1

Qui Set 02, 2021 8:42 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 led1 3 // definido que pino 3 se chama "led1"
#define trimpot A0 // Definido que pino A0 se chama trimpot

//DECLARAcAO DE VARIAVEIS GLOBAIS
byte brilho; // Variavel Byte Brilho

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin (9600); //Valor da Porta Serial
pinMode(led1,OUTPUT); // Programado led1 como "Saída"
}
//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
brilho = analogRead (trimpot); //O valor que esta no Brilho será o valor lido no Trimpot no caso dividido por 4
analogWrite (led1, brilho); //O led1 vai Brilhar de acordo o Trimpot
Serial.println(brilho); //Programado para monitorar o brilho
delay(200); // Interrompe

}

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

Re resolvido  1.11 Empty Re: Re resolvido 1.11

Ter Set 07, 2021 9:23 pm
Oi Monica, continua igual o programa.
Sugiro que reveja a videoaula que trata de como converter a escala da entrada analógica que tem 10 bits e vai até 1024 para a saida PWM que tem 8 bits e vai até 255.
Monica Moreno
Monica Moreno
Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Re resolvido  1.11 Empty Refeito 1.11 (Talvez)

Sáb Set 18, 2021 11:26 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 led1 3 // definido que pino 3 se chama "led1"
#define trimpot A0 // Definido que pino A0 se chama "trimpot"

//DECLARAcAO DE VARIAVEIS GLOBAIS
byte shine; // Variavel Byte shine

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin (9600); //Valor da Porta Serial
pinMode(led1,OUTPUT); // Programado led1 como "Saída"
}
//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
shine=analogRead(trimpot)/4;//O valor do brilho será o valor lido no trimpot dividido por 4, pois assim o led não irá diminuir o shine a cada quarto
analogWrite(led2,shine);//O shine do led2 será o valor que estiver no trimpot
delay(200);//Tempo

}
Refeito (talvez) Very Happy Very Happy Very Happy
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

Re resolvido  1.11 Empty Re: Re resolvido 1.11

Dom Set 26, 2021 10:11 pm
Oi Renata, vc nõ testou certo? porque usou uma variável no analogWrite que não foi declarada
Conteúdo patrocinado

Re resolvido  1.11 Empty Re: Re resolvido 1.11

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos