Utilizando pinos digitais do Arduino para enviar sinais

Olá a todos,

nesse post mostraremos o uso dos pinos digitais do Arduino para enviar sinais para nossos circuitos. Montaremos o circuito na protoboard e escreveremos um código semelhante ao exemplo blink que acompanha o IDE do Arduino. Ou seja esse pequeno projeto acenderá ou apagará um led a cada um segundo.

O primeiro passo é montarmos o circuito, portanto coloque o led na protoboard. Note que um dos terminais (também chamados perninhas) é maior que o outro, indicando o lado correto que o componente deve ser ligado. O terminal menor deverá ser ligado no terra que é um dos pinos da placa com o nome GND (ground) com o uso de um cabo macho-macho como na imagem abaixo:

Iniciando circuito com led e terra
Iniciando circuito com led e terra

Em seguida precisamos ligar um resistor no led, como na figura abaixo. O resistor evita que ocorra um curto-circuito na placa e a queime inutilizando permanentemente, pois o led não apresenta resistência substancial. Em seguida ligue o resistor a um pino digital da placa (os pinos com nomes que vão de 0 a 13). Nesse ponto temos nosso circuito montado.

Circuito montado
Circuito montado

As imagens abaixo descrevem o circuito através de um diagrama elétrico e de um modelo de feito no 123d.circuit.io:

Diagrama elétrico do projeto
Diagrama elétrico do projeto
Modelo do circuito
Modelo do circuito

O próximo passo é escrevermos o sketch (código que roda no Arduino): acesse seu IDE, selecione o menu File -> New para criar um novo arquivo com o modelo de um sketch vazio.

No sketch vazio declare uma constante que indique qual pino da placa o nosso circuito está ligado. Constantes são valores que não podem ser alterados durante a execução do código e são declaradas com a palavra-chave const. Indicamos um pino do Arduino em nossos programas através de números do tipo inteiro (int). A imagem abaixo mostra a declaração da constante que indica em qual pino o led está conectado:

Iniciando o código
Iniciando o código

O próximo passo é configurarmos o pino utilizado através da função pinMode para o pino para enviar sinais. Indicamos o pino que o pino enviará sinais para nosso circuito utilizando a constante OUTPUT.

Agora escreveremos a função loop que conterá o que o programa deve fazer, nesse caso faremos o led acender e apagar a cada 1 segundo.

Para acender o led devemos fazer com que o pino conectado a ele esteja no estado conhecido como HIGH. Nesse estado o pino apresenta 5V (em relação ao terra), circulando corrente pelo resistor e pelo led. Para deixarmos o pino conectado ao led como HIGH utilizamos a função digitalWrite. Essa função recebe como parâmetros o pino que terá o valor alterado e o novo valor do pino. Para aguardar um segundo utilizaremos a função delay.

Em seguida alteraremos o estado do pino para o estado LOW também com a função digitalWrite. Nesse estado o pino apresenta 0V (sempre em relação ao terra) e a corrente para de circular pelos componentes eletrônicos apagando o led.

Chamaremos novamente a função delay para esperar mais um segundo. Caso não coloquemos essa linha o led apagará e a função loop será encerrada. Porém como a mesma função será chamada novamente o led acenderá e tudo ocorrerá tão rápido que não veremos o led apagar.

Código completo do projeto.
Código completo do projeto.

Nesse ponto temos nosso programa pronto e podemos transferi-lo para a placa. Recomendo ligar a placa na porta USB somente quando terminar de montar o circuito para evitar acidentes que gerem curto-circuito que podem danificar sua placa.

Aguarde a placa ser reconhecida pelo IDE e envie o programa para ela. O led deverá começar a acender e apagar a cada um segundo.

Onde encontrar alguns componentes:

Obrigado pela atenção e até o próximo post!

Simulando o Arduino

Olá a todos,

nesse post veremos o funcionamento básico do site 123dcircuits.io que simula tanto o Arduino como os circuitos que ele pode controlar. Além da simulação é possível desenhar e solicitar a placa de circuito impresso para montarmos nosso circuito em definitivo.

O primeiro passo é realizarmos o registro no site que é bem simples. Em seguida podemos iniciar os nossos projetos. Uma característica interessante do site é que podemos utilizá-lo de forma grátis, mas os nossos projetos serão públicos. Para montar um projeto e deixá-lo privado é necessário o pagamento de um taxa.

Para iniciar um novo projeto, clique no botão + New, será aberto um menu lateral na direita. Em seguida clique no botão New Eletronics Lab.

Criando um novo projeto no 123d.circuits.io
Criando um novo projeto no 123d.circuits.io

Será aberta uma tela semelhante à abaixo onde é possível criarmos nosso circuito e simularmos seu funcionamento. Para adicionar os componentes a protoboard virtual clique no botão + Components, aparecerá um o painel na parte inferior da tela com os componentes.

Tela inicial da simulação de circuitos no 123d.circuits.io
Tela inicial da simulação de circuitos no 123d.circuits.io

Adicione um resistor e um led como na imagem abaixo. Se precisar utilize o botão na parte superior esquerda da tela para girar algum componente.

Componentes adicionados na protoboard virtual
Componentes adicionados na protoboard virtual

Agora role o menu de componentes para baixo e adicione um Arduino. Talvez você precise clicar no terceiro botão do menu superior esquerdo (figura do retângulo dentro de uma mira) para acertar o zoom e aparecer todos os componentes da tela. Em seguida faça as conexões para ligar o resistor e o led à placa. Para realizar as conexões basta clicar no furo da protoboard e arrastar o mouse até o pino do Arduino.

Para trocar a cor dos cabos de ligação basta clique no cabo desejado, será aberto um menu suspenso na tela. Em seguida abra a lista de opções e selecione uma cor.

Arduino adicionado ao circuito
Arduino adicionado ao circuito

Com o circuito virtual montado vamos adicionar na simulação o código para o Arduino. O código utilizado será o blink, que é o equivalente ao Hello World em outras linguagens de programação.

Para abrir a tela de desenvolvimento do sketch clique no botão Code Editor. Será aberta uma tela semelhante ao IDE que instalamos em nosso computador.

Editor de código para o Arduino no 123d.Circuits.io
Editor de código para o Arduino no 123d.Circuits.io

No código exibido apenas troque o valor da variável chamada led de 13 para 9 ou o número do pino onde você conectou o led no circuito virtual. Em seguida clique no botão Upload & Run para iniciar a simulação.

Simulação em execução.
Simulação em execução.

Para encerrar a simulação basta clicar no botão Stop Simulation.

O site possui outras funcionalidades como a possibilidade de desenharmos a placa PCB (placa de circuito impresso) e solicitá-la. Dedique um tempo para explorar essa funcionalidade e outras, além de utilizar outros componentes e códigos na simulação.

Como sempre, fiquem a vontade para enviar comentários com dicas, sugestões, dúvidas e críticas.

Um grande abraço e até o próximo post.

Iniciando o uso de Arduinos

Olá a todos,

nesse post veremos como montar nosso ambiente de desenvolvimento para utilizarmos a placas controladoras que seguem o padrão Arduino. Esse padrão especifica quantos pinos a placa deve possuir, quais suas funções e o desenho físico, para que seja possível o uso de shields, que são placas com funcionalidades adicionais que poderemos utilizar em nossos projetos.

O primeiro passo é adquirir uma placa que obedeça esse padrão, existem diversos modelos, mas nesse post utilizaremos a placa do modelo R3 Uno. No final do post você encontra alguns links para adquirir uma placa.

Placa Arduino R3 Uno
Placa Arduino R3 Uno

Como pode ser notado na imagem cima existem duas linhas de pinos, uma localizada acima do símbolo do Arduino, que possuí os pinos digitais nomeados de 0 a 13, e outra linha abaixo do microcontrolador (grande chip da placa) que possui pinos de alimentação e os pinos de leitura analógicas que recebem os nomes de A0 à A5.

Note que alguns dos pinos digitais possui um símbolo ~ (ou / dependendo da placa). Esse símbolo significa que o pino oferece a capacidade de PWM. Essa capacidade permite enviar pulsos aos componentes dos nossos circuitos para controlar a intensidade de alguma resposta, como a intensidade da luz de um led ou a velocidade de um motor.

Note também que os pinos 0 e 1 são marcados com as letras RX e TX respectivamente.

Todas as funcionalidades desses pinos serão exploradas em post futuros, pois o foco desse post é somente a montagem do ambiente. Temos que fazer esse corte pois um post completo seria muito longo e exaustivo.

O segundo passo é baixar o IDE (software) de desenvolvimento. Nesse IDE é que escreveremos nossos programas, compilaremos e faremos a transferencia para a nossa placa. O download deve ser feito na sessão downloads do site https://www.arduino.cc/. Esse site é muito útil tanto para obtermos o IDE com para aprendermos sobre a linguagem de programação, pois possuí toda a documentação e é rico em exemplos.

A instalação é bem simples, tanto para Windows como para Mac OS ou Linux, basta seguir as instruções do instalador do seu ambiente. Porém podem ocorrer algum problemas de drivers no Windows e no Mac OS. Os problemas que enfrentei no Windows foram resolvidos baixando os drivers corretos da placa.

Já na última versão do Mac OS não consegui resolver pois pelo que li em outros blogs foi introduzida uma nova proteção no sistema operacional que preferi não desligar. Nesse caso montei uma máquina virtual com a versão 14.04 da distribuição Ubuntu do Linux.

Após a instalação do IDE e dos drivers, quando necessário, podemos conectar nossa placa na porta USB do nosso computador. Para a maioria das placas compatíveis com o padrão Arduino a energia da porta USB é suficiente para alimentar a placa.

Arduino conectado ao computador
Arduino conectado ao computador

Após o computador reconhecer sua placa inicie o IDE. O primeiro passo no IDE é seleciona o modelo da sua placa através do menu Tools -> Board e em seguida selecionando o nome da sua placa. Caso sua placa não apareça na lista será necessário instalar os drivers dela através do item Board Manager.

O segundo passo é selecionar a porta de comunicação que o sistema operacional designou para a placa (COMx no caso de Windows ou /dev/ttyUSBx para Linux ou Mac OS). Essa seleção é realizada no menu Tools -> Port e em seguida a porta.

Nesse ponto teremos nosso ambiente montado. Para testarmos podemos fazer o upload de um programa de exemplo. Para abrir o programa abra o menu File -> Examples -> Basics -> Blink. Será aberto um código-fonte que faz piscar um led embutido na nossa placa. A descrição desse código será assunto de um outro post.

Para compilar e transferir o programa para a placa clique no botão que possuí o desenho de uma seta para a direita. Você pode acompanhar a evolução da compilação e transferência do programa pelo espaço com fundo negro localizado na parte inferior do IDE.

Após o término da transferência o programa é iniciado e o led da placa deverá começar a piscar a cada 1 segundo.

Esse foi o conteúdo para esse post, enviem comentários caso tenham dúvidas, problemas ou sugestões. Um grande abraço a todos.

Links para adquirir sua placa padrão Arduino: