Arduino é uma placa de contro le de entrada de dados (IN), como sensores, e saída de dados (OUT), como motores e leds, com cristal oscilador de 16 Mhz, um regulador de tensão de 5 V, botão de reset, plugue de alimentação, pinos conectores, e alguns LEDs para facilitar a verificação do funcionamento. A porta USB já fornece alimentação enquanto estiver conectado ao computador, e a tensão de alimentação quando desconectado pode variar de 7 V a 12 V, graças ao regulador presente na placa.
No Arduino, informações ou ordens são transmitidas de um computador para a placa através de Bluetooth, wireless, USB, infravermelho, etc. Essas informações devem ser traduzidas utilizando a linguagem Wiring baseada em C/C++.
A plataforma de implementação dos programas em Arduino é baseada nas linguagens C/C++, preservando sua sintaxe na declaração de variáveis, na utilização de operadores, na manipulação de vetores, na conservação de estruturas, bem como é uma linguagem sensível ao caso (case-sensitive) Contudo, ao invés de uma função main( ), o Arduino necessita de duas funções elementares: setup( ) e loop( ).
Pode-se dizer que todo código criado para o Arduino deve
obrigatoriamente possuir duas funções para que o programa funcione corretamente: a função setup( ) e a função loop( ). Essas duas funções nãoutilizam parâmetros de entrada e são declaradas como void. Não é necessário invocar a função setup() ou a função loop(). Ao compilar um programa para o Arduino, o compilador irá, automaticamente, inserir uma função main que
invocará ambas as funções.
A função setup é utilizada para inicializar variáveis, configurar o modo dos pinos e incluir bibliotecas. Esta função é executada automaticamente uma única vez, assim que o kit Arduino é ligado ou resetado.
A função loop faz exatamente o que seu nome sugere: entra em looping (executa sempre o mesmo bloco de código), permitindo ao seu programa executar as operações que estão dentro desta função. A função loop( ) deve ser declarada após a
função setup( ).