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

Ir para baixo
Diogo Penha Marques
Diogo Penha Marques
Mensagens : 107
Data de inscrição : 29/02/2024
Idade : 14
Escola : Colégio Estadual da Colônia Murici

Diogo Saraiva Execício 2.26 Empty Diogo Saraiva Execício 2.26

Qui Jun 27, 2024 2:21 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 t;//Variavel do tipo int que guarda o valor do tempo de espera

//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() {
t = !digitalRead(tecla) ? 200 : 500;//Se tecla for apertada t equivale a 200 se nao equivale 500
digitalWrite(led, HIGH);//Liga led
delay(t);//Tempo de espera com o valor de t de ms
t = !digitalRead(tecla) ? 200 : 500;//Se tecla for apertada t equivale a 200 se nao equivale 500
digitalWrite(led, LOW);//Desliga led
delay(t);//Tempo de espera com o valor de t de ms
}
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

Diogo Saraiva Execício 2.26 Empty Re: Diogo Saraiva Execício 2.26

Qua Set 11, 2024 7:29 pm
muito bom, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos