Arduino

Arduino

Tutorial

O que é o Arduino?

O Arduino é o nome de uma plataforma de protótipo de hardware, bem como a IDE (ambiente de desenvolvimento) usada com ele e a empresa por trás dele.

Se baseia inicialmente no microcontrolador de 8 bits Atmel AVR mas pode ser encontrada versões de 32 bits.

Foi apresentada em 2005.

Fornece um conjunto de portas I/O que permite a expansão através de "shields" e conexões a componentes eletrônicos discretos através de conectores dispostos de forma particular aos módulos do Arduino.

O microcontrolador vem com um bootloader gravado para facilitar a carga de códigos compilados a partir de sketch(código fonte) a partir da porta USB para conexão com PC, permitindo assim, o desenvolvimento dos projetos sem a necessidade de unidades gravadoras e outros dispositivos.

Permitindo aos iniciantes implementarem projetos simples com sucesso de forma rápida.

Devido ao projeto Arduino ser de código e hardware aberto, vários fabricantes podem oferecer os produtos legalmente, funcionando exatamente da mesma forma que o original, sendo que o diferencial entre eles serão os componentes e processo de fabricação que podem ter diferentes níveis de qualidade.

A IDE que foi desenvolvida de JAVA roda em várias plataformas e sua instalação é realmente fácil e também conta com um monitor serial, muito útil para depurar o programa.

A linguagem de programação é C++ e a IDE já vem com várias bibliotecas prontas para facilitar o uso dos diferentes shields, sensores e atuadores do mercando, além de ser facilmente encontrada na Internet, uma vasta game de outras bibliotecas.

Portanto, o Arduino é um ou vários projetos de código aberto que surgiu para facilitar o aprendizado e uso de microcontroladores, que antes eram utilizados somente por um número restrito de desenvolvedores e empresas por ser dispendioso e necessitar de muito conhecimento. Estes microcontroladores são utilizados em automação industrial, automação comercial robótica e alguns dispositivos "inteligentes" em uma escala cada vez maior, se estendendo aos dispositivos e coisas inteligentes ligadas a Internet (IoT).

O conhecimento que citamos ser necessário antes do Arduino, é sobre eletrônica, arquitetura de microprocessadores, linguagem de máquina, programação e lógica, protocolos de comunicação, rádio-frequência, etc para poder desenvolver até mesmo os circuitos mais simples. Agora com o Arduino, tudo ficou surpreendentemente mais fácil. É óbvio que ajuda muito estudar porém é possível uma pessoa com muita vontade de aprender consiga implementar um projeto simplesmente pesquisando na internet e assistindo alguns vídeos tutoriais.

Glossário:

Microcontrolador:

Microprocessador contendo, adicionalmente, Portas de entrada/saída, memória de trabalho e memória de programa, muito utilizado em automação, robótica e a nova onda da Internet das coisas

Os microcontroladores se caracterizam pela arquitetura (8 bits, 16 bits, 32 bits e até 64 bits), pela frequência do clock (que vai de mais de 10 MHz até alguns GHz), pela quantidade de portas de entrada/saída, pelos seus módulos internos tais como UART, conversores A/D, PWM, comunicação SPI I2C e outros.

Bootloader:

Programa fixo que já vem gravado na memória do microcontrolador que dá suporte ao seu programa e aos componentes do Arduino tais como a porta USB. Graças a ele, as complexidades do desenvolvimento são pré resolvidas e tratadas internamente tornando o trabalho do programador muito mais fácil. O Bootloader também dá suporte para realizar a transferência do sketch compilado e reboot. O uso de temporizadores, interrupções, EEPROM, portas seriais, FUSE, etc ficam invisíveis ou facilitados eliminando a complexidade.

Portas de entrada:

São conjuntos de pinos do microcontrolador com função de medir ou detectar sinais elétricos ou até receber informação vindos de sensores ou conexões de comunicação de outros módulos ou dispositivos

Portas de saída:

São conjuntos de pinos do microcontrolador com a função de enviar sinais ou acionar circuitos externos ou comunicação com outros dispositivos ou equipamentos

No Arduino, as portas de entrada e portas de saída compartilham os mesmos pinos porém cada pino somente poderá ser somente de entrada ou de saída, definido pelo código no início do sketch.

Na figura, vemos um exemplo de portas de um microcontrolador em cores diferentes

Comunicação:

A forma com que é feita a troca de informação do Arduino com outros dispositivos e sistemas pode ser através de portas seriais de vários padrões (RS232, RS485, I2C, SPI) além de poder ser estendida com o uso de shields como por exemplo: Ethernet e WiFi

IDE:

Ambiente de programação inteligente para rodar no PC que além de ser um ótimo editor de código capaz de indicar erros básicos automaticamente, também compila o sketch e transfere o pacote binário para o Arduino e então reinicia o Arduino, tudo isso em apenas 1 clique.

Sketch:

Código fonte de programa próprio do Arduino que iremos desenvolver na linguagem C/C++

Compilar:

Converter o sketch que está escrito em C/C++ para o código binário do processador utilizado no Arduíno. Note que o código binário só serve para um microcontrolador específico.

Binário:

São zeros e uns que só o microprocessador entende. A palavra binária é por ser informação constituída por apenas 2 estados ou caractere (0 e 1 ou Low e HIGH ou baixo e alto ou apagado e aceso ou desligado e ligado)

Monitor serial:

O monitor serial se conecta com o Arduino pela porta serial e é muito útil para enviar informações do Arduino para o PC, principalmente para confirmar o funcionamento correto do seu código que está rodando no Arduino. Além disso, permite enviar dados para o Arduino.

Shields:

São módulos acopláveis ao Arduino por possuirem conectores com o mesmo padrão do Arduino facilitando a montagem mecanica.

Site do Arduino:

O site oficial do Arduino é http://arduino.cc/. Este site já contém a maioria das informações necessárias para se desenvolver um bom projeto.

Porém, o maior problema de quem está começando é o Inglês. Não se preocupe, há muita informação já traduzida para a nossa língua e aqui estamos para contribuir também.

Consulte nossa página de referencia em português:

Modelos do Arduino:

Os principais Arduinos são:

  • Arduino UNO - Arduino básico com CPU de 8 bits ATmega328P e clock de 16 MHz 14 portas digitais (6 PWM) e 6 portas analógicas, 32 KB de memória Flash para armazenar programas, 2 KB de RAM, 1 KB de EEPROM, 1 porta SPI, 1 porta I2C, 2 interrupções externas e todos os pinos I/O possuem resistores pull-up configuráveis
  • Arduino Mega 2560 - Arduíno avançado com CPU de 8 bits ATmega2560 e clock de 16 MHz 54 portas digitais (15 PWM) e 16 portas analógicas
  • Arduino Nano - Versão menor do UNO com o mesmo processador de 8 bits ATmega328P e clock de 16 MHz 14 portas digitais (6 PWM) e 6 portas analógicas, 32 KB de memória Flash para armazenar programas, 2 KB de RAM, 1 KB de EEPROM, 1 porta SPI, 1 porta I2C, 2 interrupções externas e todos os pinos I/O possuem resistores pull-up configuráveis
  • Arduino Pro Micro - Versão ainda menor do UNO, com o mesmo processador ATmega328P sem interface USB, porém com clock de 16 MHz 14 portas digitais (6 PWM) e 6 portas analógicas, 32 KB de memória Flash para armazenar programas, 2 KB de RAM, 1 KB de EEPROM, 1 porta SPI, 1 porta I2C, 2 interrupções externas e todos os pinos I/O possuem resistores pull-up configuráveis
  • Arduino Leonardo
  • Arduino Due - microcontrolador de 32 bits
  • Arduino Yún - 9331 processor supporta sistema operacional Linux

Para desenvolver o programa, existe o editor apropriado (IDE) que facilita a edição do seu sketch (código do seu programa para o Arduino) contendo recursos necessários para criar, manter, compilar e transferir o seu programa para o seu Arduino. Veja mais detalhes no Tutorial da IDE oficial do Arduino.

Outra IDE que merece destaque é o Sloeber, IDE para Arduino com base no Eclipse CDT.

Problemas de instalação do Arduino:

Alguns Arduinos alternativos vem com chip conversor de USB/Serial diferente e portanto não funcionam com o driver oficial.

  • Driver Oficial - Baixe a IDE do Arduino e o instalador do Driver será uma das opções de instalação.
  • Driver CH340 - http://driverzone.com/%7B795007d3-9d0a-4882-a977-28179c5dabb4%7D

Caso já saiba como instalar a IDE, basta seguir para o repositório de software do site oficial do Arduino.

Como instalar e desinstalar as bibliotecas do Arduino?

Sugerimos fortemente que os iniciantes experimentem projetos simples para ir evoluindo gradativamente conforme a complexidade dos projetos facilitando o aprendizado e principalmente evitando frustrações.

Iniciante no Arduino

Canal no Youtube Robotec

Como expandir portas de saída do Arduino?

Como expandir portas de entrada do Arduino?

Como medir sinais analógicos?

Como ligar um display LCD?

Como adicionar um relogio em tempo real?

Como gravar informação para recuperar mesmo depois de desligar o Arduino?

Como utilizar módulos Ethernet?

Como utilizar módulos de rádio?

Como utilizar módulos Bluetooth?

Como utilizar módulos RFID?

Como utilizar módulos GSM?

Como implementar controle remoto Infra Vermelho?

Sensores de Humidade, Temperatura e Pressão?

Comunicação serial RS232, RS485, ModBus e HART

GPS, Acelerômetro, Magnetômetro e Giroscópio?

Sensores ultrassom e laser?

Multitarefa - Como executar várias funções ao mesmo tempo?

Problemas e erros de compilação mais frequentes

Isolação, ruído, mau contato e o pior de todos: "montei tudo certo"