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

Ir para baixo
gustavo de oliveira pires
gustavo de oliveira pires
Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici

exercicio 2.22 Empty 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

// Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing Laughing
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

exercicio 2.22 Empty 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
gustavo de oliveira pires
Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici

exercicio 2.22 Empty 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
}
}
}
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

exercicio 2.22 Empty Re: exercicio 2.22

Sáb Set 14, 2024 11:00 am
muito bom, nota 10.0
Conteúdo patrocinado

exercicio 2.22 Empty Re: exercicio 2.22

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