quarta-feira, 19 de novembro de 2014

Arduino: por onde começar?

Arduino é uma plataforma com alta afinidade na cultura maker e incentiva o envolvimento de amadores e entusiastas a construírem suas próprias traquitanas eletrônicas, robóticas e afins - mesmo que não tenham formação nessas áreas.

O ecossistema Arduino ajuda bastante. Gastando pouco, você pode construir ou comprar uma placa Arduino ou módulos acessórios para incrementar seu projeto. Há software livre ou gratuito para compilar seus programas e programá-los na placa e estão disponíveis para Windows, Linux ou MacOS. E para facilitar a vida do estudante, há vasta quantidade de informação disponível por aí, nos blogs, fóruns, apostilas e livros.

Neste artigo, vou tentar reunir o essencial para quem quer montar um ambiente de desenvolvimento completo, com compilador e programador. E o melhor, tudo gratuito!

Hardware

Para ter uma placa Arduino, um bom ponto de partida é o site oficial: www.arduino.cc. Mas é importante ter em mente que o projeto das placas é aberto (hardware livre) e você mesmo pode tentar construi-las. Outra alternativa é procurar na internet por quem já vende as placas prontinhas para serem usadas. No Mercado Livre, as placas custam a partir de uns R$ 45,00. No eBay, a partir de US$ 15,00.

Mas o que é uma placa Arduino?

Basicamente, é um computador completo, com CPU, RAM, Flash e vários pinos digitais. Talvez não tão poderoso quanto seu desktop ou notebook, mas o suficiente para se conectar a botões, teclados, fones de ouvido, displays, sensores e vários outros dispositivos. Você pode arranjar essas coisas de equipamentos usados (isso é muito legal) ou comprar na internet ou em lojas de eletrônica.

As plaquinas Arduino já estão prontas para rodar o programa que você gravar na Flash, basta alimentá-la por USB (5V) ou pela entrada específica, que aceita entre 5V e 12V. Também são programáveis, ou seja, basta conectá-las na USB para subir um novor programa. Muito fácil!

Arduino IDE

Para quem está começando a programar em Arduino, o Arduino IDE talvez seja o mais indicado. É a ferramenta "oficial" do Arduino, que roda em Windows, Linux e MacOS. E o mais legal: se você usa outro sistema operacional, pode baixar os fontes e compilar em seu próprio ambiente.

O Arduino IDE é o que a gente costuma chamar de Ambiente de Desenvolvimento Integrado (IDE, na sigla em inglês) e possui várias ferramentas de trabalhor: o editor de código-fonte, o compilador, o programador, o monitor de porta serial... é baseado no GCC, o compilador C da GNU, mas para deixar a linguagem C mais palatável e tirar o receio do iniciante, os desenvolvedores da ferramenta simplificaram algumas coisas:

  • trocaram a famosa função void main() da linguagem C pelas funções void setup() e void loop(). Todo o código que você colocar em setup será executado uma vez, ao iniciar o programa. Todo o código na função loop vai rodar enquanto a placa estiver alimentada.
  • nada de projetos ou makefiles para dificultar a vida de quem está começando, basta criar um novo "sketch".
Minha dica para quem está começando e morrendo de medo de se envolver com linguagem C: relaxa. O Arduino IDE vem com várias funções prontas para facilitar a programação em Arduino. Também há várias bibliotecas para situações específicas, como ler os dados de um sensor ou exibir um texto num display.

Minha dica para quem já é profissional e morrendo de raiva de terem feito tantas modificações: relaxa. Ainda é o bom e velho GCC rodando debaixo dos panos e, precisando, você pode evitar as funções e bibliotecas prontas e fazer tudo por conta própria.

De qualquer forma, se você já baixou o Arduino IDE e já tem uma placa Arduino, que tal testar seu ambiente? No menu File > Examples há muitos exemplos testando as funções para entra e saída com as portas digitais, controle analógico, manipulação de strings, comunicação, etc.

Eu peguei o exemplo blink, que pisca o LED do pino 13 da própria placa: um segundo ligado, um segundo desligado, repetidamente. Observe:


/*
  Pisca-Pisca
  Liga um LED por um segundo, então o desliga, repetidamente.
 */
 
// O pino 13 tem um LED na maioria das placas Arduino
int led = 13;

void setup() {                
  // configura a porta do LED como saída
  pinMode(led, OUTPUT);     
}

// roda o código abaixo enquanto a placa estiver ligada
void loop() {
  digitalWrite(led, HIGH);   // liga o LED
  delay(1000);               // espera 1s
  digitalWrite(led, LOW);    // desliga o LED
  delay(1000);               // espera 1s
}

Até que não é tão difícil, hein?

Nenhum comentário:

Postar um comentário