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 1.15 continua a me ajudar por favor Empty Exercício 1.15 continua a me ajudar por favor

Qui Ago 06, 2020 2:55 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.15
* Tema: Switch Case
* Atividade: Associar 3 teclas a 3 LEDs com pisca
* Descrição: Quando pressionar a tecla o led correspondente deve piscar 5 vezes
* 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: Usar um for() para fazer o led piscar 5 vezes
*/

//DEFINICOES INICIAIS
#define led1 3 //Definido que o pino 3 vai se chamar "led1"
#define tecla1 9 //Definido que o pino 9 vai se chamar "tecla1"

//DECLARAcAO DE VARIAVEIS


//FUNÇÕES COMPLEMENTARES
byte(valor);

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

//PROGRAMA PRINCIPAL
void loop() {
//////primeira parte leitura das teclas//////
if(!digitalRead(tecla1))valor = 1;
Serial.println(valor);
//////segunda parte tratar a variavel valor com switch/case//////
switch(valor)
case 1:
(!digitalRead(tecla1)); //função if negada
(digitalWrite(led1,HIGH));
delay(valor); //delay com a variavel
digitalWrite(led1, LOW);
if(!digitalRead(tecla1)) //função if negada
for(byte i = 0 ; i < 10 ; i ++){ //função for vai ligar o pino 10 vezes e vai parar
}
}


Última edição por Daniel Lukas em Seg Ago 10, 2020 4:27 pm, editado 1 vez(es)
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5021
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 1.15 continua a me ajudar por favor Empty Re: Exercício 1.15 continua a me ajudar por favor

Dom Ago 09, 2020 12:07 pm
Ajudo sim, veja em vermelho os erros de sintaxe.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos