- 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
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
}
}
Permissões neste sub-fórum
Não podes responder a tópicos