segunda-feira, 30 de setembro de 2013

Configurar e utilizar o Arduino pela primeira vez!

Tenho um Arduino... E agora?
Chegou a altura de fazer o meu primeiro projecto!


Antes de mais temos que compreender e preparar o nosso ambiente para trabalhar com ele.
Comecem por descarregar o software em: http://arduino.cc/en/Main/Software.

Instalem-no e devem ficar com um programa deste género (dependendo da versão):

Isto é o vosso ambiente de programação. Existem 2 botões que irão utilizar várias vezes, o Verify e o Upload. Servem para verificar erros no código, e fazer o upload do Sketch para o Arduino, respectivamente. Normalmente são os 2 botões do lado esquerdo da janela, logo abaixo da aba File. Passem o rato por cima deles e vejam a legenda para se certificarem.


Bom, o Arduino (Uno neste caso) tem uma série de entradas e saídas de dados:

Não precisam de se preocupar com tudo o que eles fazem para já, apenas convém ter uma ideia:

  • USB - Para ligar ao computador. Permite carregar os programas, assim como enviar dados para o exterior (para o computador por exemplo);
  • Alimentação externa - para ligar uma fonte de alimentação, de forma a poderem utilizá-lo como standalone, sem necessidade de um computador;
  • Botão de Reset - Reinicia o Arduino, sem necessidade de desligar da corrente e voltar a ligar;
  • Pinos digitais - Podem assumir 2 valores: HIGH (ligado a 5v) e LOW (0v);
  • Pinos analógicos - Assumem valores entre 0 e 1023. Normalmente são ligados a sensores para lerem as informações provenientes deles;
  • Outros pinos - Para uma variedade de situações: 5v debita corrente de 5v permanentemente. 3,3v faz o mesmo a 3,3v. Massa (GND) para fechar os circuitos, etc. Voltaremos a isto mais tarde.


Que tipo de acessórios devo ter para começar a fazer circuitos?
Em eletrónica é necessário uma variedade muito grande de componentes. Por sorte, podemos começar com muito pouco, e os componentes são baratos. Podem encontrá-los em qualquer loja de eletrónica ou, ainda mais barato, no eBay:

  • LED's - 5mm;
  • Resistências - vários valores são necessários, procurem um kit com vários;
  • Jumpers - para fazer as ligações nos circuitos;
  • Breadboard - placa de prototipagem para montar circuitos sem necessidade de soldar;
  • Buzzers, Condensadores, Transístores, Relays - muitos outros acessórios existem para a concretização de projectos. Isto já fica ao vosso critério, conforme os iremos utilizando nos nossos posts, mostraremos quais e onde os adquirir.
Existe ainda uma loja em Portugal que vende grande parte dos componentes: http://www.aquario.pt.

Adicionalmente, podem adquirir uma fonte de alimentação externa para o vosso arduino: http://www.ebay.com/sch/i.html?_sacat=0&_from=R40&_nkw=arduino+battery&LH_BIN=1.


_________________________________________
Vamos então à nossa primeira experiência:

Material Necessário (para além do Arduino e computador para programar):
  • LED - opcional.

O Arduino vem normalmente pré-carregado de fábrica com o Sketch "Blink". O que este Sketch faz é acender um LED durante um segundo, apagá-lo por outro segundo e repetir continuamente.

Ele utiliza o Pino Digital 13 que, normalmente, está ligado a um LED do próprio circuito do Arduino. Façam a experiência: Liguem o Arduino ao PC e observem-no. Um LED deverá acender e apagar com o intervalo de um segundo.

Claro que isto só por si não tem muito interesse. Vamos analisar o programa e ver como podemos brincar:

Antes de mais, liguem o Arduino ao PC e liguem o IDE (o programa que descarregaram e instalaram à pouco).

Testem a ligação: Para isso vão a File > Examples > 01.Basics > Blink e carreguem em Upload. O que acabaram de fazer é enviar exatamente o mesmo programa para o Arduino. Se tudo correu bem sem erros, estão prontos. Senão, significa que o computador não reconheceu o Arduino, e irão ter que alterar a porta. Para isso vão a Tools > Serial Port. Escolham outra porta e repitam o Upload. Se continuar a não funcionar escolham outra até dar. Essa é a porta que o computador reconhece onde o Arduino está ligado.

Se tiverem um LED e uma resistência (220 Ohm, 270 Ohm, ou similar), podem montar de seguinte forma: 





Não se esqueçam que a "perna" mais comprida do LED é a que liga ao Pino Digital 13. A mais curta liga à Massa (GND). Como podem ver, não interessa qual dos pinos GND utilizam, fazem todos o mesmo. A resistência não tem polaridade, logo podem colocar de qualquer das formas.



Caso tenham o LED, mas não a resistência, podem fazer a ligação diretamente, mas não aconselho a deixarem ligado por muito tempo. Uns segundos não há problema, mas muito tempo há o risco de queimar.

Se não têm componentes ainda, não há problema, utilizem o LED integrado no circuito.


Aconselho a terem cuidado ao utilizar a Breadboard. Se não sabem como, ou nunca utilizaram, podem fazer um curto-circuito.



Agora vamos analisar o programa:





Em C, tudo o que está entre /* e */, ou a seguir a // é considerado comentário, logo o compilador ignora. Os comentários servem para ajudar quem lê o código a perceber o que ele faz.

De seguida existem as funções setup() e loop(). Funções servem para definir comandos que serão realizados sempre que a função é chamada. No arduino, a função setup() corre uma vez assim que ele é ligado, passando para a função loop() que se repete infinitamente.
As variáveis podem ser declaradas no início do programa (variáveis globais, que podem ser utilizadas por qualquer função) ou dentro de uma função (variáveis locais, que apenas podem ser utilizadas dentro da função em questão.

No caso do Blink, declarou-se primeiro a variável inteira int led = 13;. Significa que sempre que chamarmos esse nome (led) ele vai corresponder a 13.

De seguida, na função setup(), informamos que o pino digital 13 irá funcionar como OUTPUT (envia informação, ao invés de receber): pinMode(led, OUTPUT);.

Na função loop(), utilizamos o comando digital.Write() para ordenar o pino correspondente ao led (lembrem-se que é o 13) tomar valor HIGH ou LOW, acender e apagar, respectivamente.

Entre esses 2 comandos, existe a ordem delay() que pausa o programa durante o número de milissegundos que quisermos. Neste caso, sendo 1 segundo, utilizamos o número 1000.


A não esquecer:
  • Reparem que à excepção das funções, todos os comandos acabam com ;;
  • As funções quando declaradas (neste caso utilizando a palavra void), contêm todas as linhas de código entre {} e a seguir ao nome têm ().

Agora lanço um desafio para quem estiver a aprender: Façam alterações ao programa. Mudem os tempos de delay. Mudem o pino do LED. Adicionem outro LED. Brinquem com isto para perceberem exactamente como funciona a programação deste Sketch. Sempre que tiverem um erro de compilação que não percebam: Google it!

Qualquer dúvida, sugestão ou crítica, não hesitem em contactar ou deixar um comentário. Ajuda-vos a vocês, e pode ajudar outros!

Sem comentários:

Enviar um comentário

 

Sobre

Este blog foi desenvolvido com o objectivo de ajudar entusiastas de Eletrónica e Programação, focando duas plataformas versáteis nesses campos: Arduino e Raspberry Pi.

Somos 2 amigos com interesses semelhantes na área de informática. Um é licenciado em Engenharia Informática, o outro apenas um entusiasta.

Não sendo profissionais da área, muitos conceitos e definições poderão não estar absolutamente correctas. Em parte, apenas podemos falar das nossas experiências pessoais nestas plataformas. Agradecemos todo o tipo de feedback no sentido de sempre melhorar o conteúdo do blog, de forma a providenciar uma fonte fidedigna de informação!

Seguidores

Contribuidores