Introdução ao Arduino

Introdução

É objectivo deste artigo dar a conhecer o Arduino. Esta “ferramenta” com enormes potencialidades, que pode ser utilizada por todos, tenham ou não conhecimentos de electrónica devido à sua enorme simplicidade de utilização.

O Arduino tem ainda muita margem de desenvolvimento, começando como um pequeno projecto educacional evoluindo até aos dias de hoje. Dentro das suas vantagens pode-se encontrar o facto de ser open-source, correndo em ambiente Linux, Macintosh e Windows, tendo ainda o aliciante de ser bastante económico comparativamente com “ferramentas” de iguais funcionalidades disponíveis no mercado.

Para apresentar este tema com maior simplicidade, o que não significa menor rigor, torna-se necessário dividí-lo em duas partes distintas: hardware e software, e fazer a sua ligação.

É importante referir que o Arduino abre imensas portas, devendo haver por parte do leitor interesse em procurar, conhecer e aprender.

Hardware

O Arduino pode ter várias apresentações sendo a base deste artigo o Arduino Diecimilia (baseado num microprocessador Atmega168 da Atmel).

Convém dar especial atenção a este capítulo sobre hardware, pois é sobre ele que toda a programação se vai apoiar.

Não se torna necessário, como foi referido anteriormente, possuir elevados conhecimentos de electrónica, já que o único requisito realmente relevante é a vontade de aprender.

Observemos então pormenorizadamente a seguinte figura:

Arduino Diecimilia

Pela análise da figura atrás apresentada, que representa uma placa Arduino Diecimilia, podemos constatar o seguinte pin out:

  • 3 pinos de GND (Ground).
  • 1 pino de alimentação de 3.3V (3V3) e um de 5V.
  • Possui um pino denominado Vin, que possibilita o uso da tensão colocada à entrada (Pwr), antes de passar pelo controlador de tensão, sendo esta funcionalidade programável por software.
  • 1 pino de reset, que à semelhança do botão presente no Arduino, e como o próprio nome indica faz o reinício do Arduino, ou seja, executa o programa a partir do início novamente, através da aplicação de um sinal de entrada. Voltando a executar o bloco de instruções da função setup, como referido mais à frente no artigo.
  • 14 portas digitais (0 ao 13) configuráveis como input ou output. Com a possibilidade de em seis destas (5, 6, 9, 10, 11) usar PWM (Pulse Width Modulation). Esta potencialidade é muito importante, pois através da variação da largura do impulso pode-se “simular” tensões entre 0 e 5V. Os pinos digitais 0 e 1 possibilitam, ainda, quando configurados, o envio de informação em série, permitindo outra interface, dependendo do fim pretendido.
  • 6 portas analógicas, possuindo um conversor analógico digital de 10 bits. E fazendo as contas: 210 = 1024

Como a tensão máxima de referência, por definição, se encontra nos 5V, correspondendo ao valor 1023, obtemos a seguinte resolução:

5 ÷ 1024 = 0,00488 V = 5 mV

O que significa que só se conseguirá “detectar” variações superiores a 5mV. Ou seja, o valor lido pelo Arduino só se altera a cada 5mV de variação do sinal analógico de entrada.