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

Ir para baixo
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 333
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.22 Empty exercicio 2.22

Sex Jun 18, 2021 10:12 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 pisca 3 //Definido que o pino 3 vai se chamar "pisca"
#define tecla 2 //Definido que o pino 2 irá se chamar tecla
//DECLARAcAO DE VARIAVEIS
byte x = 0;//Variável para ser somado o V do número de loops do while
int tempo=200;//Variável para ser somado o V do tempo

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(pisca, OUTPUT); //programado o pisca como saida
pinMode(tecla,INPUT_PULLUP);//Configurado a tecla como entrada com um resistor de polarização
}

//PROGRAMA PRINCIPAL
void loop() {
while(x<=9){//O programa irá girar enquanto o valor da variável x for menor do que 9
if(!digitalRead(tecla))break;//Se a tecla for pressionada o programa irá parar e sair fora do bloco
x++;//O V da variável x será somado a 1 a cada volta
digitalWrite(pisca,HIGH);//O pisca irá acender
delay(tempo);//A parada de tempo terá o V da variável tempo
digitalWrite(pisca,LOW);//O pisca irá apagar
delay(tempo);//A parada de tempo terá o V da variável tempo
}
x=0;//O valor da variável x passará novamente a ser 0
delay(5000);//A parada de tempo terá o valor de 5 segundos
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.22 Empty Re: exercicio 2.22

Seg Jun 21, 2021 11:08 pm
Oi Lucca, viu que quando faz esse comando
if(!digitalRead(tecla))break;//Se a tecla for pressionada o programa irá parar e sair fora do bloco
o programa é interrompido e sai do laço while.

Esse é o principal comando desse programa e o entendimento garante aquela merecida nota 10.0. Parabéns.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos