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

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 2.26 tecla para acelerar o pisca Empty Exercício 2.26 tecla para acelerar o pisca

Qui Set 17, 2020 8:23 pm
/*
 * CURSO DE ROBOTICA 2020
 *
 * Exercicio: 2.26
 * Tema: Operador ternário ?
 * Atividade: Montar um pisca e enquanto manter a tecla pressionada aumentar a velocidade
 * Descrição: Usar operador ternário para trocar a variável de tempo do pisca, usar tecla como critério
 * Hardware: Ligar 1 teclas aos pinos digitais configurados como ENTRADA e 1 leds em outro pino digital configurado como SAÍDA
 * Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT), ? (operador ternario)
 * DICA1: A função !(not) deve ser usada antes de cada tecla porque a tecla está com resistor de pullup e ligada ao 0V, logo fica em DOWN quando pressionada
 * DICA2: usar uma variável para guardar o tempo do pisca-pisca
 * DICA3: Para aumentar a velocidade do pisca deve reduzir o valor do tempo no delay
 * DICA4: Quando pressionar a tecla o valor da variável diminui aumentando o tempo do pisca
 */

 //DEFINICOES INICIAIS
#define led 3    //Definido que o pino 3 vai se chamar "led1"
#define tecla 6  //Definido que o pino 2 vai se chamar "tecla1"

//DECLARAcAO DE VARIAVEIS
int tempo;//Variável para ser atribuído o valor do tempo 

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla,INPUT_PULLUP); //programado a tecla como entrada e usando resistor de pull up
pinMode(led, OUTPUT);        //programado o led como saida
}

//PROGRAMA PRINCIPAL
void loop() {
 tempo=(!digitalRead(tecla))?200:500;//Se a expressão for verdadeira o valor da variável tempo será de 0,2 segundos , mas se a expressão for falsa o valor da variável tempo será de 0,5 segundos 
 digitalWrite(led,HIGH);//O led irá acender 
 delay(tempo);//O valor da variável tempo será atribuído ao valor do intervalo de tempo 
 digitalWrite(led,LOW);//O led irá apagar 
 delay(tempo);//O valor da variável tempo será atribuído ao valor do intervalo de tempo
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 2.26 tecla para acelerar o pisca Empty Re: Exercício 2.26 tecla para acelerar o pisca

Qui Set 24, 2020 8:17 pm
Muito bom Thiago, nota 10.0.
Falta só 1 para fechar com chave de ouro.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos