Conteúdos, Práticas e Experimentações em Eletrônica
De acordo com a página introdutória do projeto Arduino, o "Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software fáceis de usar". De fato, a placa foi desenvolvida de forma aberta ("open source") e evolui de forma colaborativa. Da mesma forma, sua linguagem de programação, baseada no projeto Wiring, e a sua IDE, baseada no projeto Processing, são igualmente abertas.
Ainda que inicialmente voltado para educação e formação de desenvolvedores, a placa e o ambiente Arduino vêm "tomando corpo" e sendo amplamente utilizados em todo o tipo de aplicações e projetos multi-disciplinares. Além disso, serve como um ambiente ideal para a elaboração de "provas de conceito", em que se necessite de algum controle automatizado, e mesmo para o desenvolvimento de pequenos projetos comerciais, baseados em automação eletrônica, e até em aplicações de "retrofit", modernizando equipamentos com eletrônica obsoleta.
A placa Arduino UNO R3 conta com os processadores Atmel ATmega 328P e Atmel Atmega16U2 e pode ser programada através da IDE disponibilizada pelo projeto, com uma linguagem C++ específica para o ambiente, e contando com uma biblioteca completa para o desenvolvimento de código de alto nível.
Alternativamente ao uso das bibiliotecas disponíveis, o Arduino também permite uma programação de nível mais baixo, explorando diretamente as características dos processadores da placa. Este texto visa discutir algumas dessas alternativas:
É importante destacar que esse tipo de programação NÃO É, tipicamente, recomendável pelas seguintes razões:
Por outro lado, o seu uso permite explorar ao máximo as características do processador, desenvolvendo aplicações mais sofisticadas e com maior performance.