Arduino - Uma plataforma open source para desenvolvimento de eletrônica

Quando pensamos em automação, sensoriamento e controle, normalmente fazemos uma associação com sistemas altamente complexos e caros. O Arduino veio diminuir esta distância entre as pessoas que gostam de programação e eletrônica destes sistemas de monitoramento. Vamos aprender mais sobre ele e as inúmeras possibilidades que temos.

[ Hits: 22.559 ]

Por: hermes nunes pereira junior em 06/01/2015


A estrutura de programação do Arduino



Um projeto no Arduino é chamado de "sketch". Quando o Arduino é instalado é automaticamente criado no $HOME do usuário um diretório chamado sketchbook. Este diretório é o padrão para todos os projetos criados.

Quando abrimos a IDE do Arduino ele abre um sketch vazio. Para que este sketch possa futuramente ser executado ele precisa obrigatoriamente ter duas seções: setup e loop. A seção setup é lida uma única vez no boot do Arduino. Nesta seção ficam as configurações do projeto. A seção loop é executada enquanto o Arduino estiver ligado. As instruções dentro dessa seção são lidas e executadas. Na seção loop está a leitura dos dados coletados pelos sensores e o acionamento de dispositivos caso alguma ação esteja prevista se algum sensor detectar uma variação já previamente definida no código.

Vejamos à estrutura do sketch:

void setup()
{

}

void loop()
{

}

Alguns cuidados são muito importantes na hora de programar: o arduino tem um limite de memória, são apenas 32 kb de memória, então o código tem que ser enxuto. É sempre bom comentar o código para que futuramente você saiba o que ele faz.

Para comentar uma linha usamos o sinal // (dupla barra). Para comentar várias linhas usamos /* no início da linha e */ no final. Todo o conteúdo entre estes caracteres serão entendidos como comentário.

Construindo nosso primeiro projeto

Nosso primeiro código é muito simples. A ação produzida por ele será ligar 2 LEDs alternadamente com um intervalo de 1 segundo entre eles.

Para ficar mais didático vou comentar diretamente no código o que o código faz:

// início da seção setup
void setup()
{

// definindo as duas variáveis que serão responsáveis pelos dois leds. Um led vermelho na porta // digital 12 e um led verde na porta digital 8   byte ledVermelho = 12;   byte ledVerde = 8;
// definimos através do "pinMode" que o ledVermelho e o ledVerde serão utilizados como saída // definimos através do "digitalWrite" que o ledVermelho inicia com o valor 1 – ligado // definimos através do "digitalWrite" que o ledVerde inicia com o valor 0 – desligado   pinMode(ledVermelho,OUTPUT);   digitalWrite(ledVermelho,1);
  pinMode(ledVerde,OUTPUT);   digitalWrite(ledVerde,0); }
// agora começa a seção que será repetida indefinidademente void loop() {
// ele já começa dando um tempo de 1 segundo. // no arduino o tempo é medido em milisegundos   delay(1000);
// o ledVermelho fica desligado, o ledVerde fica ligado   digitalWrite(ledVermelho,0);   digitalWrite(ledVerde,1);
// espera um segundo   delay(1000);
// o ledVermelho fica ligado, o ledVerde fica desligado   digitalWrite(ledVermelho,1);   digitalWrite(ledVerde,0);
// quando chega no fim do código ele volta para o início da seção "void loop()" e tudo recomeça. }

Depois do código escrito é preciso compilar e enviá-lo através do cabo USB para o Arduino. Na IDE, abaixo do menu há a barra de botões com os botões responsáveis pela compilação do código e seu upload. O primeiro botão é responsável por sua compilação, o segundo por seu upload.

Devemos tomar muito cuidado com a sintaxe, nomes de variáveis, palavras reservadas e loops de controle. Qualquer erro impedirá a compilação do código.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação da IDE de desenvolvimento
   3. A estrutura de programação do Arduino
   4. O uso do protoboard para criar os projetos
   5. Rodando o código sem a conexão USB com o computador
Outros artigos deste autor

Uma breve introdução ao Audacity

Usando o NIS/NFS como ferramentas de centralização de controle de rede

Usando o Linux como um studio de gravação (parte 1)

Instalando o CMS XOOPS

Criando um mirror do Conectiva para uma rede interna

Leitura recomendada

7 melhores práticas para quem é iniciante em Arduino

7 melhores práticas para quem é iniciante em Arduino

Controlando Arduino via IRC

Driver Nvidia atual + Ubuntu + Beryl

Gentoo Linux vale a pena?

  
Comentários
[1] Comentário enviado por fabio em 06/01/2015 - 11:21h

Excelente artigo Hermes, ansioso pela sequência. Até animei em adquirir um kit Arduino pra começar a aprender.

Qual kit e onde você indica pra quem quiser comprar?

Um abraço.

[2] Comentário enviado por keyboard99 em 06/01/2015 - 15:19h


Excelente artigo, como o colega acima também fiquei com muita vontade de adquirir um kit arduino, muito bom.

[3] Comentário enviado por hnpjunior em 06/01/2015 - 18:08h


[1] Comentário enviado por fabio em 06/01/2015 - 11:21h

Excelente artigo Hermes, ansioso pela sequência. Até animei em adquirir um kit Arduino pra começar a aprender.

Qual kit e onde você indica pra quem quiser comprar?

Um abraço.


Grande Fábio, no mercado livre podemos encontrar kits para começar a mexer com o Arduíno.

[4] Comentário enviado por xeqtr em 08/01/2015 - 08:13h

Pra mim, um dos melhores professores. Junto com o Fabiano Fialho
hehehe
Abraços Hermes, dá até orgulho em falar que ja fui seu aluno.

[5] Comentário enviado por Lisandro em 09/01/2015 - 22:41h

Realmente um artigo muito bem escrito e detalhado. Não conhecia a IDE MariaMole, gostei muito (embora ainda esteja meio bugada pois é beta), valeu pela dica no artigo. Parabéns Hermes!
Apenas me chamou a atenção 2 coisas que na verdade não prejudicam em nada o artigo, mas fica como observação:
1) A foto do Arduino na página 1 é do Diecimila (antecessor) e não do Uno, mas como a pinagem é a mesma não há prejuízo e o pessoal fica conhecendo outra placa.
2) Na última página as voltagens corretas de funcionamento do Uno são o desejável de 7V a 12V e os extremos de 6V a 20V, veja lá em http://arduino.cc/en/Main/ArduinoBoardUno

Cara muito boa a tua iniciativa espero ver outros artigos teus aqui, já dei like.
Abraço

[6] Comentário enviado por azk em 12/01/2015 - 02:31h

Ótimo artigo!
Arduino é um assunto realmente interessante...

[7] Comentário enviado por caslubas em 06/02/2015 - 14:35h

Excelente artigo!

Favoritado!

[8] Comentário enviado por josef em 05/05/2015 - 20:09h


Uma pergunta, os projetos feitos no Arduino Linux podem ser abertos no Arduino Windows e vice-versa?

Grato

[9] Comentário enviado por fedoralinux36 em 25/06/2015 - 21:13h

Um trabalho para ser compartilhado.Grato!

[10] Comentário enviado por edsonpanis em 14/07/2015 - 16:06h


Adquiri um Kit Arduino e estou interessado em desenvolver este projeto: http://interface.khm.de/index.php/lab/interfaces-advanced/theremin-as-a-capacitive-sensing-device/
Como meus conhecimentos de eletrônica são limitados, procuro quem possa ajudar-me a identificar os componentes e em algumas dicas para que eu possa iniciar a empreita. Obrigado!

[11] Comentário enviado por fabiocftv em 27/03/2016 - 17:10h


[8] Comentário enviado por josef em 05/05/2015 - 20:09h


Uma pergunta, os projetos feitos no Arduino Linux podem ser abertos no Arduino Windows e vice-versa?

Grato


Sim Josef, o Código que é escrito será exportado em formato .INO desta forma você pode abrir na IDE Arduino tanto pelo Linux quanto pelo Windows. Inclusive você pode escrever o código na IDE Windows e enviar por email para um colegar compilar e carregar no Linux sem problemas.

[12] Comentário enviado por cleysinhonv em 18/11/2016 - 15:13h

Parabéns Hermes,

Estou agudardando um artigo seu explicando como fazer lampadas de led. Utilizando lampadas leds verdes, vermelhos e violeta. Isso seria util para controlar crescimento de plantas.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts