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 2.17 Empty Exercício 2.17

Qui Ago 13, 2020 4:56 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.17
* Tema: Switch Case
* Atividade: Sequencial randomico
* Descrição: Fazer um sequencial com 6 leds em uma sequencia randomica
* Hardware: Ligar 6 leds em pinos digitais configurado como SAÍDA
* Comandos: pinMode, digitalRead, digitalWrite, Switch Case, break, random
* DICA1: Usar a função random() para gerar números entre 1 e 6, nesse caso deve ser configurado até 7
* DICA2: Fazer um switch do numero gerado pela função random()
* DICA3: No case acender o led correspondente, temporizar, apagar.
*/

//DEFINICOES INICIAIS
#define led1 3 //Definido que o pino 3 vai se chamar "led1"
#define led2 4 //Definido que o pino 4 vai se chamar "led2"
#define led3 5 //Definido que o pino 5 vai se chamar "led3"
#define led4 6 //Definido que o pino 6 vai se chamar "led4"
#define led5 7 //Definido que o pino 7 vai se chamar "led5"
#define led6 8 //Definido que o pino 8 vai se chamar "led6"

//DECLARAcAO DE VARIAVEIS
byte valor; //variavel declarada no valor byte
int tempo = 300; //variavel declarada no valor int
//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //programado o led1 como saida
pinMode(led2, OUTPUT); //programado o led2 como saida
pinMode(led3, OUTPUT); //programado o led3 como saida
pinMode(led4, OUTPUT); //programado o led4 como saida
pinMode(led5, OUTPUT); //programado o led5 como saida
pinMode(led6, OUTPUT); //programado o led6 como saida
Serial.begin(9600); //porta serial que abriu
}

//PROGRAMA PRINCIPAL
void loop() {
valor = random(1,7); //valor é igual a random
switch(valor){ //função switch com a variavel valor
case(1): //função case
digitalWrite(led1,HIGH); //led 1 acende
delay(tempo); //delay com a variavel
digitalWrite(led1,LOW); //led 1 apaga
break; //função break
case(2): //função case
digitalWrite(led2,HIGH); //led 2 acende
delay(tempo); //delay com a variavel
digitalWrite(led2,LOW); //led 2 apaga
break; //função break
case(3): //função case
digitalWrite(led3,HIGH); //led 3 acende
delay(tempo); //delay com a variavel
digitalWrite(led3,LOW); //led 3 apaga
break; //função break
case(4): //função case
digitalWrite(led4,HIGH); //led 4 acende
delay(tempo); //delay com a variavel
digitalWrite(led4,LOW); //led 4 apaga
break; //função break
case(5): //função case
digitalWrite(led5,HIGH); //led 5 acende
delay(tempo); //delay com a variavel
digitalWrite(led5,LOW); //led 5 apaga
break; //função break
case(6): //função case
digitalWrite(led6,HIGH); //led 6 acende
delay(tempo); //delay com a variavel
digitalWrite(led6,LOW); //led 6 apaga
break; //função break
}
}
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 2.17 Empty Re: Exercício 2.17

Dom Ago 23, 2020 10:25 pm
Muito bom Daniel, funcionou perfeitamente. Nota 10.0
Agora na função case, fez um comentário muito superficial. Estou considerando que sabe que case 1: roda o bloco quando o valor na variável usada no switch for igual a 1.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos