Conceitos de Programação II

Dominando as estruturas de decisão para criar sistemas inteligentes.

Estruturas de Controle

Para que um conjunto de ações se torne viável, deve existir uma relação lógica intrínseca ao modo pelo qual essas ações são executadas. O controle de fluxo permite que o Arduino decida quando e como executar cada comando.

Utilizamos três estruturas básicas: Sequencial, Seleção e Repetição. Combinando-as, criamos algoritmos capazes de solucionar problemas complexos.

Entrada, Processamento e Saída

As rotinas programáveis no ecossistema EuderTech são organizadas em três etapas fundamentais:

Entrada

O Arduino recebe dados de sensores ou comandos de usuários.


Processamento

A lógica do programa transforma os dados brutos em decisões.


Saída

Ativação de atuadores (LEDs, motores, buzinas) ou envio de dados.

Estruturas de Seleção (Decisão)

A Estrutura de Seleção permite que o algoritmo tome decisões. Um grupo de instruções só será executado se uma condição específica for satisfeita. Essas condições são construídas usando os Operadores Lógicos e Relacionais vistos anteriormente.

Operador Lógico de Conjunção (&&)

Simbologia de Decisão

Operador Lógico de Disjunção (||)

Simbologia de Decisão

Operador Lógico de Negação (!)

Simbologia de Decisão

Seleção Simples

Utilizada quando um bloco de instruções deve ser executado apenas se a condição for verdadeira. Caso contrário, o bloco é ignorado.

Estrutura de Seleção Simples

Simbologia de Decisão
Sintaxe: IF
if (botãoPressionado == HIGH) {
    digitalWrite(LED, HIGH); // Só executa se o botão for pressionado
}
PROJETO 01

Controle de LED por Botão - Fase 1

Desenvolver um projeto utilizando três botões; cada botão pressionado deve acender um LED específico. Quando os três LEDs estiverem acesos, o programa deverá disparar um alarme.

Acessar Projeto Completo

Seleção Composta

Executa um bloco de instruções se a condição for VERDADEIRA e outro bloco diferente se for FALSA.

Estrutura de Seleção Composta

Simbologia de Decisão
Sintaxe: IF / ELSE
if (sensorLuz < 500) {
    digitalWrite(LED, HIGH); // Está escuro: Liga LED
} else {
    digitalWrite(LED, LOW);  // Está claro: Desliga LED
}
PROJETO 02

Controle de LED por Botão - Fase 2

Desenvolver um projeto utilizando três botões; cada botão pressionado deve acender um LED específico. Quando os três LEDs estiverem acesos, o programa deverá disparar um alarme.

Acessar Projeto Completo

Seleção Encadeada (Ninho de IFs)

Utilizada para múltiplas possibilidades. Permite verificar uma nova condição caso a anterior seja falsa, criando uma cadeia de verificações.

Estrutura de Seleção Encadeada

Simbologia de Decisão
Sintaxe: ELSE IF
if (temperatura > 30) {
    ativarCooler();
} else if (temperatura > 25) {
    alertarAquecimento();
} else {
    sistemaNormal();
}
PROJETO 03

Controle de LED por Botão - Fase 3

Desenvolver um projeto utilizando três botões; cada botão pressionado deve acender um LED específico. Quando dois LEDs estiverem acesos, o sistema deverá disparar um alarme.

Acessar Projeto Completo