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

Qui maio 23, 2024 4:02 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
int nRandom;//Variavel tipo int chamada nRandom
int t = 200;//Variavel tipo int chamada t que vale 200

//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
}

//PROGRAMA PRINCIPAL
void loop() {
nRandom = random(1, 7);//Define que nRandom e igual a um numero entre 1 e 6 porque o 7 e excluso
switch(nRandom)//Verifica a variavel nRandom
{
case 1://Caso nRandom for 1, Executa:
digitalWrite(led1, HIGH);//Liga led1
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led1, LOW);//Desliga led1
break;//Sai do case
case 2://Caso nRandom for 2, Executa:
digitalWrite(led2, HIGH);//Liga led2
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led2, LOW);//Desliga led2
break;//Sai do case
case 3://Caso nRandom for 3, Executa:
digitalWrite(led3, HIGH);//Liga led3
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led3, LOW);//Desliga led3
break;//Sai do case
case 4://Caso nRandom for 4, Executa:
digitalWrite(led4, HIGH);//Liga led4
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led4, LOW);//Desliga led4
break;//Sai do case
case 5://Caso nRandom for 5, Executa:
digitalWrite(led5, HIGH);//Liga led5
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led5, LOW);//Desliga led5
break;//Sai do case
case 6://Caso nRandom for 6, Executa:
digitalWrite(led6, HIGH);//Liga led6
delay(t);//Tempo de espera igual ao valor de t(200 ms)
digitalWrite(led6, LOW);//Desliga led6
break;//Sai do case
}
}
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 Exercício 2.17 Empty Re: Diogo Saraiva Exercício 2.17

Ter Set 03, 2024 9:14 pm
muito bom Diogo, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos