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

Ir para baixo
avatar
Daniel Lukas
Mensagens : 62
Data de inscrição : 06/03/2020
Idade : 17
Escola : Rua Aníbal Silva
https://sayajin-gamers-store.myshopify.com/

Exercício Número 2.26 Empty Exercício Número 2.26

Qua Out 14, 2020 2:12 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; //variavel declarada

//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; //led com duas variaveis
digitalWrite(led, HIGH); //led acende
delay(tempo); //tempo de espera
digitalWrite(led, LOW); //led acende
delay(tempo); //tempo de espera
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos