Arduino

O Arduino é uma idéia fantástica. Pelo sucesso que ele faz muitas outras pessoas concordam comigo.

Enquanto antes os interessados em experimentar com hardware e projetos domésticos tinham que começar "do zero", a partir de componentes básicos, agora existe uma plataforma básica sobre a qual esses projetos podem ser desenvolvidos. Isso simplificou muito o acesso das pessoas ao "mundo real".

A maior parte do pessoal de informática trabalha em um "mundo virtual". Nele todas as informações são digitais e/ou já estão armazenadas digitalmente. Exemplo disso são fotos e dados textuais (que foram previamente digitados). É possível manipular essas informações para criar outras ou exibi-las para facilitar o entendimento. Ou mesmo descobrir relacionamentos entre diversos dados. Porém a interação com o "mundo físico" se limitava a uma mensagem de texto ou na mudança de cor de um ícone.

Com o arduino e suas interfaces digitais e analógicas agora é possível obter informações diretamente do "mundo real", processa-las ou transmiti-las, e produzir ações no mundo real. E agora essas interações podem ser bem mais complexas.

Um exemplo simples: acender uma lâmpada quando escurece. O circuito analógico para isso é simples: você usa um LDR ou similar para sensorar o nível de luminosidade do ambiente, um comparador de tensão com um valor pré-definido, e um acionador, relé ou equivalente, para acender a lâmpada. Quando a tensão detectada pelo LDR fica abaixo do valor de luminisidade definido, o comparador ativa o relé que acende a lâmpada. Trivial e com poucas chances de erros. Mas a pessoa tem que procurar um LDR, criar o divisor de tensão, ligar o comparador que precisa de uma fonte de alimentação e potência suficiente para acionar o rele que acende a lampada.

Com o arduino a situação muda um pouquinho: ainda é necessário o LDR para obter a luminosidade do ambiente e o rele para acionar a lampada. Agora a função do comparador de tensão é desempenhada pelo processador do arduino. Quando a luminosidade fica abaixo de X o rele é acionado. Até aqui o comportamento é bem parecido com o comportamento do circuito analógico mas como o circuito é programável o comportamento pode ser alterado alterado o programa.

Alguns recursos que podem ser colocados no programa são:

Tudo isso pode ser feito no circuito analógico colocando-se mais componentes, com um temporizador, um relógio de tempo-real, etc. Mas é mais fácil fazer isso alterando apenas o programa. E, se não todo, diversos pedaços do programa podem ser encontrados na internet.