Projeto 1 – Pisca Pisca

Neste primeiro projeto iremos fazer uma luz piscar. Parece um projeto simples demais, mas isso exemplifica a utilização do Arduino para controle de dispositivos externos. Os conceitos aprendidos neste exemplo servem para acionamento de outros dispositivos como ventilador, lâmpadas, motores e etc.

Funcionamento projeto 1

Fazer uma luz piscar é um projeto tão importante, que existe até uma competição internacional para ver quem faz uma luz piscar de maneira mais impressionante, mostrando domínio de eletrônica e programação. É o primeiro passo que se dá quando se começa a trabalhar com uma placa, porque ele mostra que você é capaz de programá-la. Esse primeiro projeto será um pequeno grande passo para que você aprenda eletrônica e programação e possa fazer projetos mais complexos.

Sabemos que o guia para este primeiro projeto está bastante longo, mas depois que você entende como funciona, não irá precisar de tantas instruções para conseguir reproduzir um projeto.

Material necessário

Em todos os projetos teremos uma seção que mostra os componentes que iremos utilizar. Se você tiver alguma dúvida sobre qual é o componente, você pode voltar na lista de materiais:

1x LED Vermelho 5 mm
1x Resistor 220 ohm
1x Protoboard
2x Jumper macho-macho
1x Cabo USB
1x Placa Uno

Muitos nomes que você nunca viu na vida? Fique tranquilo que vamos explicar um pouco como funciona cada componente novo que apareceu na lista. Claro que no primeiro projeto essa explicação vai ser grande, mas conforme você for fazendo mais projetos, vai se familiarizando com os componentes e essa lista de desconhecidos vai ficando cada vez menor.

Como funciona a protoboard?

A protoboard é um componente utilizado em todos os projetos do nosso kit e em quase todos os projetos de eletrônica. É sobre ela que se faz a montagem dos circuitos eletrônicos, ação também conhecida como prototipagemEla é cheia de furos, onde você pode encaixar os pinos dos componentes ou mesmo um fio diretamente, e tem uma lógica de conexão entre os furos que, depois que você entende, a montagem dos seus projetos fica bem intuitiva.

Protoboard

Com a protoboard podemos experimentar a montagem de diversos tipos de combinações de componentes eletrônicos e circuitos sem a necessidade de conectá-los permanentemente. Caso haja a necessidade de trocar um componente de posição ou mesmo substituí-lo, isso pode ser feito de maneira muito rápida e fácil.

Na protoboard existem dois blocos de colunas B e C. Cada coluna possui 5 furos e esses estão interligados entre si como mostrado nas linhas cinzas. Uma coluna não possui conexão interna com a coluna ao lado. Os blocos B e C não são interligados entre si, sendo separados por uma cavidade central, e é que são colocadas a maior parte do circuito.Esquema da protoboard

Já nos blocos A e D, nas extremidades superior e inferior da protoboard, temos as linhas em vermelho e azul. Todos os furos de uma mesma linha  estão interligados entre si, mas os furos da linha vermelha não estão conectados aos furos da linha azul. Na linha vermelha existe um sinal de positivo “+” e na azul um sinal de negativo ”-”. É nessas linhas que ligamos a energia do circuito que vamos montar: nos projetos com Arduino, são os pinos 5 V e GND. Geralmente se coloca o 5 V no vermelho e o GND no azul, mas isso não é uma regra e não vai mudar nada no circuito, é apenas uma questão de organização.

Nos nossos projetos sugerimos uma montagem através de um desenho auxiliar. Mas se você mantiver as mesmas conexões e respeitar a lógica da protoboard, pode montar o projeto em qualquer lugar dela.

O que é um LED?

LED (do inglês, Light Emitting Diode) é um diodo emissor de luz, sendo basicamente é uma lâmpada que consome pouca energia. Por seu baixo consumo, está se tornando cada vez mais comum o seu uso em casas. Outra grande vantagem do LED é a facilidade de fabricação em diversas cores e nesse kit você receberá LEDs das cores amarelo, verde e vermelho.

O LED, assim como alguns componentes, possui um lado positivo “+” e um lado negativo “-“, essa característica também é conhecida como polaridade. Para esses componentes, se ligar de modo invertido, ele não irá funcionar e pode até acabar danificando. A haste (perna) maior do LED é o lado positivo e a menor é o lado negativo. Você pode ver também pelo lado mais achatado, que é o lado negativo enquanto o lado arredondado é o positivo.

Pinagem do LED

A montagem correta de um LED em uma protoboard é feita como mostrado na figura abaixo. Os dois terminais do LED não podem ficar na mesma coluna da protoboard, lembrando que os furos das colunas são conectados entre si na vertical. Esse mesmo princípio de montagem se aplica também a outros componentes do kit.

Ligação do LED errada

Ligação do LED certa

O que é um resistor?

O resistor é o componente elétrico mais comum que existe. Uma das aplicações de um resistor, e a mais comum, é limitar o fluxo da corrente elétrica que passa em um circuito. 

Os resistores têm diferentes valores de resistência, quanto mais alta a resistência, mais ele irá limitar a corrente que passa por ele. O valor do resistor é fixo e é indicado pelas faixas de cores pintada nele. No kit temos dois tipos: 220 ohm e 10K ohm.

Aviso! O kit pode conter resistores de coloração ou faixa de cores diferentes da ilustração acima, mas não se preocupe, basta olhar o valor escrito na etiqueta do pacote de resistores. Caso venham na cor amarela e quatro faixas, identifique-os de acordo com a ilustração abaixo:

Utilizando um resistor de valor 220 ohm, por exemplo, reduzimos a corrente do circuito para trabalhar nos valores que o LED suporta. Sem o resistor, a corrente que passa pelo LED seria muito grande e acabaria queimando ele.

Você pode ligar um resistor tranquilamente pois ele não tem lado positivo ou negativo, ou seja, tanto faz o lado que é conectado.

O que é um jumper?

Jumper é o fio que liga os vários componentes de um circuito. Você pode ligá-los na protoboard, na placa Arduino ou mesmo direto no componente. Para ajudar na organização do seu circuito os jumpers vêm em diversas cores, mas as cores não alteram em nada o seu funcionamento.

Jumpers macho-macho

Nos esquemas de montagens de circuitos eletrônicos, os jumpers são representados apenas como traços coloridos, que ligam os componentes.

Como funciona um circuito eletrônico?

Antes de montarmos o primeiro circuito é interessante aprender um pouco sobre o que é um circuito e alguns conceitos básicos. Um circuito elétrico basicamente é um laço onde circula energia elétrica, fazendo com que cada componente funcione. Veja abaixo um circuito básico de eletrônica composto de uma fonte de energia, resistor e LED.

Esquema elétrico pisca LED

O lado positivo da fonte é chamada de VCC ou 5V e o lado negativo é chamado de GND. Uma fonte pode ser uma bateria ou pilha que quando ligada faz com que o circuito funcione. Também veremos que algumas portas do Arduino podem fazer um papel de fonte, assim podemos ligar e desligar o circuito utilizando programação.

Nesse exemplo, o LED acende quando a fonte de energia é ligada e ao se desligar a fonte de energia, o LED apagará. O resistor é colocado para reduzir a corrente que passa pelo circuito inteiro.

Montagem do circuito

No caso do nosso projeto, a fonte de energia vem da porta 11 do Arduino. Com a programação correta, é possível ligar e desligar a energia do pino 11, fazendo o LED acender e apagar.

No esquema da montagem do circuito, as linhas coloridas são a representação gráfica dos jumpers. Utilize-os para ligar os componentes entre si conforme a ilustração abaixo. Note que o pino 11 está conectado ao lado positivo do LED, enquanto o GND vai no pino negativo, passando antes pelo resistor.

Montagem pisca LED com Arduino

A representação de um circuito da montagem acima seria a seguinte:

Esquema elétrico pisca LED

Não é necessário conectar os componentes exatamente nos mesmos furos como indicados acima, basta apenas que os terminais de cada componente não estejam na mesma coluna. Também não importa se o resistor está antes ou depois do LED, ele vai reduzir a corrente do laço estando antes ou depois. Veja abaixo montagem alternativa do circuito acima mas que funciona da mesma maneira. Note que o pino GND do Arduino ainda está conectado no negativo do LED e o pino 11 ainda está no positivo do LED.

Montagem alternativa pisca LED

Veja abaixo o circuito alternativo representando a montagem acima.

CIrcuito alternativo pisca LED

Baixando e instalando a IDE Arduino

Antes de começar os projetos, vamos precisar de um programa chamado IDE (Integrated Development Environment, ou Ambiente de Desenvolvimento Integrado). Com a IDE Arduino podemos dar os primeiros passos, desenvolver programas e realizar a gravação dos programas na placa.

Para fazer o download da IDE Arduino entre no site oficial do Arduino na seção Software -> Downloads e escolha sua versão de sistema operacional(Windows, Linux, MacOS).

Download Arduino

Download Arduino

Se quiser fazer uma doação para o software Arduino este é o momento. Se não, basta clicar em Just Download.

Download Arduino

Execute o arquivo instalador ‘.exe’ e siga as instruções de instalação.

Instalação IDE Arduino

Certifique-se de que todos os componentes na tela abaixo estejam selecionados.

Instalação IDE Arduino

Instalação IDE Arduino

Instalação IDE Arduino

Instalação IDE Arduino

Após a instalação, abra a IDE Arduino pelo atalho criado na sua área de trabalho.

Estrutura de um programa Arduino

Você não precisa ser um expert em programação para conseguir programar com Arduino, mesmo assim, é bastante interessante que você procure entender o programa. No começo vai ser mais complicado, algumas coisas podem não ficar tão claras, mas com experimentos e força de vontade você será capaz de entender cada linha desse guia. Esse entendimento é essencial para que você possa fazer seus próprios projetos no futuro.

Ao abrir a IDE Arduino, que instalamos na introdução, você se depara com um programa em branco, que não faz nada. A estrutura padrão de programa contém as funções setup() e loop().

IDE Arduino

setup() – É nessa parte do programa que você configura as opções iniciais do seu programa: os valores iniciais de uma variável, se uma porta será utilizada como entrada ou saída, mensagens para o usuário, etc. Essa função irá executar apenas uma vez quando o Arduino for ligado.

loop() – Diferente da função setup(), essa parte do programa repete uma estrutura de comandos de forma contínua ou até que algum comando de “parar” seja enviado ao Arduino. Vamos ver exatamente como isso funciona ao decorrer dos projetos.

Note que o conteúdo de cada função deve ir dentro das chaves “{ }”. O número de chaves que abrem  “{” devem ser o mesmo das que fecham “}”, senão o programa dá um erro e não é possível passar para o Arduino. Se você tiver dificuldades em se entender com as chaves, a IDE do Arduino te dá uma ajudinha: Basta clicar em uma chave que abre “{” que ele irá apontar a que fecha “}”. Se você clica em uma chave que não mostra onde está o seu par, provavelmente ela está sobrando no código.

Código Arduino

Você pode notar que existem coisas escritas após as barras duplas “//”, Isso é chamado de comentário. Ele não altera seu funcionamento, mas serve para quem está programando explicar algo para alguém que vai lê-lo. Uma das boas práticas de programação é documentar o seu código por meio das linhas de comentário.  Isso será útil não só para você, se precisar alterar o código depois de algum tempo, como também para outras pessoas que utilizarão o seu programa.

Atente-se aos comentários, eles vão ajudar!

Programa Projeto 1 Pisca pisca

Primeiramente vamos explicar um programa em partes e logo mais abaixo você verá um programa completo.

A primeira coisa que fazemos no início do programa é colocar uma pequena observação sobre o nome do programa, sua função e quem o criou:

// Programa : Pisca pisca
// Autor : FILIPEFLOP

Comece uma linha com barras duplas “// ” e tudo o que vier depois nessa linha será tratado como um comentário.

Após os comentários, vem a estrutura do setup(). É nela que definimos que o pino 11 do Arduino será utilizado como saída, para servir como fonte de energia para o circuito.

void setup()
{
  //Define a porta do led como saida
  pinMode(11, OUTPUT);
}

Por último, temos o loop(), que contém as instruções para acender e apagar o LED, e também o intervalo entre essas ações:

void loop()
{
  //Acende o led
  digitalWrite(11, HIGH);
  
  //Aguarda intervalo de tempo em milissegundos
  delay(1000);
  
  //Apaga o led
  digitalWrite(11, LOW);
  
  //Aguarda intervalo de tempo em milissegundos
  delay(1000);
}

A linha do código contendo digitalWrite(11, HIGH);, liga o pino 11, acendendo o led. O comando delay(1000);, especifica o intervalo, em milésimos de segundos (milissegundos), no qual o programa fica parado antes de avançar para a próxima linha. Quanto maior esse número, mais tempo o programa vai esperar para passar para a próxima linha.

O comando digitalWrite(11, LOW);, apaga o LED, desligando o pino 11, e depois ocorre uma nova parada (delay) no programa. Após essa espera, o processo é então reiniciado, voltando para o início do loop().

Você reparou que todo comando termina com um ponto e vírgula “;“? Ele é muito importante na programação porque define que o comando acabou ali. Se está faltando um “;” o programa não irá funcionar de jeito nenhum!

Abaixo você encontra o programa completo que pode ser copiado e colado direto na IDE Arduino:

// Programa : Pisca Pisca pisca
// Autor : FILIPEFLOP

void setup()
{
  //Define a porta do led como saida
  pinMode(11, OUTPUT);
}

void loop()
{
  //Acende o led
  digitalWrite(11, HIGH);
  
  //Aguarda intervalo de tempo em milissegundos
  delay(1000);
  
  //Apaga o led
  digitalWrite(11, LOW);
  
  //Aguarda intervalo de tempo em milissegundos
  delay(1000);
}

Carregando Programa no Arduino

Quando o código estiver pronto para ser carregado na placa, utilize o cabo usb para conectar a placa Uno R3 no seu computador.

Cabo conectado na placa

Com a placa conectada, entre no menu ferramentas, escolha o modelo da placa como “Arduino/Genuino Uno” e a porta na qual a mesma está conectada, que no caso do sistema Windows, será COM seguido de algum número, ex: COM3, COM4 ou COM5, etc. Caso não apareça nenhuma porta, teste com outras entradas USB ou até mesmo em outro computador.

IDE Arduino placa

IDE Arduino porta

Então clique no botão de checagem. Isso irá verificar se existe algum erro no código e gerar o arquivo de programa necessário para carregar na placa.

IDE Arduino verificar

Se estiver tudo OK, clique no botão carregar. Isso irá gravar o programa na placa.

IDE Arduino carregar

Caso não apareça nenhum erro, você deverá ver o LED piscando em um intervalo de 1 segundo.

Possíveis erros

Caso o projeto não funcione, verifique alguns dos possíveis erros:

  • Na hora da checagem, apareceu alguma mensagem em vermelho? Verifique o código e caso não encontre o problema, copie e cole novamente o código na IDE Arduino e tente mais uma vez;
  • Verifique se os jumpers estão na mesma coluna dos terminais dos componentes, fazendo assim a conexão;
  • Verifique se os jumpers estão ligados nos pinos corretos no Arduino;
  • Verifique se o LED não está conectado invertido ou seja, terminal negativo no pino 11 e positivo no pino GND;
  • Verifique se o código carregou na placa através da IDE Arduino.

Desafios

Veja abaixo alguns desafios que você pode tentar!

  • Troque o LED por outro de cor diferente;
  • Monte o circuito de uma maneira alternativa usando outros furos e posições na protoboard;
  • Mude o intervalo de tempo que o LED pisca mudando o valor na programação na linha delay(1000); por exemplo: delay(250).

Alguma dúvida, comentário ou algo que queira acrescentar? Entre no tópico do nosso fórum!