Arduino - Funções random e switch
RANDOM
Essa função permite adotar um valor aleatório para uma variável, ou seja, primeiro definimos a variável com um valor, por exemplo:
int NumRand = 0;
Depois chamamos a função.
NumRand = random (1,10)
Dessa forma aleatoriamente uma valor entre 1 e 10 é definido para NumRand.
SWITCH
Essa função permite analisar o valor de uma variável, utilizado em casos que a variável pode adotar valores aleatórios, com por exemplo o NumRand descrito acima, segue abaixo um exemplo:
switch (NumRand)
{
case (1): comando 1;
break;
case (2): comando 2;
comando 3;
comando 4;
break;
.
.
.
case (10): comando N;
break;
}
Abaixo um vídeo apresenta o circuito montado em um protoboard .
-------------------------------------------------------------------------------------------------
Código fonte:
/*
Arduino UNO com Atmega328P-PU
Data: 30/05/2013
Função: random e switch
Elaborado por: Toni Silva
*/
int Nrand = 0; // define valor para a variavel com valor inteiro
int _1_ledPin = 8; // |
int _2_ledPin = 9; // |
int _3_ledPin = 10; // |define nomes para os pinos
int _4_ledPin = 11; // |
int led = 13; // |
int entryPin = 7; // |
void setup() // função obrigatória
{
pinMode(_1_ledPin,OUTPUT); //|
pinMode(_2_ledPin,OUTPUT); //|
pinMode(_3_ledPin,OUTPUT); //|define se o pino é entrada ou saída
pinMode(_4_ledPin,OUTPUT); //|
pinMode(led,OUTPUT); //|
pinMode(entryPin,INPUT); //|
}
void loop() // função obrigatória
{
while(digitalRead(entryPin) == 1) // teste o valor lógico do pino 7
{
digitalWrite(13,0);
Nrand = random(1,5); // inicia função random
switch (Nrand) // verifica o valor de random
{
case(1):digitalWrite(_1_ledPin,1);
delay(500);
digitalWrite(_1_ledPin,0);
break;
case(2):digitalWrite(_2_ledPin,1);
delay(500);
digitalWrite(_2_ledPin,0);
break;
case(3):digitalWrite(_3_ledPin,1);
delay(500);
digitalWrite(_3_ledPin,0);
break;
case(4):digitalWrite(_4_ledPin,1);
delay(500);
digitalWrite(_4_ledPin,0);
break;
}
}
if(digitalRead(entryPin) == 0)
{
digitalWrite(13,1);
}
}
Esquema de ligação simplificado:
Essa função permite adotar um valor aleatório para uma variável, ou seja, primeiro definimos a variável com um valor, por exemplo:
int NumRand = 0;
Depois chamamos a função.
NumRand = random (1,10)
Dessa forma aleatoriamente uma valor entre 1 e 10 é definido para NumRand.
SWITCH
Essa função permite analisar o valor de uma variável, utilizado em casos que a variável pode adotar valores aleatórios, com por exemplo o NumRand descrito acima, segue abaixo um exemplo:
switch (NumRand)
{
case (1): comando 1;
break;
case (2): comando 2;
comando 3;
comando 4;
break;
.
.
.
case (10): comando N;
break;
}
Abaixo um vídeo apresenta o circuito montado em um protoboard .
-------------------------------------------------------------------------------------------------
Descrição do curso:
Computadores evoluíram e hoje em dia fazem parte do dia a dia das pessoas. Celulares, computadores, relógios, carros e até eletrodomésticos possuem programas e, para criar programas, é necessário dominar a linguagem de programação. Este urso pretende introduzir uma linguagem de programação específica, o Python, com o objetivo de auxiliá-lo a desenvolver seus próprios programas. São abordados os conceitos básicos dessa linguagem, de modo que você possa utilizar o mesmo conceito apresentado em outras linguagens de programação.Código fonte:
/*
Arduino UNO com Atmega328P-PU
Data: 30/05/2013
Função: random e switch
Elaborado por: Toni Silva
*/
int Nrand = 0; // define valor para a variavel com valor inteiro
int _1_ledPin = 8; // |
int _2_ledPin = 9; // |
int _3_ledPin = 10; // |define nomes para os pinos
int _4_ledPin = 11; // |
int led = 13; // |
int entryPin = 7; // |
void setup() // função obrigatória
{
pinMode(_1_ledPin,OUTPUT); //|
pinMode(_2_ledPin,OUTPUT); //|
pinMode(_3_ledPin,OUTPUT); //|define se o pino é entrada ou saída
pinMode(_4_ledPin,OUTPUT); //|
pinMode(led,OUTPUT); //|
pinMode(entryPin,INPUT); //|
}
void loop() // função obrigatória
{
while(digitalRead(entryPin) == 1) // teste o valor lógico do pino 7
{
digitalWrite(13,0);
Nrand = random(1,5); // inicia função random
switch (Nrand) // verifica o valor de random
{
case(1):digitalWrite(_1_ledPin,1);
delay(500);
digitalWrite(_1_ledPin,0);
break;
case(2):digitalWrite(_2_ledPin,1);
delay(500);
digitalWrite(_2_ledPin,0);
break;
case(3):digitalWrite(_3_ledPin,1);
delay(500);
digitalWrite(_3_ledPin,0);
break;
case(4):digitalWrite(_4_ledPin,1);
delay(500);
digitalWrite(_4_ledPin,0);
break;
}
}
if(digitalRead(entryPin) == 0)
{
digitalWrite(13,1);
}
}
Esquema de ligação simplificado:
Comentários
Postar um comentário