exercicio 2.22
2 participantes
- gustavo de oliveira pires
- Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici
exercicio 2.22
Qua maio 08, 2024 9:19 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.22
* Tema: Função WHILE
* Atividade: Fazer um led piscar 10 vezes usando o while()com uma tecla para interromper
* Descrição: Montar um pisca e colocar dentro da função while controlando os loops
* Hardware: Ligar um led em um pino digital configurado como SAÍDA e uma tecla como SAíDA pullup
* Comandos: pinMode, digitalWrite, while(), break
* DICA1: A função while() será usada para fazer o pisca rodar com número controlado de ciclos
* DICA2: Usar uma variável de controle e incrementar a cada volta
* DICA3: Usar um pisca-pisca de um led dentro do while()
* DICA4: Fazer a leitura da tecla e rodar um break para interromper o pisca
*/
//DEFINICOES INICIAIS
#define led 3 //define o led que vai ser usado
#define ldr A0 //define o ldr ao pino A0
#define trimpot A1 //define o trimpot ao pino A1
//DECLARAcAO DE VARIAVEIS
int luminosidade = 0; //define a variavel que vai ser usada
int ajuste = 0; //define a variavel que vai ser usada
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("TRIMPOT= "); //adiciona um espaço depois de trimpot
Serial.print(analogRead(trimpot)); //ajusta o trimpot
Serial.print("LDR= "); //adiciona um espaço depois de ldr
Serial.println(analogRead(ldr)); //troca a linha
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //inicializa a porta serial
pinMode(led, OUTPUT); //define o led como saida
}
//PROGRAMA PRINCIPAL
void loop() {
debug(); //coloca o debug no void loop
Serial.print("TRIMPOT= "); //adiciona um espaço depois de trimpot
Serial.print(analogRead(trimpot)); //ajusta o trimpot
Serial.print("LDR= "); //adiciona um espaço depois de ldr
Serial.println(analogRead(ldr)); //troca a linha
//minimo LDR=11 trimpot=0
//maximo LDR=834 trimpot=1022
luminosidade = analogRead(ldr); //ajusta o valor do ldr
ajuste = map(analogRead(trimpot),0,1022,11,834); //ajusta o valor dotrimpot
while(luminosidade > ajuste){ //executa a funçao se luminosidade for maior que ajuste
luminosidade = analogRead(ldr); //ajusta o valor do ldr
ajuste = map(analogRead(trimpot),0,1022,11,834); //ajusta o valor dotrimpot
debug(); //coloca o debug no void loop
digitalWrite(led, HIGH); //faz o led ascender
delay(300); //define o tempo
digitalWrite(led, LOW); //faz o led apagar
delay(300); //define o tempo
}
digitalWrite(led, HIGH); //faz o led ascender
delay(300); //define o tempo
//
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.22
* Tema: Função WHILE
* Atividade: Fazer um led piscar 10 vezes usando o while()com uma tecla para interromper
* Descrição: Montar um pisca e colocar dentro da função while controlando os loops
* Hardware: Ligar um led em um pino digital configurado como SAÍDA e uma tecla como SAíDA pullup
* Comandos: pinMode, digitalWrite, while(), break
* DICA1: A função while() será usada para fazer o pisca rodar com número controlado de ciclos
* DICA2: Usar uma variável de controle e incrementar a cada volta
* DICA3: Usar um pisca-pisca de um led dentro do while()
* DICA4: Fazer a leitura da tecla e rodar um break para interromper o pisca
*/
//DEFINICOES INICIAIS
#define led 3 //define o led que vai ser usado
#define ldr A0 //define o ldr ao pino A0
#define trimpot A1 //define o trimpot ao pino A1
//DECLARAcAO DE VARIAVEIS
int luminosidade = 0; //define a variavel que vai ser usada
int ajuste = 0; //define a variavel que vai ser usada
//FUNÇÕES COMPLEMENTARES
void debug () {
Serial.print("TRIMPOT= "); //adiciona um espaço depois de trimpot
Serial.print(analogRead(trimpot)); //ajusta o trimpot
Serial.print("LDR= "); //adiciona um espaço depois de ldr
Serial.println(analogRead(ldr)); //troca a linha
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //inicializa a porta serial
pinMode(led, OUTPUT); //define o led como saida
}
//PROGRAMA PRINCIPAL
void loop() {
debug(); //coloca o debug no void loop
Serial.print("TRIMPOT= "); //adiciona um espaço depois de trimpot
Serial.print(analogRead(trimpot)); //ajusta o trimpot
Serial.print("LDR= "); //adiciona um espaço depois de ldr
Serial.println(analogRead(ldr)); //troca a linha
//minimo LDR=11 trimpot=0
//maximo LDR=834 trimpot=1022
luminosidade = analogRead(ldr); //ajusta o valor do ldr
ajuste = map(analogRead(trimpot),0,1022,11,834); //ajusta o valor dotrimpot
while(luminosidade > ajuste){ //executa a funçao se luminosidade for maior que ajuste
luminosidade = analogRead(ldr); //ajusta o valor do ldr
ajuste = map(analogRead(trimpot),0,1022,11,834); //ajusta o valor dotrimpot
debug(); //coloca o debug no void loop
digitalWrite(led, HIGH); //faz o led ascender
delay(300); //define o tempo
digitalWrite(led, LOW); //faz o led apagar
delay(300); //define o tempo
}
digitalWrite(led, HIGH); //faz o led ascender
delay(300); //define o tempo
//
Re: exercicio 2.22
Sáb Jun 15, 2024 9:38 am
Gustavo, revisa esse exrcicio porque deve ter copiado do lugar errado, ou resolveu um achando que era outro.
- gustavo de oliveira pires
- Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici
Re: exercicio 2.22
Ter Jul 09, 2024 4:25 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.22
* Tema: Função WHILE
* Atividade: Fazer um led piscar 10 vezes usando o while()com uma tecla para interromper
* Descrição: Montar um pisca e colocar dentro da função while controlando os loops
* Hardware: Ligar um led em um pino digital configurado como SAÍDA e uma tecla como SAíDA pullup
* Comandos: pinMode, digitalWrite, while(), break
* DICA1: A função while() será usada para fazer o pisca rodar com número controlado de ciclos
* DICA2: Usar uma variável de controle e incrementar a cada volta
* DICA3: Usar um pisca-pisca de um led dentro do while()
* DICA4: Fazer a leitura da tecla e rodar um break para interromper o pisca
*/
//DEFINIÇÕES INICIAIS
#define led 3 // define o pino do LED
#define tecla 2 // define o pino da tecla (botão)
// DECLARAÇÃO DE VARIÁVEIS
int estadoTecla = 0; // variável para armazenar o estado da tecla
int count = 0; // contador para controlar o número de piscadas
// INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); // inicializa a comunicação serial
pinMode(led, OUTPUT); // configura o LED como saída
pinMode(tecla, INPUT_PULLUP); // configura a tecla como entrada
}
// PROGRAMA PRINCIPAL
void loop() {
estadoTecla = digitalRead(tecla); //faz a leitura de tecla
while (estadoTecla == HIGH && count < 10) { //enquanto a condição acontecer rodara o bloco abaixo
digitalWrite(led, HIGH); // acende o LED
delay(300); // tempo de intervalo
digitalWrite(led, LOW); // apaga o LED
delay(300); // tempo de intervalo
count++; //incrementa o contador
estadoTecla = digitalRead(tecla); //faz a leitura da tecla
}
if (estadoTecla == LOW) { //rodara o bloco abaixo se a tecla estiver apagada
count = 0; // reinicia o contador para futuras execuções
while (digitalRead(tecla) == LOW) { //rodara o bloco abaixo enquanto a tecla estiver apagada
delay(10); //tempo de intervalo
}
}
}
Permissões neste sub-fórum
Não podes responder a tópicos