if, que é usado juntamente com um operador de comparação, verifica quando uma condição é satisfeita, como por exemplo um input acima de um determinado valor. O formato para uma verificação if é:

if (algumaVariavel > 50)
{
// faça alguma coisa
}

O programa checa se algumaVariavel (colocar acentos em nomes de variáveis não é uma boa idéia) é maior que 50. Se for, o programa realiza uma ação específica. Colocado de outra maneira se a sentença que está dentro dos parêntesis é verdadeira o código que está dentro das chaves roda; caso contrário o programa salta este bloco de código.

As chaves podem ser omitidas após uma sentença if se só houver uma única linha de código (definida pelo ponto e vírgula) que será executado de modo condicional:

if (x > 120)  digitalWrite(LEDpin, HIGH); 

if (x > 120)
digitalWrite(LEDpin, HIGH);

if (x > 120) {digitalWrite(LEDpin, HIGH);} // todos são corretos

A sentença que está sendo verificada necessita o uso de pelo menos um dos operadores:

Operadores de comparação:

 x == y (x é igual a y)
x != y (x é não igual a y)
x < y (x é menor que y)
x > y (x é maior que y)
x <= y (x é menor ou igual a y)
x >= y (x é maior ou igual a y)

Cuidado:

Tenha precaução com o uso acidental de apenas um sinal de igual (e.g. if (x = 10) ). O sinal de igual simples é um operador de designação e coloca o valor 10 na variável x. Ao contrário o sinal de igal duplo (e.g. if (x == 10) ), que é um operador de comparação, verifica se x é igual a 10 ou não. A última senteça só é verdadeira se x for igual a 10, mas a anterior sempre será veraddeira.

Isto ocorre por que a linguagem C (na qual o Arduino é baseado) atribui um valor à sentença (x=10) do seguinte modo: 10 é colocado na variável x (lembre o sinal de igual simples é um operador de designação), então x agora contém 10. Então o condicional 'if' atribui um valor a 10, que será sempre verdadeiro (TRUE), desede que números diferentes de zero são sempre equiparados à verdadeiro. Consequentemente, if (x = 10) será sempre verdadeiro, que não é o que pretendemos quando usamos um 'if'. Adcionalmente o valor 10 será guardado na variável x que também não é o que pretendemos.

if também pode ser usado como parte de uma estrutura de controle ramificada através da construção if..else.

Exemplo:

/*
  Button
 Apaga e acende um LED conectado ao pino digital 13 quando um um botão é conectado ao pino 2
 
 O pino 13 tem um LED já conectado na maioria das placas Arduino.
 Você pode ou não conectar um diretamente na placa como na imagem.

 
 criado em 2005
 por DojoDave <http://www.0j0.org>
 modificado em 30 de agosto 2011
 por Tom Igoe
 
 
Este código de exeplo é de domínio público.
 
 http://www.arduino.cc/en/Tutorial/Button
 */

// constantes não podem ser alteradas, são utilizadas para ajustar os números dos pinos:
const int buttonPin = 2;     // o número do pino do botão
const int ledPin =  13;      // o número do pino do LED

// variaveis que podem ser alteradas:
int buttonState = 0;         // variável para leitura do status do botão

void setup() {
  // inicializa o pino do LED como output:
  pinMode(ledPin, OUTPUT);     
  // inicializa o pino do botão como input:
  pinMode(buttonPin, INPUT);    
}

void loop(){
  // lê o estado do pino do botão:
  buttonState = digitalRead(buttonPin);

  // verifica se o botão está pressionado.
  // se está o estado do botão é HIGH:
  if (buttonState == HIGH) {    
    // acende o LED:   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    // apaga o LED:
    digitalWrite(ledPin, LOW);
  }
}

Para utilizar o código acima você necessita de uma placa Arduino que pode ser alimentada apenas pela conexão USB, um LED conectado um botão momentâneo, alguns jumpers, um resistor de 10kΩ e uma protoboard como na imagem abaixo. Caso um LED não seja conecatdo há um LED SMD conectado ao pino 13 na própria placa que responderá ao código.

 

imagem gerada com Fritzing

Página de início da referência