O que é Arduino? Tudo Que Você Precisa Saber [Guia Completo]

Flávio Babos
Escrito por Flávio Babos
Atualizado em:

Você é daquelas pessoas que quando criança adorava desmontar brinquedos eletrônicos para ver o que tinha dentro? Eu também, sem nem saber que o Arduino existia.

Mesmo passados uns bons anos dessa época, ainda guardo muitas peças de carrinhos, engrenagens, motores pequenos de corrente contínua, peças de impressoras e de robôs que possuía na infância.

Eu adorava dar vida às minhas maluquices. Fazia de tudo com essas peças de sucata.

Mas, havia um problema!

Eu não possuía os conhecimentos necessários para dar vida a todos os projetos que queria criar.

Isso mudou quando descobri um mundo de possibilidades no ano de 2014 com a plataforma Arduino. Nunca mais me desprendi da placa pois, com ela, posso fazer uma infinidade de projetos.

Te digo isso pois mesmo você não sendo um expert na área, é possível criar coisas e montar projetos em questão de minutos.

Você sabe do que eu estou falando?

Ou tem conhecimento de tudo que a plataforma pode te oferecer?

Pois bem!

Veja as respostas e muito mais neste guia completo sobre o que é Arduino.

O que é Arduino afinal de contas?

O que é Arduino? Um mundo recheado de possibilidades

O que é Arduino e como funciona?

Arduino é uma plataforma de prototipagem fácil e de hardware livre. Ele surgiu da necessidade de que estudantes, que não possuíssem muito conhecimento e experiência em eletrônica e programação, pudessem criar projetos baratos, fáceis de montar e de programar. 

Sendo assim, por ser uma plataforma com um custo acessível e por ser bastante útil, o Arduino vem atraindo muita gente desde sua fundação em 2005 na Itália.

Veja só!

Sua simplicidade e aplicabilidade permite desenvolver projetos que podem atuar nas fábricas, controlar a sua própria casa e seu uso pode estender a salas de aula no ensino a robótica educacional.

Não é de se estranhar que ele também seja utilizado como instrumento de ensino de Robótica para crianças e para iniciantes em Curso de Robótica Infantil Online.

Além do mais, nas Universidades, ele tem sido usado em aulas experimentais de eletrônica a fim de analisar a carga e descarga de capacitores.

O que é Arduino usado como capacímetro
Arduino uno usado como capacímetro – possível aplicação no ensino à Física

Impressionante a quantidade de aplicações, não é mesmo?


Alavanque seu conhecimento com o curso de Arduino

Já, o conceito de ser um hardware livre e open source significa que o circuito e o design do Arduino estão disponíveis online e de graça para que qualquer um possa criar sua própria placa.

Isso possibilita muita customização nos projetos pois permitem as pessoas criarem Arduinos de diferentes tamanhos e formas para seus projetos.

Sendo assim, devido ser uma plataforma livre, diversas empresas comercializam suas próprias placas Arduino compatíveis com a IDE e suas bibliotecas.

É importante denotar que comercializar placas assim não é ilegal, mas, não é apoiado.

Ilegal seria se a empresa se passasse pela marca Arduino ou informar que a placa é a original fabricada na Itália.

Agora, sobre o hardware, para que você entenda melhor as funções de cada pino e outras caracterísitcas da plaquinha, observe a imagem abaixo:

O que é Arduino UNO? Componentes e saídas do hardware da placa

De acordo com um dos fundadores do Arduino, Massimo Banzi, a plataforma foi desenvolvida com a unção de outras plataformas e softwares de programação tais como: wiring, gcc, processing, AVR-DUDE, AVR-LIBC e java.

Em sua palestra ao TED, ele conta o que é Arduino, como ele surgiu e mostra alguns projetos até então desenvolvidos.

Assista a palestra abaixo:

Fica claro, de acordo com a fala de Massimo, que a participação ativa da comunidade maker/DIY em colocar os projetos em prática e expor as ideias com Arduino na internet, contribuiu para a performance da plataforma e deu mais oportunidades para que mais pessoas fizessem seus projetos também.

Nesse sentido, eu indico algumas comunidades para você se inspirar e instigar sua criatividade em projetos com Arduino: Instructables, SparkFun e Hackster.io.

Mas, afinal, quais são os tipos de Arduino?

Muitos projetos demandam diversas funcionalidades, como, por exemplo, temos Arduinos que:

  • controlam drones;
  • que são usados em roupas;
  • que controlam robôs;
  • que são usados em impressoras 3D, e;
  • dentre outras utilidades.

E, para que atenda a todos esses tipos de projetos, tem-se a disposição diversos modelos de Arduinos.

Os principais e mais utilizados são:

Se você quiser aprofundar mais nas características técnicas destas placas e sobre o que é cada Arduino, aqui vai uma tabela informativa:

MODELOPROCESSADORMEMÓRIAPINOS DIGITAIS I/OPINOS ANALÓGICOS I/O
UNO16MHz ATmega3282KB SRAM e 32KB flash146 input e 0 output
DUE84MHz AT91SAM3X8E96KB SRAM e 512KB flash5412 input e 2 output
MEGA16MHz ATmega25608KB SRAM e 256KB flash5416 input e 0 output
LEONARDO16MHz ATmega32u42.5KB SRAM e 32KB flash2012 input e 0 output
LILYPAD8MHz ATmega168V ou ATmega328V1KB SRAM e 16KB flash146 input e 0 output
NANO16MHz ATmega3282KB SRAM e 32KB flash228 input e 0 output
MINI16MHz ATmega3281KB SRAM e 32KB flash146 input e 0 output
Fonte: store.arduino.cc/usa/

Como programamos nossos projetos?

O Arduino é baseado nas linguagens C/C++ e na plataforma Wiring. Isso nos permite criar projetos mais flexíveis em questão de programação e nos permite usar diversos módulos e componentes eletrônicos que podem se comunicar facilmente com as placas.

O ambiente de programação que utilizamos em projetos com Arduino é chamado IDE (Ambiente de Desenvolvimento Integrado, sigla em inglês) e, ele se parece bem com a imagem abaixo:

O que é Arduino IDE? Ambiente de Programação do Arduino
Arduino IDE

Mas, o que é Arduino IDE?

Ela é a plataforma que você irá usar para dar forma ao seu projeto, ou seja, é nela que você fará todos os componentes eletrônicos se comunicarem através da programação do microcontrolador do seu Arduino.

Acesse o site: “arduino.cc/en/main/software” e faça o download da IDE em sua versão mais atualizada.

Mas, antes de tudo, é necessário entender como tornar isso possível e como se comunicar com esse ambiente de programação.

Primeiramente, o que vemos são as palavras void setup () e void loop (). Esses termos representam as duas funções nativas da IDE.

Existem centenas de outras funções que você pode criar no software. No entanto, essas duas são padrões em todos os projetos e são as mais importantes.

Além disso, durante o desenvolvimento dos meus projetos com Arduino, escrevi as principais funções dentre as quais eu mais utilizava.

A partir daí, fui anotando todas elas e isso me ajudou bastante a criar um mapa mental da IDE do Arduino onde consulto sempre quando tenho alguma dúvida sobre alguma função.

Você gostaria de ter esse material para consultas futuras também?

Que bom que sim pois vou disponibilizá-lo gratuitamente neste artigo.

Aproveite para baixar o arquivo que possui as principais funções utilizadas em projetos com Arduino abaixo:

Mapa mental sobre arduino
MPrincipais funções para você saber durante seus projetos com Arduino na IDE

Após abaixar o mapa, você irá ver que, de todos os termos que existem na IDE, os mais essenciais que um projeto deve conter são:

  1. Void setup () – o que estiver aqui será executado apenas uma vez pela IDE. Esta função contém toda a configuração do programa como, por exemplo, é aqui que você declara pinos como sendo OUTPUT ou INPUT, executa a comunicação serial “Serial.begin(9600)” e inicializa bibliotecas;
  2. Void loop () – é executada continuamente, não para, até que a placa não seja mais alimentada ou que aconteça um reset. É aqui que você irá inserir o que o Arduino irá executar no mundo exterior: rotacionar um motor DC, movimentar um servo motor arduino, fazer a leitura de um ambiente com sensor de temperatura como o DHT11, fazer funcionar um sensor ultrassônico, ligar um Display LCD Arduino etc;
  3. Colchetes {} – servem para guardar o que será feito naquele bloco de tarefas a serem executadas pelo programa quando solicitada;
  4. Barras // (opcional) – apenas servem para comentar o código. As barras são usadas para fazer anotações e não interferem na programação.

Ademais, vale lembrar que o código no Arduino é executado na ordem em que é disposto nas linhas do programa, e não simultaneamente.

Finalmente, após passarmos pelo básico das funções, podemos analisar melhor o ambiente de programação IDE e, posteriormente, fazer um projeto para praticar.

Assim, costumo serparar a IDE em três partes: a Toolbar no topo, o código (chamado também de Sketch Window) no centro e a janela de mensagens na base.

Nesse sentido, a Toolbar consiste de seis botões, que fornecem rápido acesso às funções utilizadas mais frequentemente dentro desses menus.

Elas são, respectivamente:

Toolbar IDE Arduino
Toolbar IDE Arduino
  1. Verify: Verifica se há erros no código;
  2. Upload: Faz o upload do sketch atual para o Arduino;
  3. New: Cria um sketch em branco;
  4. Open: Mostra uma lista de sketches, em seu Sketchbook, para abrir;
  5. Save: Salva o sketch atual em seu Sketchbook;
  6. Serial Monitor: Exibe os dados seriais enviados do Arduino;
O que é Arduino IDE
O software do Arduino em uma janela

Talvez você pense que seja muito complicado a programação na IDE.

De fato, alguns projetos demandam mais conhecimento técnico do que outros mas, de forma, geral o ambiente de programação possui uma série de recursos e bibliotecas disponíveis para facilitar o trabalho.

É necessário apenas que utilizemos chamadas de funções e que escrevamos a nossa lógica de programação no ambiente da IDE.

Então, se você nunca programou, não precisa se alarmar.

A plataforma é bastante intuitiva e maior parte dos algoritmos complexos estão dentro de bibliotecas e funções como dito anteriormente.

Seu primeiro projeto com Arduino

Chegamos na parte prática do artigo e você irá aprender sobre o que é Arduino colocando a mão na massa!

O exemplo que trouxe para você abaixo é um projeto bem simples, basta você seguir o passo a passo da montagem e, posteriormente, da programação que você irá conseguir construir seu projeto sem muita dificuldade.

Projeto de LEDs explicando o que é Arduino
Imagem de como ficou o projeto

O objetivo deste exemplo é entender a lógica por trás de um código que acende 3 LED’s de forma que o LED azul e verde acendem apenas quando o botão estiver pressionado. Veja o vídeo abaixo:

Ao fim da montagem você terá um projeto parecido com o vídeo acima.

Agora, para a montagem do projeto em si, atente-se aos componentes necessários abaixo:

Componentes Elétricos utilizados no projeto de leds
Componentes utilizados para fazer o projeto proposto

Você irá precisar de:

  • 6 fios macho-macho;
  • 3 jumpers pequenos ou 3 fios macho-macho também (jumpers são bons pois diminuem o espaço ocupado no circuito);
  • 1 protoboard pequena (se preferir pode usar uma maior do que a ilustrada na imagem);
  • 1 pushbutton;
  • 3 resistores de 220 ohms;
  • 1 resistor de 10 kilohms;
  • 3 LED’s de preferência de cores diferentes;
  • 1 arduino.

A montagem do circuito ficará assim:

Montagem do projeto de LED's sobre o que é Arduino
Montagem dos componentes do projeto
Esquema elétrico do Projeto de LED's com Arduino
Montagem esquemática do projeto

Em projetos com Arduino, é normal você encontrará esse tipo de montagem dos projetos, o visto pela protoboard e os esquemas elétricos.

É fácil você conseguir montar o seu próprio também. A ferramenta que mais utilizo para isso é o Fritzing.

Bora programar na IDE do Arduino?

Então, chegou a hora de programar o seu Arduino UNO!

Segue abaixo o código que iremos utilizar e logo em seguida, uma explicação passo a passo do que foi feito nele.

/*   Código do projeto pisca 3 LED's com botão.
     Componentes:
        > 6 fios macho-macho;
        > 3 jumpers;
        > 1 protoboard;
        > 1 pushbutton;
        > 3 resistores de 220 ohms;
        > 1 resistor de 10 kilohms;
        > 3 LED’s de preferência de cores diferentes;
        > 1 arduino.

     Monte seus próprios projetos sem dificuldade com programação! 
     ACESSE: flaviobabos.com.br/
*/

int estadobotao = 0;         //declare a variável inteira de leitura do botão

void setup() {

  pinMode(8,OUTPUT);        //diga ao arduino que os pinos das LEDs são de saída: 'OUTPUT'
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(2, INPUT);          //agora para o botão, será de entrada: 'INPUT'
                              //será 'INPUT' para que o arduino faça a leitura do estado do botão
}                                         

void loop() {
  estadobotao = digitalRead(2); //a variável 'estadobotao' recebe o estado da porta digital 2

  if (estadobotao == LOW){   // se o botão não estiver pressionado

    digitalWrite(8, HIGH);   // acende o LED vermelho da porta 8
    digitalWrite(9, LOW);    // apaga o LED verde da porta 9
    digitalWrite(10, LOW);    // apaga o LED azul da porta 10
  }

  else{                      // se estiver pressionado

    digitalWrite(8, LOW);   // apaga o LED vermelho da porta 8
    digitalWrite(9, LOW);   // apaga o LED verde da porta 9
    digitalWrite(10, HIGH);  // acende o LED azul da porta 10

    delay(250);             // espera 0.250 segundos 
    digitalWrite(9, HIGH);  // acende o led verde da porta 9
    digitalWrite(10, LOW);   //apaga o led azul da porta 10
    delay(250);             //espera mais 0.250 segundos
  }

}

O código explicado a fundo

A ÚNICA VARIÁVEL DO CÓDIGO

int estadobotao = 0;

Para criar uma variável, é preciso declarar de que tipo ela será. A variável que declarar como int (também chamado de inteiro) irá guardar um número, isso significa ser qualquer valor sem um ponto decimal.

A declaração da variável deve terminar com ponto e vírgula (;), ou seja, não devemos nos esquecer dessa pontuação no final de cada linha de código senão, o software culminará em um erro de pontuação.

Seta CONFIGURANDO A FUNCIONALIDADE DOS PINOS

void setup() {
   pinMode(8,OUTPUT);        
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(2, INPUT);
}

O setup() roda uma vez, quando o Arduino é iniciado/ligado. É aqui que você configura os pinos digitais para ou serem inputs (recebe um comando/informação de fora) ou outputs (envia um comando) usando a função pinMode().

Assim, os pinos onde os LED’s são conectados são chamados OUTPUT e o botão/switch será declarado como INPUT.

Seta CONFIGURANDO A FUNÇÃO NATIVA LOOP()

void loop() {
  estadobotao = digitalRead(2); //a variável 'estadobotao' recebe o estado da porta digital 2

O loop() roda repetitivamente após o setup() tiver sido executado. É na função loop() que verificamos a tensão nos inputs e, ligar ou desligar os outputs.

Para verificar a tensão em um pino digital, usa-se a função digitalRead() e, para saber qual pino verificar, essa função aguarda por um argumento.

Esses argumentos são informações que você passa para funções anteriormente declaradas, dizendo a elas como elas devem executar o código. Por exemplo, digitalRead() precisa ser instruído sobre qual pino irá fazer a leitura.

Em nosso código, digitalRead() irá verificar o estado do pino 2 e armazenar o valor na variável estadodobotao. Caso não haja tensão no pino quando a função digitalRead () for chamada, será atribuida à variável estadodobotao HIGH (ou 1). Se não houver tensão no pino, será atribuído LOW ao estadodobotao (ou 0).

Seta A CONDIÇÃO IF()

  if (estadobotao == LOW){   // se o botão não estiver pressionado

No código, utilizamos a condição if() (se, em inglês) para verificar o estado de algo.

Essa declaração em programação faz uma comparação entre dois fatores e determina se a comparação é verdadeira ou se é falsa. A partir disso, será tomada uma ação de acordo com o que pedirmos para fazer após a condição.

Usa-se o sinal == para quesito de comparação em programação. Se usarmos apenas um sinal, será igualado um valor ao invés de compará-lo.

Seta LIGANDO OS LED’s

digitalWrite(8, HIGH);   // acende o LED vermelho da porta 8
    digitalWrite(9, LOW);    // apaga o LED verde da porta 9
    digitalWrite(10, LOW);    // apaga o LED azul da porta  10
  }

digitalWrite() é o comando que permite que mandemos 5V ou 0V para um pino output. Essa função leva em consideração dois argumentos: qual pino controlar e qual valor determiniar para aquele pino, HIGH ou LOW.

  else{                      // se estiver pressionado

    digitalWrite(8, LOW);   // apaga o LED vermelho da porta 8
    digitalWrite(9, LOW);   // apaga o LED verde da porta 9
    digitalWrite(10, HIGH);  // acende o LED azul da porta 10

    delay(250);             // espera 0.250 segundos 
    digitalWrite(9, HIGH);  // acende o led verde da porta 9
    digitalWrite(10, LOW);   //apaga o led azul da porta 10
    delay(250);             //espera mais 0.250 segundos
  }

}

Até o momento, o arduino já sabe o que fazer quando o botão não estiver pressionado que é acender o LED da porta 8, o vermelho. Portanto, definimos agora o que deve acontecer quando o botão for pressionado.

A condição if tem uma opção chamada else (senão, em inglês) que permite que algo aconteça se a condição original não for obedecida. Neste caso, escrevemos um código para que, quando o botão estiver pressionado, os LED’s verde e azul pisquem dentro do else.

Por último, escrevemos um delay() antes do Arduino retornar ao começo do loop(). Se você não der essa pausa no código, as luzes irão acender e apagar tão rapidamente que você nem perceberá.

Isso porque a função loop() é processada muitas vezes por segundo, e os LED’s irão apagar e ligar sem que percebêssemos.

Dessa forma, a função delay () resolve esse problema pois ela permite que você forneça uma pausa na execução de qualquer coisa por um período de tempo.

O delay () tem seu argumento de tempo na escala de milisegundos, ou seja, 1000 milisegundos equivale a 1 segundo. Um delay (250) representa ¼ de segundo.

Finalmente, após escrever o código e aplicar o passo a passo você verá a evolução para aprender o que é Arduino e sua programação.

Note e adote!

O que é Arduino e como programar
Crie bons hábitos de programação

Vale ressaltar que desde o começo devemos criar bons hábitos ao programarmos no software do Arduino.

Dessa forma, as 7 dicas principais que te dou para aprender o que é Arduino da melhor forma, são as seguintes:

  1. nunca esquecer dos símbolos ; {} ();
  2. selecionar a porta COM correta que seu Arduino estiver conectado;
  3. sempre compilar o código (função Verify/Compile) ;
  4. salvar o código antes de enviá-lo (função Upload) para a placa;
  5. dividir o seu projeto em partes para evitar futuros problemas na montagem e na programação;
  6. alimente o projeto adequadamente;
  7. e se o projeto tiver bibliotecas, não esqueça de as importar.
Porta COM IDE Arduino
Erro comum em nossos projetos: esquecer de selecionar a porta COM correta

Dicas como essas evitam, portanto, que um eventual erro trave seu sistema e que a IDE gere perda no que foi desenvolvido.

Dê uma olhada nos artigos aqui do blog para você treinar mais e ficar um expert em projetos com Arduino.

Caso queira se aperfeiçoar melhor, acesse o artigo de projetos com Arduino que possui 10 dicas extras para fazer projetos incríveis com a plataforma.

Além disso, volto a ressaltar, se ainda não fez o download do mapa mental das funções em Arduino, aproveite e baixe agora o documento em .pdf com as principais funções que utilizamos ao fazer nossos projetos. Clique em baixar:

Alternativas ao Arduino IDE

Existem algumas IDE’s alternativas a original para fazer seus projetos com Arduino.

As que indico são:

  • Sublime Text com pacote Deviot;
  • Eclipse, e;
  • Visual Studio Code com a extensão Platform IO;

No entanto, dentre essas 3, a plataforma VS Code foi a que mais tive mais experiência e, com base nisso, o recomendo fortemente para programar seus projetos com Arduino.

Mas, afinal, o que é essa plataforma?

O que é Arduino e o Visual Studio Code com a extensão Platform IO
VS Code e seu painel de extensões onde usa-se o PlatformIO para compliar os projetos com Arduino

O VS Code é um editor de códigos open-source da Microsoft e foi feito para atuar no Linux, Windows e no MacOS.

Ele é muito útil para programar em linguagens C/C++ e aprender o que é Arduino, java, javascript, HTML, etc sendo bastante conhecido pela comunidade que trabalha com tecnologias WEB.

Com ele você consegue:

  • Esconder/exibir blocos de códigos além de atalhos diversos com comandos rápidos;
  • Auto complete (ctrl + espaço) para variáveis e métodos;
  • Depuração do código direto no editor e detecção de erros durante a escrita;
  • Dezenas de extensões (como o Platform IO para o Arduino) que você consegue rodar no VS Code sem que o software perca o desempenho;
  • Ele é totalmente personalizável, você pode alterar: o tema, sua fonte favorita, os ícones e as cores da aplicação;
  • Software leve;
  • Customizado a diferentes idiomas.

Esses são os principais fatores de as pessoas migrarem para esse tipo de plataforma, deixando a IDE padrão de lado…

No entanto, com todas essas funcionalidades avançadas, eu ainda gosto de usar o ambiente de programação original do Arduino para projetos mais simples.

Já para projetos maiores e mais complexos, o editor de texto VS Code é muito bem-vindo pois me economiza muito tempo na programação.

Para isso, basta instalar a extensão Platform IO que você consegue compilar todos os códigos na sua plaquinha Arduino.

VS Code PlatformIO e Arduino IDE
Alternativa a IDE convencional com uso do VS Code e com a extensão adequada

Dessa forma, caso você ainda esteja começando nesse mundo maker, opte pela IDE padrão e se acostume com a programação C/C++ antes de mudar de ambiente.

Assim, conforme seus códigos forem avançando, tente experimentar o VS Code com a extensão do Platform IO e veja se eles agilizam a construção dos seus códigos do que com o Arduino IDE padrão.

Algumas observações do Platform IO:

  1. Dependente do framework do Arduino, ou seja, é preciso que você tenha a IDE do Arduino instalada no seu OS; e
  2. Ao recompilar um projeto, é necessário que o monitor serial seja desconectado/fechado manualmente (o Arduino IDE desconecta automaticamente).

Caso se interessou, siga os passos desse artigo para instalar essa plataforma no seu sistema operacional.

Os principais módulos e shields da plataforma Arduino

Depois de conhecer bastante sobre a placa Arduino e sobre suas funcionalidades, é hora de conhecer outras placas e módulos que intermediam o Arduino com sensores e componentes eletrônicos.

Mas, o que são módulos Arduino?

Módulos e sensores Arduino são componentes que nos informam o que está acontecendo no mundo real.

Eles foram feitos para facilitar a construção de um circuito e são bem fáceis de estabelecer uma comunicação com a plataforma Arduino.

Segue abaixo alguns exemplos interessantes desses módulos para seus projetos futuros.

Modulo bluetooth arduino sendo representado acima de um fundo branco

Módulo Bluetooth Arduino. Esse módulo é o HC-04 (representado na imagem ao lado) e é responsável por fazer a comunicação com seu projeto/circuito ao seu telefone celular. Este módulo é muito prático quando se trata de automação residencial e comunicação sem fio.

Módulo RFID. Pode ser usado para controle de acesso em estabelecimentos ou residências de forma a bloquear a entrada de quem não tiver o card/token cadastrado no sistema. Esse componente quando usado com o Arduino, possibilita criar uma diversidade de projetos.

Módulo ULN2003 para Arduino

Módulo ULN2003 de controle de motor de passo Arduino. Pode ser usado no controle dos eixos cartesianos de uma CNC e do eixo Z em impressoras 3D, por exemplo.

Relé Arduino um canal

Módulo Relé Arduino. Usado para fazer o controle e acionamento de cargas com potência maior do que o que o Arduino consegue controlar. Este é um componente feito para acionamento de motores elétricos, lâmpadas e qualquer dispositivo alimentado por corrente alternada.

Onde o Arduino é usado?

É muito mais fácil entender o que é Arduino através de alguns exemplos e aplicações, concorda?

Portanto, reuni aqui diversos projetos com diferentes aplicações da plaquinha para você familiarizar onde o Arduino é usado e ter uma boa noção do que ele é capaz de fazer quando integrado a outros componentes eletrônicos.

Veja só:

Novo Braço Robótico Arduino
Braço Robótico Arduino
Projeto usando a placa Arduino para emitir espectros em 3D
Emissor de espectros em 3D – simula visualmente os espectros de som coletados através de luzes. Este possui 1280 LED’s.
Painel de automação com Arduino MEGA
Protótipo de um painel de automação com Arduino Mega

Veja que com Arduino o limite é a sua imaginação!

  • É possível dar vida a impressão 3D que é uma tecnologia extraordinária;
  • Dar um toque visual nas músicas;
  • Criar Robôs de baixo custo;
  • Automatizar um prédio inteiro, e;
  • Muito mais!

Que tal você, com os artigos aqui do blog, montar seus próprios projetos também? Acesse agora e aprenda tudo sobre os sensores de temperatura e como construir um projeto com o Arduino do ZERO.

O que é Arduino Simulador Online?

Felizmente, temos uma alternativa viável enquanto você não adquire uma placa para começar seus projetos, é fazê-los virtualmente no tinker cad.

Essa ferramenta é um Arduino Online. Nele você aprende, pratica e simula a programação e os circuitos de forma online, sem precisar ter nenhum tipo de componente eletrônico.

Basta se inscrever gratuitamente no site para usufruir da ferramenta.

Para te ajudar a entender melhor a plataforma, fiz um exemplo de projeto onde usei 4 LED’s vermelhos.

Confira como ficou:

A lógica de programação se baseia em acender os LED’s de forma ascendente a cada meio segundo. Após isso, apagar os mesmos LED’s que foram acesos anteriormente e ligá-los dois a dois.

O melhor de tudo, é que, caso você seja um técnico em eletrônica ou caso não tenha experiência com programação, o tinker cad oferece uma área de programação em blocos.

Basta você arrastar esses blocos para a área de trabalho do site para montar sua lógica de programação.

Olhe só:

O que é Arduino Simulador Online ou Tinker Cad
Arraste os blocos e faça seu código assim!

No entanto, se você chegou até aqui neste artigo, acredito que você já possua uma base melhor sobre programação.

Portanto, proponho que você pratique mais e reescreva o código abaixo no tinker cad e refaça a montagem proposta do exemplo acima.

/*   Código do projeto pisca 4 LED's - tinker cad.   
     Componentes:
        > 4 resistores de 220 ohms;
        > 4 LED’s;
        > 1 arduino.

     Monte seus próprios projetos sem dificuldade com programação! 
     ACESSE: flaviobabos.com.br/
*/

void setup()
{
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
}

void loop()
{
  for (contador = 5; contador < 9; ++contador) {
    digitalWrite(contador, HIGH);
    delay(500); // Wait for 500 millisecond(s)
  }

  for (contador = 5; contador < 9; ++contador){
    digitalWrite(contador, LOW);
    delay(500); // Wait for 500 millisecond(s)
  }

  digitalWrite(5, HIGH);
  digitalWrite(7, HIGH);
  delay(500);
  digitalWrite(6, HIGH);
  digitalWrite(8, HIGH);
}

Explicando o código do emulador online do Arduino

Por fim, para que você entenda melhor as minúncias de programação do exemplo do tinker cad, aqui vai um passo a passo de entendimento do código:

Seta DECLARANDO A VARIÁVEL USADA

int contador;

Essa será a variável que irá acender e apagar os LED’s após o loop() ser executado.

Seta PARÂMETROS INICIAIS DO VOID SETUP ()

void setup()
{
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
}

Para que o Arduino reconheça os LED’s e para que seja possível alimentá-los, declaramos esses componentes como OUTPUT ou ‘SAÍDA’.

Dessa forma utilizamos o parâmetro pinMode() onde o primeiro argumento é a porta da LED e o segundo argumento, o tipo de componente.

Seta PARÂMETROS DE REPETIÇÃO

void loop()
{
  for (contador = 5; contador < 9; ++contador) {
    digitalWrite(contador, HIGH);
    delay(500); // Wait for 500 millisecond(s)
  }

Temos um for() que é responsável por percorrer cada LED acendendo-o. O primeiro elemento da função é a variável do tipo inteiro contador que representa o primeiro led que está na porta 5.

Em seguida, definimos até qual número o for deve percorrer que neste caso é menor que 9, ou seja, representa o último LED que está na porta digital 8. E por fim, o incremento ++contador permite percorrer os LED’s um por um.

Já em digitalWrite(contador, HIGH) permite que cada LED acenda após um delay(500) de 0,5 segundos.

Seta APAGANDO OS LED’s

  for (contador = 5; contador < 9; ++contador){
    digitalWrite(contador, LOW);
    delay(500); // Wait for 500 millisecond(s)
  }

Usando a mesma lógica para acender os LED’s, neste for() iremos apagá-los com digitalWrite(contador, LOW).

Seta ACENDENDO OS LED’s DOIS A DOIS

  digitalWrite(5, HIGH);
  digitalWrite(7, HIGH);
  delay(500);
  digitalWrite(6, HIGH);
  digitalWrite(8, HIGH);
}

Após percorrer os dois parâmetros for(), iremos fazer com que os LED’s acendam dois a dois. Portanto, use novamente a função digitalWrite() e um delay(500) de meio segundo no meio para que os LED’s não acendam ao mesmo tempo.

O que um maker raiz faria para ter uma placa Arduino

O Arduino foi feito com a finalidade de que sua replicação fosse possível sem ter que pagar por isso.

Portanto, se você possuir os conhecimentos de eletrônica necessários e sabe a fundoo que é Arduino, você pode recorrer ao site oficial da empresa e montar sua própria placa seja ela um Arduino uno, diecimila, mega, lillypad, pro, nano, etc.

Basta acessar: “arduino.cc/en/main/boards” para ser direcionado (a) ao site com as principais placas e os arquivos necessários para se montar uma.

Placa de circuito impressa PCB
Modelo PCB Arduino UNO

Com o circuito ilustrado em modelos em pdf você tem todo o detalhamento para montar seu próprio circuito além de outros materiais disponíveis para download!

Arduino e a IoT

Como forma de facilitar o desenvolvimento de projetos IoT com o uso da placa Arduino, a empresa lançou no começo de 2019 a sua plataforma integrada à internet das coisas: Arduino IoT Cloud.

Prezando pela filosofia de fácil manuseio, qualquer iniciante na plataforma consegue montar seu projeto IoT sem necessitar programar uma vez que, o próprio sistema já faz isso para o usuário ao gerar o sketch automaticamente.

Veja imagem abaixo:

Arduino e a IoT Cloud
Plataforma IoT do Arduino

Esse ecossistema IoT fornece técnicas de interação que inclui: MQTT, Javascript, Websockets, HTTP Rest API e ferramentas de linhas de comando.

Arduino IoT Cloud
Os componentes são monitorados na plataforma e seus dados ficam salvos na nuvem

Recentemente, a empresa lançou a plataforma como aplicativo para ser usado nos smartphones.

De acordo com ela, essa é a peça final do quebra cabeças onde usurários poderão monitorar os componentes eletrônicos e acessar os dados gerados por eles com uma interface apropriada à smartphones.

Por enquanto o app está disponível apenas para dispositivos OS (Android em breve).

Arduino e a IoT Cloud Remote
Arduino IoT Cloud Remote – o app IoT do Arduino

O que é a Inteligência Artificial com Arduino

Jarvis a inteligência artificial com o Arduino

Temos diversas aplicações da IA atualmente e a tendência é que cada ano essa tecnologia vá ganhando cada vez mais espaço em nossas vidas.

Com o Arduino isso não é diferente.

A Empresa anunciou que está trabalhando em tecnologias como a IA e o Machine Learning afim de deixa-las mais acessíveis a todos os entusiastas da plataforma.

Enquanto essa inovação não chega até nós, podemos nos aventurar criando outros projetos através de comandos por voz que irão:

  • Fazer pesquisas no Google;
  • Automatizar nossas casas;
  • Ter um diálogo inteligente conosco;
  • Ler os e-mails e a previsão do tempo;
  • Dentre outras funcionalidades.

E, graças a Inteligência do Jarvis tudo isso é possível.

3 dicas de aplicativos para ajudar nos seus projetos

Alguns aplicativos para smartphones realmente ajudam nas nossas vidas e porque não ajudar em nossos projetos com Arduino também?

Dessa forma, reuni alguns aplicativos para te ajudar durante a construção de algum projeto ou no upload de algum código para o Arduino:

  1. O que é Arduino Droid? Esse app é a IDE do Arduino no Android: esse app foi designado para programar a placa sem precisar de computador nenhum. Para isso você precisa do Arduino com seu cabo USB, uma fonte externa para alimentação do circuito, um cabo OTG e um dispositivo com Android.

    Arduinodroid - a IDE do Arduino
  2. Outro app que indico bastante é o Arduino Tutoriais em português para quem está começando. Nele você tem acesso a diversos projetos com suas montagens e códigos e também possui uma lista de funções úteis e condicionais para consulta futura quando for programar.

    Arduino Tutoriais
  3. Este aplicativo já é para quem usa a internet para montar seus circuitos (vulgo Internet das Coisas – IoT). Portanto, ele é usado para controlar placas como Arduino, Raspberry Pi, NodeMCU, ESP8266 e mais outras 60 placas.

    Arduino Blynk

Expandindo a Visibilidade dos Seus Projetos de Arduino nas Redes Sociais

Ao desenvolver e compartilhar seus projetos de Arduino, alcançar um público amplo e engajado nas redes sociais pode ser tão crucial quanto o próprio projeto. Plataformas de compra de seguidores oferecem serviços especializados para aumentar seus seguidores, potencializando a visibilidade e o impacto dos seus trabalhos. Esta estratégia pode ser particularmente útil para quem está começando e deseja estabelecer rapidamente uma presença significativa na comunidade online de tecnologia e DIY – para escolher o melhor site para comprar seguidores, você pode acessar nosso artigo e se informar melhor.

Conquiste novos horizontes!

Você já descobriu o que é Arduino mas tá com aquela coceira de querer ir além? De querer aprender mais? De querer criar suas próprias inveções e seus próprios projetos?

Pois bem, na internet existem muitos cursos disponíveis para fazer e se tornar um especialista na plataforma.

Desde cursos gratuitos a curos pagos.

Para isso, escrevi um tour completo sobre os melhores cursos disponíveis no Brasil para qualquer pessoa iniciante possa ir do 0 ao avançado com treinamentos online e presenciais completos. Acesse e veja com qual você mais se identifica.

Além disso, você também pode aprender arduino com apenas 20 minutos por dia através desses 10 projetos prontos e passo a passo que desenvolvi e reuni em um único manual e que você consegue o acesso clicando no link do seu PDF que contém projetos prontos, comandos Arduino e programação enxuta.

Baixe agora:

Manual 10 projetos práticos com Arduino

Além disso, diz aqui nos comentários, o que é Arduino para você? 👇


Foto escritor

Flávio Babos

Flávio é especialista em tecnologia, empreendedor e estudante de Engenharia Mecatrônica pela Universidade Federal de Uberlândia (UFU). Já desenvolveu diversos projetos de elétrica, eletrônica e atualmente dedica seu tempo em escolher os melhores produtos de tecnologia para ajudar sua audiência no processo de decisão de compra na internet.


8 Comentários

Foto escritor

Helinton Ricardo

A introdução parece muito com minha infância, gostei muito. Sim, estou entrando com mais propriedade na aprendizagem de programação, automação e tudo o que a “placa” Arduino permitir e tem a oferecer.
Mas o melhor disso tudo é que pude “cair de paraquedas” direto nesse blog, se assim podemos dizer. Já comecei os estudos a muito tempo mas sem objetivos então não tinha porque continuar a estudar “Arduíno”. Espero agora poder dar assas a imaginação usando os princípios básicos da programação e, em específico, iniciar com o Arduíno UNO, o mais indicado para iniciantes.
Aliás, excelente conteúdo, parabéns. Até consegui refazer a escrita da programação exemplificada acrescentando pequenas alterações. haha!
Boa Sorte!

Foto escritor

Flávio Babos

Opa Helinton! Tudo bem? Fico muito contente que tenha se identificado com o artigo e que esse recomeço na plataforma Arduino e na programação, como disse, seja de muito sucesso! Falando nisso, eu escrevi uma apostila sobre Arduino que talvez possa ser a solução para turbinar seu aprendizado com a plataforma! Vou te encaminhar um e-mail com o PDF! Também pode contar com o blog que futuramente estará recheado de artigos/ebooks e materiais informativos sobre IOT e Automação!

Abraços!

Foto escritor

Marcio Mello

Flávio mandou muito bem no conteúdo!
Queria deixar uma dica de shield para displays LCM: https://victorvision.com.br/pbox/
Abraço!

Foto escritor

Flávio Babos

Muito obrigado Marcio e além disso, dei uma olhada aqui e achei um máximo seu trabalho, parabéns pelo empenho!

Foto escritor

Rodrigo Resende

Que artigo incrível, é muito difícil achar um material tão completo quanto o seu na web!! Parabéns!

Foto escritor

Flávio Babos

Que bom que gostou do meu conteúdo!! Fique por dentro para novidades que estão por vir… Abraços!

Foto escritor

Eletrogate

Muito bom Flávio, parabéns.
Conteúdo nota 10

Foto escritor

Flávio Babos

Muito obrigado!

Deixar comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Comentário