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

Ir para baixo
Ana Clara Leschnhak
Ana Clara Leschnhak
Mensagens : 117
Data de inscrição : 03/03/2023
Idade : 12
Escola : Colégio Estadual Colônia Murici

exercício 2.14 resolvido Empty exercício 2.14 resolvido

Ter Nov 07, 2023 10:34 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.14
* Tema: Switch Case
* Atividade: Associar 3 LED a 3 teclas
* Descrição: Quando pressionar a tecla o led correspondente deve acender
* Hardware: Ligar 3 teclas aos pinos digitais configurados como ENTRADA e 3 leds em outros pinos digitais configurado como SAÍDA
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT), Switch Case, break
* 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: Na primeira parte do programa, ler as teclas e guardar um valor correspondente a cada uma delas
* DICA3: Na segunda parte usar switch/case para acionar o led correspondente
* DICA4: Programar uma quarta tecla para apagar todos os leds
*/

//DEFINICOES INICIAIS
#define led1 2//Define led e pino
#define led2 3//Define led e pino
#define led3 4//Define led e pino
#define tecla1 5//define tecla e pino
#define tecla2 6//define tecla e pino
#define tecla3 7//define tecla e pino
#define tecla4 8//define tecla e pino

//DECLARAcAO DE VARIAVEIS
byte valor = 0;//o valor da variavel é 0

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1,INPUT_PULLUP);//configura a entrada
pinMode(tecla2,INPUT_PULLUP);//configura a entrada
pinMode(tecla3,INPUT_PULLUP);//configura a entrada
pinMode(tecla4,INPUT_PULLUP);//configura a entrada
pinMode(led1, OUTPUT);//configura a saida
pinMode(led2, OUTPUT);//configura a saida
pinMode(led3, OUTPUT);//configura a saida
Serial.begin(9600);//inicia a porta serial
}

//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(tecla1))valor = 1;//se for verdadeira os comandos se executarão
if(!digitalRead(tecla2))valor = 2;//se for verdadeira os comandos se executarão
if(!digitalRead(tecla3))valor = 3;//se for verdadeira os comandos se executarão
if(!digitalRead(tecla4))valor = 4;//se for verdadeira os comandos se executarão
Serial.println(valor);//imprime uma porta serial e pula uma linha da variavel valor
switch(valor){//compara os valores do "case"
case 1://case é encontrado cujo valor é igual o dqa variavel
digitalWrite(led1, HIGH);//acende o led
break;//interrompe o "case"
case 2://case é encontrado cujo valor é igual o dqa variavel
digitalWrite(led2, HIGH);//acende o led
break;//interrompe o "case"
case 3://case é encontrado cujo valor é igual o dqa variavel
digitalWrite(led3, HIGH);//acende o led
break;//interrompe o "case"
case 4://case é encontrado cujo valor é igual o dqa variavel
digitalWrite(led1, LOW);//apaga o led
digitalWrite(led2, LOW);//apaga o led
digitalWrite(led3, LOW);//apaga o led
break;//interrompe o "case"
}
}
Monica Moreno
Monica Moreno
Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

exercício 2.14 resolvido Empty Re: exercício 2.14 resolvido

Qua Nov 08, 2023 2:56 pm
Bom Dia
Tudo Bem?

Nota 10.0
Parabens
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

exercício 2.14 resolvido Empty Re: exercício 2.14 resolvido

Ter Dez 05, 2023 11:28 pm
nota lançada
Conteúdo patrocinado

exercício 2.14 resolvido Empty Re: exercício 2.14 resolvido

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