Curso Básico de Arduino - 18 Horas - Presencial: Topics

Introdução ao uso do Arduino e conceitos necessários
O Projeto do Arduino

Arduino1 ?e um projeto que engloba software e hardware e tem como objetivo fornecer uma plataforma fa ?cil para prototipa ?ca ?o de projetos interativos, utilizando um microcontrolador. Ele faz parte do que chamamos de computa ?ca ?o f ??sica: a ?rea da computa ?ca ?o em que o software interage diretamente com o hardware, tornando poss ??vel integra ?ca ?o fa ?cil com sensores, motores e outros dispositivos eletroˆnicos.

A parte de hardware do projeto, uma placa que cabe na palma da ma ?o, ?e um computador como qualquer outro: possui microprocessador, memo ?ria RAM, memo ?ria flash (para guardar o software), temporizadores, contadores, dentre outras funcionalidades. Atualmente, o projeto esta ? na versa ?o Uno, por ?em muitos Arduinos encontrados hoje sa ?o da versa ?o Duemilanove (2009, em italiano), que possui um clock de 16MHz, 2kB de memo ?ria RAM, 32kB de memo ?ria flash, 14 portas digitais e 6 entradas analo ?gicas.

A principal diferenc ?a entre um Arduino e um computador convencional ?e que, al ?em ter menor porte (tanto no tamanho quanto no poder de processamento), o Arduino utiliza dispositivos diferentes para entrada e sa ??da em geral. Por exemplo: em um PC utilizamos teclado e mouse como dispositivos de entrada e monitores e impressoras como dispositivos de sa ??da; ja ? em projetos com o Arduino os dispositivos de entrada e sa ??da sa ?o circuitos el ?etricos/eletroˆnicos.

Como a interface do Arduino com outros dispositivos esta ? mais perto do meio f ??sico que a de um PC, podemos ler dados de sensores (temperatura, luz, pressa ?o etc.) e controlar outros circuitos (laˆmpadas, motores, eletrodom ?esticos etc.), dentre outras coisas que na ?o conseguir ??amos diretamente com um PC. A grande diferenc ?a com rela ?ca ?o ao uso desses dispositivos, no caso do Arduino, ?e que, na maior parte das vezes, no ?s mesmos constru ??mos os circuitos que sa ?o utilizados, ou seja, na ?o estamos limitados apenas a produtos existentes no mercado: o limite ?e dado por nosso conhecimento e criatividade!

O melhor de tudo nesse projeto ?e que seu software, hardware e documenta ?ca ?o sa ?o abertos. O software ?e livre (GNU GPL2), o hardware ?e totalmente especificado (basta entrar no site e baixar os esquemas) e a documentac ?a ?o esta ? dispon ??vel em Creative Commons3 – os usua ?rios podem colaborar (seja escrevendo documentac ?a ?o, seja traduzindo) atrav ?es da wiki!


1 http://www.arduino.cc/
2 http://www.gnu.org/licenses/gpl.html
3 http://creativecommons.org/licenses/


Obtendo e Instalando o Software

Para criar um projeto com o Arduino, basta comprar uma placa Arduino (utilizaremos o Arduino Duemilanove como exmplo) – que custa em torno de US$30 no exterior e por volta de R$100 no Brasil –, fazer download da interface integrada de desenvolvimento (IDE)4 e ligar a placa a` porta USB do PC.

Como qualquer computador, o Arduino precisa de um software para executar comandos. Esse software sera ? desenvolvido na Arduino IDE em nosso PC, utilizando a linguagem C++. Apo ?s escrever o co ?digo, o compilaremos e enta ?o faremos o envio da versa ?o compilada a` memo ?ria flash do Arduino, atrav ?es da porta USB. A partir do momento que o software ?e gravado no Arduino na ?o precisamos mais do PC: o Arduino, como ?e um computador independente, conseguira ? sozinho executar o software que criamos, desde que seja ligado a uma fonte de energia.

Antes de iniciar nosso projeto precisamos enta ?o instalar a IDE. Vamos la ?:

  • Ubuntu GNU/Linux 10.10: Basta executar em um terminal:

             sudo aptitude install arduino
    

    ou procurar pelo pacote “arduino” no Synaptic (menu Sistema ? Administrac ?a ?o ? Gerenciador de pacotes Synaptic).

  • Ubuntu GNU/Linux (anterior a 10.10): Consulte a pa ?gina de instala ?ca ?o do Arduino em Ubuntu5.

  • Outras distribui ?co ?es GNU/Linux: Consulte a pa ?gina de instala ?ca ?o em outras distribuic ?o ?es GNU/Linux6.

  • Microsoft Windows: Consulte a pa ?gina de instala ?ca ?o para as variadas verso ?es do Microsoft Windows7.

  • Apple Mac OS X: Consulte a pa ?gina de instalac ?a ?o para o Mac OS X8.

    Apo ?s a instalac ?a ?o, abra a IDE (no Ubuntu GNU/Linux ela estara ? dispon ??vel no menu Aplicativos ? Ele- trˆonica ? Arduino IDE).

4 http://arduino.cc/en/Main/Software
5 http://www.arduino.cc/playground/Linux/Ubuntu
6 http://www.arduino.cc/playground/Learning/Linux 7 http://www.arduino.cc/en/Guide/Windows
8 http://www.arduino.cc/en/Guide/MacOSX

Começando, um primeiro projeto

Criando um Projeto inicial usando só o Arduino para aprendermos a usar a interface e entendermos os conceitos básicos de programação.

Bibliotecas e Shields

O Arduino pode ser extendido tanto a nível de software como hardware, respectivamente via Bibliotecas e shields.

A Linguagem de Programação

O Arduino é progrogramado em uma linguagem que é uma simplificação do C/C++, chamada que é chamada de Wiring, porém Wiring é uma plataforma composta da Linguagem e de uma IDE baseada na IDE do Processing.

Esta plataforma foi criada pelo artista plastico Hernando Barragán. E foi criado para facilitar a programação de microcontroladores, seu uso não se limita ao Arduino, também não impede que seja usado recursos nativos do C/C++ quando se está programando para o Arduino.

Não iremos entrar em detalhes avançados aqui, apenas veremos o esqueleto básico de um programa para Arduino, os tipos de dados usados, as estruturas de controle, algumas dicas de desempenho.

Observe que o compilador mais utilizado é o AVR-GCC que é o GCC comumente usado no Linux com compilação para microcontroladores AVR, que é a arquitetura utilizada no controlador do Arduino como foi visto no tópico que trata da arquitetura.

Integração e Comunicação com o PC

Muitos projetos precisam de um poder computacional maior, e até mesmo armazenamento ou obtenção de dados de forma mais ampla, para isto você terá que interagir com seu computador ou mesmo um servidor em sua rede.

Portas Digitais e Analógicas

O Arduino e suas variantes possui algumas portas de comunicação, na sua maioria são portas digitais e em menor quantidades portas analogicas, vamos ver como estas portas funcionam.

Fundamentos de Eletrônica

Bem, trabalhar com Arduino é trabalhar com Eletrônica, você pode até fazer parte de uma equipe ter alguem que se preocupe com isto para você, mas com certeza, fará um melhor trabalho se souber um pouco dos conceitos para poder pelo menos conversar com os membros da equipe responsáveis pela parte perigosa do trabalho.

Aplicando a Eletrônica

Veremos agora como utilizar um pouco dos componentes eletrônicos estudados nos tópicos anteriores.

Eletrônica Digital

Dizemos que um circuito ?e digital quando suas entradas e sa ??das trabalham com sinais digitais, ou seja, sinais com valores bem definidos. Geralmente esses circuitos trabalham apenas com dois valores e, por isso, chamamos esses sistemas de digitais bina ?rios.

Quando estamos falando de circuitos digitais, estamos falando de transporte de informa ?ca ?o. E como temos somente dois valores poss ??veis de tensa ?o, teremos toda a informa ?ca ?o codificada em bina ?rio – chamamos cada informa ?ca ?o bina ?ria de bit (d ??gito bina ?rio ou binary digit, do Inglˆes) e os representamos por 0 e 1.

Dessa forma, se nossos circuitos trabalham com tenso ?es de 0V e 5V, dizemos que 0V equivale ao bit 0 e 5V equivale ao bit 1 – agora passamos a falar de bits (informac ?a ?o) em vez de tenso ?es, ou seja, estamos pensando uma camada acima.

Fazendo Barulho com o Arduino

Muitas vezes precisamos chamar a atenção do usuário, e apenas luzes não é suficiente, então lançamos mão de sons para isto, vamos ver aqui como usar altofalantes com o Arduino.

Usando LCD

Bem já vimos como usar LEDs como emitirmos som e muitos outros recursos com o Arduino, agora iremos ver como apresentar mensagens de texto para o usuário através de um display LCD.

A memória do Arduino

O Arduino como vimos no tópico que trata de sua arquitetura possui 3 tipos de memória, e agora iremos ver em mais detalhes como trabalhar com cada uma delas, não iremos ir a fundo neste uso, porém discutiremos um pouco o impacto do uso de cada uma.

No curso avançado iremos entrar em mais detalhes.

Pesquisar

Usar Perfil do Facebook

Blogger

Console de depuração do Joomla!

Sessão

Informação do perfil

Memória Utilizada

Consultas ao banco