Você está na página 1de 9

Capítulo 18

Estruturas condicionais –
comando if - else

O comando if – else é utilizado para controle de fluxo. Existem três formas de uti-
lização – a forma simples, composta e a forma aninhada.

If (forma simples)
O comando if será utilizado quando em um programa quisermos que determina-
da parte deste seja executada apenas se uma condição for alcançada.

A estrutura onde o comando if é utilizado é a seguinte:

If (condição de teste “argumento”)


{
Função que será executada se for
verdadeiro;
}
Se a condição testada não for verdadeira, então é entendido que é falsa e o loop
continua. Vejamos o programa exemplo a seguir:

int LED = 2;
int tempo = 100
void setup() {
pinMode (LED , HIGH);
}
void loop(){
pinMode (LED , HIGH);
delay (tempo);
pinMode (LED , LOW);
delay (tempo);
tempo = tempo + 100;
if(tempo > 3000)
{
tempo =100;
}
}
EX-16 - Utilizando comando if
• Modifique o programa exemplo anterior de modo que cada um dos 4 LEDS
sejam acesos, nas seguintes condições:
• LED ligado ao pino 2 pisca desde o início do programa.
• LED ligado ao pino 3 pisca a partir de 500ms;
• LED ligado ao pino 4 pisca a partir de 1000ms;
• LED ligado ao pino 5 pisca a partir de 2000ms;

64
Capacitação técnica na plataforma Arduino
EX-17 - Utilizando comando if 2.
• Elabore um programa utilizando o comando if de maneira que os botões con-
trolem os LEDs da seguinte forma:
• LED ligado ao pino 2 pisca a um ritmo de 100ms se nenhum botão estiver
pressionado.
• LED ligado ao pino 3 pisca a um ritmo de 100ms se o botão ligado ao pino 6
for pressionado.
• LED ligado ao pino 4 pisca a um ritmo de 100ms se o botão ligado ao pino 7
for pressionado.
• LED ligado ao pino 5 pisca a um ritmo de 100ms se os botões ligados aos
pinos 6 e 7 forem pressionados simultaneamente.

65

Capacitação técnica na plataforma Arduino


É possível acender LEDs utilizando o teclado do computador através do Monitor
Serial. O programa abaixo mostra como fazer isso. Escreva-o no IDE e faça o teste.

int LED = 2;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
char tecla;
tecla = Serial.read();
if(tecla == ‘V’)
{
digitalWrite(ledPin, HIGH);
}
delay(1000);
66
}
Capacitação técnica na plataforma Arduino

Como pôde observar, este programa faz apenas o LED acender. Modifique-o para
que seja possível também apagar o LED. Faça isso no próximo exercício.
EX-18 - Utilizando comando if 3.
• Modifique o programa anterior para que seja possível acender e apagar o LED
utilizando teclas do teclado do computador e o monitor serial.

67

Capacitação técnica na plataforma Arduino


Utilizando if else.
O comando if else, permite o teste de uma condição e realizar duas coisas. Se o
teste for verdadeiro, executa a parte 1 e se o teste for falso, realiza a parte 2

É possível acender LEDs utilizando o teclado do computador através do Monitor


Serial. O programa abaixo mostra como fazer isso. Escreva-o no IDE e faça o teste.

int LED = 2;

void setup() {

Serial.begin(9600);
pinMode(LED, OUTPUT);

void loop() {

char tecla;
tecla = Serial.read();
if(tecla == ‘V’)

68 digitalWrite(LED, HIGH);
}
else
Capacitação técnica na plataforma Arduino

if(tecla == ‘v’)

digitalWrite(LED, LOW);

delay(1000);

}
EX-19 - Utilizando comando if – else.
• Modifique o programa exemplo anterior de modo que cada um dos 4 LEDS
possam se r acesos e apagados nas seguintes condições:
• Atribuir uma tecla para cada LED. Cada LED será aceso pela tecla relacionada
à ele.
• Atribuir uma tecla para cada LED. Cada LED sera apagado pela tecla relacio-
nada à ele.
• Atribuir uma tecla que faça todos os LEDS acenderem;
• Atribuir uma tecla que apague todos os LEDS.

69

Capacitação técnica na plataforma Arduino


Comando for.
O comando for é utilizado em estruturas de repetição quando queremos que
uma operação seja realizada algumas vezes, como por exemplo, fazer um led
piscar um certo número de vezes.

A estrutura do comando for é a seguinte:

For (condição inicial; teste; incremento ou decremento)

{
Comandos;
}
Para entender melhor a utilização do comando for, vamos estudar o programa
abaixo que deve fazer o LED ligado ao pino 2 piscar exatamente 15 vezes.

int LED = 2;
int tempo = 100;

void setup() {
pinMode(LED, OUTPUT);
}
70
Void loop() {
digitalWrite(LED, HIGH);
Capacitação técnica na plataforma Arduino

delay(tempo);
digitalWrite(LED, LOW);
delay(tempo);

digitalWrite(LED, HIGH);
delay(tempo);
digitalWrite(LED, LOW);
delay(tempo);

REPETIR ESTAS ÚLTIMAS 4 LINHAS POR MAIS


13 VEZES.

delay(1000);
}

Então, para fazer o LED piscar exatamente 15 vezes, é necessário escrever 15 ve-
zes os comandos para acender e apagar o LED.

Uma maneira mais simples e curta de fazer o mesmo utilizando o comando for
pode ser visto no exemplo a seguir:

int LED = 2;
int tempo = 100;

void setup()
{
pinMode(LED, OUTPUT);
}
Void loop()
{
For(int i = 0; i<15; i ++)
{
digitalWrite (LED, HIGH);
delay(tempo);
digitalWrite (LED, LOW);
delay(tempo);
}
delay(1000);
}
71

Capacitação técnica na plataforma Arduino