Resolvido 2.4
3 participantes
- Monica Moreno
- Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Resolvido 2.4
Sáb Ago 28, 2021 11:44 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/
//DEFINICOES INICIAIS
#define led1 3 // Definido que pino 3 vai se chamar "led1"
#define ldr A0 //Definido que pino Ao vai se chamar "ldr"
#define trimpot A1 // Definido que A1 vai se chamar "trimpot"
//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade; // Variavel Int chamada 'Luminosidade"
int ajuste; // Variavel Int chamada "Ajuste"
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicializa a Porta Serial
pinMode(led1, OUTPUT); // Programado "led1'como Saída
}
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("Luminosidade = "); // Vai monitorar o texto luminosidade na porta Serial
Serial.println(luminosidade); //Vai monitorar a varialvel luminosidade da Porta Serial
Serial.print("Trimpot = "); //Vai monitorar o texto Trimpot na porta Serial
Serial.println(ajuste); // Vai monitorar a variavel ajuste na porta Serial
}
//PROGRAMA PRINCIPAL
void loop() {
luminosidade = map(analogRead(ldr),17,863,0,1022); //Ajusta os valores das estradas
ajuste = analogRead(trimpot); // Ajuste vai ser igual a leitura analógica do TRIMPOT
luminosidade = analogRead(ldr); // a Luminosidade vai ser igual a leitura do LDR
debug(); // Liga afuncao da variavel luminosidade
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
digitalWrite(led1, HIGH); // Acende o Led1
}else{ ; //Se a luminosidade não for maior que ajuste o led apaga
digitalWrite(led1,LOW); //Apaga o Led1
}
delay(1000); // Tempo
}
Refeito 2.4
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/
//DEFINICOES INICIAIS
#define led1 3 // Definido que pino 3 vai se chamar "led1"
#define ldr A0 //Definido que pino Ao vai se chamar "ldr"
#define trimpot A1 // Definido que A1 vai se chamar "trimpot"
//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade; // Variavel Int chamada 'Luminosidade"
int ajuste; // Variavel Int chamada "Ajuste"
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicializa a Porta Serial
pinMode(led1, OUTPUT); // Programado "led1'como Saída
}
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("Luminosidade = "); // Vai monitorar o texto luminosidade na porta Serial
Serial.println(luminosidade); //Vai monitorar a varialvel luminosidade da Porta Serial
Serial.print("Trimpot = "); //Vai monitorar o texto Trimpot na porta Serial
Serial.println(ajuste); // Vai monitorar a variavel ajuste na porta Serial
}
//PROGRAMA PRINCIPAL
void loop() {
luminosidade = map(analogRead(ldr),17,863,0,1022); //Ajusta os valores das estradas
ajuste = analogRead(trimpot); // Ajuste vai ser igual a leitura analógica do TRIMPOT
luminosidade = analogRead(ldr); // a Luminosidade vai ser igual a leitura do LDR
debug(); // Liga afuncao da variavel luminosidade
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
digitalWrite(led1, HIGH); // Acende o Led1
}else{ ; //Se a luminosidade não for maior que ajuste o led apaga
digitalWrite(led1,LOW); //Apaga o Led1
}
delay(1000); // Tempo
}
Refeito 2.4
- BielRibas
- Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura
Re: Resolvido 2.4
Seg Ago 30, 2021 2:40 pm
Corrija os seguintes comentários para receber a nota:
1)A luminosidade esta como variável não como função
2)O debug esta mostrando os valores e não "ligando" a luminosidade
1)A luminosidade esta como variável não como função
2)O debug esta mostrando os valores e não "ligando" a luminosidade
Re: Resolvido 2.4
Ter Set 07, 2021 9:12 pm
Monica, vou te ajudar na correção. O Gabriel está se referindo a essa linha abaixo:
debug(); // Liga a função luminosidade
Lembro que a função debug() é um trecho de programa que pode ser invocado em qualquer parte do programa principal, e no caso dessa função, ela envia para a porta serial os valores das variáveis.
Usamos essa função normalmente para calibrar os sensores ou ajustar parametros do programa.
Lembro que para corrigir basta responder esse tópico mesmo.
Espero ter ajudado.
debug(); // Liga a função luminosidade
Lembro que a função debug() é um trecho de programa que pode ser invocado em qualquer parte do programa principal, e no caso dessa função, ela envia para a porta serial os valores das variáveis.
Usamos essa função normalmente para calibrar os sensores ou ajustar parametros do programa.
Lembro que para corrigir basta responder esse tópico mesmo.
Espero ter ajudado.
- Monica Moreno
- Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: Resolvido 2.4
Qui Out 28, 2021 8:20 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/
//DEFINICOES INICIAIS
#define led1 3 // Definido que pino 3 vai se chamar "led1"
#define ldr A0 //Definido que pino Ao vai se chamar "ldr"
#define trimpot A1 // Definido que A1 vai se chamar "trimpot"
//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade; // Variavel Int chamada 'Luminosidade"
int ajuste; // Variavel Int chamada "Ajuste"
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicializa a Porta Serial
pinMode(led1, OUTPUT); // Programado "led1'como Saída
}
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("Luminosidade = "); // Vai monitorar o texto luminosidade na porta Serial
Serial.println(luminosidade); //Vai monitorar a varialvel luminosidade da Porta Serial
Serial.print("Trimpot = "); //Vai monitorar o texto Trimpot na porta Serial
Serial.println(ajuste); // Vai monitorar a variavel ajuste na porta Serial
}
//PROGRAMA PRINCIPAL
void loop() {
luminosidade = map(analogRead(ldr),17,863,0,1022); //Ajusta os valores das estradas
ajuste = analogRead(trimpot); // Ajuste vai ser igual a leitura analógica do TRIMPOT
luminosidade = analogRead(ldr); // a Luminosidade vai ser igual a leitura do LDR
debug(); // A função complementar vai ser ligada
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
digitalWrite(led1, HIGH); // Acende o Led1
}else{ ; //Se a luminosidade não for maior que ajuste o led apaga
digitalWrite(led1,LOW); //Apaga o Led1
}
delay(1000); // Tempo
}
Refeito
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/
//DEFINICOES INICIAIS
#define led1 3 // Definido que pino 3 vai se chamar "led1"
#define ldr A0 //Definido que pino Ao vai se chamar "ldr"
#define trimpot A1 // Definido que A1 vai se chamar "trimpot"
//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade; // Variavel Int chamada 'Luminosidade"
int ajuste; // Variavel Int chamada "Ajuste"
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicializa a Porta Serial
pinMode(led1, OUTPUT); // Programado "led1'como Saída
}
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("Luminosidade = "); // Vai monitorar o texto luminosidade na porta Serial
Serial.println(luminosidade); //Vai monitorar a varialvel luminosidade da Porta Serial
Serial.print("Trimpot = "); //Vai monitorar o texto Trimpot na porta Serial
Serial.println(ajuste); // Vai monitorar a variavel ajuste na porta Serial
}
//PROGRAMA PRINCIPAL
void loop() {
luminosidade = map(analogRead(ldr),17,863,0,1022); //Ajusta os valores das estradas
ajuste = analogRead(trimpot); // Ajuste vai ser igual a leitura analógica do TRIMPOT
luminosidade = analogRead(ldr); // a Luminosidade vai ser igual a leitura do LDR
debug(); // A função complementar vai ser ligada
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
digitalWrite(led1, HIGH); // Acende o Led1
}else{ ; //Se a luminosidade não for maior que ajuste o led apaga
digitalWrite(led1,LOW); //Apaga o Led1
}
delay(1000); // Tempo
}
Refeito
Re: Resolvido 2.4
Seg Nov 22, 2021 11:01 pm
Muito bom Monica, o programa funcionou. Mas novamente fiquei confuso com a interpretação que está dando para os comandos, veja abaixo.
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
Essa interpretação me leva a achar que não endeu como funciona essa função. Então vou dar nota 9.0 e lançar uma pergunta.
Pergunta: Qual funcão usamos para executar um bloco de instruções se a condição for verdadeira e outro bloco se a condição for falsa?
if(luminosidade > ajuste){ ; // Se a luminosidade for maior que ajuste no cado o valor do TRIMPOT vai ser executado o else o led acende
Essa interpretação me leva a achar que não endeu como funciona essa função. Então vou dar nota 9.0 e lançar uma pergunta.
Pergunta: Qual funcão usamos para executar um bloco de instruções se a condição for verdadeira e outro bloco se a condição for falsa?
- Monica Moreno
- Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: Resolvido 2.4
Qua Nov 24, 2021 9:35 am
Pergunta: Qual função usamos para executar um bloco de instruções se a condição for verdadeira e outro bloco se a condição for falsa?
Resposta: If - else
Se for verdadeira vai ser if, se for falsa e else
Resposta: If - else
Se for verdadeira vai ser if, se for falsa e else
Permissões neste sub-fórum
Não podes responder a tópicos