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

Ir para baixo
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tópicos Abordados na Aula - Switch / Case Empty Tópicos Abordados na Aula - Switch / Case

Dom Jul 28, 2019 6:58 pm
Descrição
Da mesma forma que o comando if, o comando switch case controla o fluxo do programa permitindo ao programador especificar código diferente para ser executado em várias condições. Em particular, um comando switch compara o valor de uma variável aos valores especificados nos comandos case. Quando um comando case é encontrado cujo valor é igual ao da variável, o código para esse comando case é executado.

A palavra-chave break interrompe o comando switch, e é tipicamente usada no final de cada case. Sem um comando break, o comando switch irá continuar a executar as expressões seguintes (desnecessariamente) até encontrar um break, ou até o final do comando switch ser alcançado.

Sintaxe
switch (var) {
case valor1:
// comando(s)
break;
case valor2:
// comando(s)
break;
default:
// comando(s)
break;
}
Parâmetros
var: uma variável para ser comparada com os vários cases. Tipos de dados permitidos: int, char
valor1, valor2: constantes. Tipos de dados permitidos: int, char

Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tópicos Abordados na Aula - Switch / Case Empty Exercício realizado na sala de aula

Dom Jul 28, 2019 7:15 pm
Com base no fluxograma abaixo elaborar os programas.

Tópicos Abordados na Aula - Switch / Case Fluxog12

Código:
#define led1 2
#define led2 3
#define led3 4
#define ldr A0
#define tecla 11

int valor = 0;


void setup() {
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(tecla, INPUT_PULLUP);
 Serial.begin(9600);
 Serial.print("Digite 1 para acender o led1 \n Digite 2 para acender o led2 \n Digite 3 para acender o led3 \n");
 
}

void loop() {
//A expressão abaixo pode ser usado para gerar um número aleatório entre 1 e 3 para fazer um sequencial aleatório
valor = random(1,4);//gera um número randomico entre 1.00 e 3.99
//A expressão abaixo gera um número de 1 a 3 proporcional a luminosidade
valor = map(analogRead(ldr), 200, 800, 1 , 3); //a entrada conforme calibração do ldr a saida de 1 a 3 pod ser usada para acender o led

switch(valor){ //fazendo switch da variável valor
  case 1:
  digitalWrite(led1,HIGH);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  break;
  case 2:
  digitalWrite(led1,LOW);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
  break;
  case 3:
  digitalWrite(led1,LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
  break;
  default:
 // Serial.print("digita certo cara");
  digitalWrite(led2, LOW);
}
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos