Vamos ver neste artigo como acender e apagar um led utilizando um botão, mas não é só isso, vamos entender porque o Arduino é tão útil para automatizar circuitos eletrônicos e um pouco de programação.
Veja na figura a seguir, a montagem que fizemos no Tinkercad, utilizando um led, um botão, dois resistores, um de 220 ohms para proteger o led e outro de 1K ohms ligado ao botão para enviar sinal para o pino digital do Arduino.
É importante entender que o led tem polaridade, sendo seu terminal Catodo ligado ao negativo da fonte e seu terminal Anodo ligado ao pino do Arduino, caso seja ligado invertido o led não acenderá devido ao sentido de circulação da corrente elétrica.
O botão utilizado nesta experiência tem 4 terminais e seu esquema de ligação é o seguinte: os pinos 1 e 2 estão interligados internamente, assim como os pinos 3 e 4. Ao apertar o botão, interligaremos todos os pinos da chave, conforme mostram as figuras a seguir.
Na montagem feita, quando o botão não está apertado, o positivo da fonte está nos pinos 3 e 4 e o pino 2 do Arduino está ligado no negativo da fonte através do resistor, passando pelos pinos 1 e 2.
Ao apertarmos o botão, o positivo da fonte irá para o pino 2 do Arduino, fazendo com que chegue a tensão de 5 volts neste pino. Isto acontece porque a corrente elétrica irá buscar o caminho de menor resistência, isto é, prefere ir para o pino do Arduino à passar pela resistência e ir para o negativo da fonte.
A próxima figura mostra a programação feita no Arduino para esta montagem, a qual explicaremos passo a passo para que você possa reproduzir e entender o funcionamento do circuito.
Nas linhas 3 e 4 da programação, nomeamos o pino 4 como LED usando a expressão int LED = 4; e o pino 2 como BOTAO utilizando a expressão int BOTAO = 2;
Note que a sintaxe, ou seja, a forma como escrevemos as expressões tem que seguir estritamente as regras da programação em C++, ou seja, int tem que ser escrito em letras minúsculas e para fechar a expressão não podemos esquecer do ponto e vírgula “ ; “.
Os nomes que colocamos para os pinos podem ser escritos em maiúsculas ou minúsculas, mas depois temos que repetir estes mesmos nomes em outras partes da programação, exatamente igual ao que definirmos aqui nestas primeiras linhas. Caso escrevamos de forma diferente, o Arduino não entenderá a que pinos estamos nos referindo.
Seguindo com a programação, dentro da função void setup ( ) nós temos as linhas 8 e 9 onde determinamos se os pinos digitais estão sendo usados como entradas ou saídas.
Podemos observar na linha 8 que o pino que nomeamos de LED (pino 4) está sendo determinado como saída (OUTPUT) e na linha 9 o pino que nomeamos de BOTAO (pino 2) está sendo determinado como entrada (INPUT). É sempre necessário dentro da programação do Arduino, determinarmos dentro do void setup ( ) se os pinos serão usados como entrada ou saída.
Dentro do void loop ( ) temos entre as linhas 14 a 20 a função if que traduzindo para o português significa “se”, ou seja, é uma função condicional que será executada se verdadeira.
Na linha 14 temos primeiro a leitura do pino BOTAO através da expressão digitalRead(BOTAO) e logo em seguida a comparação com o estado HIGH através dos dois sinais de igual “==”.
Traduzindo para outras palavras, a função if está lendo o pino do botão e vendo se ele está apertado. Caso ele esteja, ou seja, o resultado da comparação seja verdadeiro, serão executadas as linhas 15 a 20 da programação, fazendo o led piscar por 1 segundo.
Caso o resultado da comparação seja falso, ou seja, se o botão não estiver apertado, a programação irá pular estas linhas e irá direto para a linha 21 da programação.
A linha 21 contém a função else que traduzindo significa “senão”, ou seja, se a comparação feita pelo if for falsa, então irá ser executado (else) o que estiver entre as linhas 22 a 24 onde estamos deixando o led apagado.
É importante notar que as funções if e else começam e terminam com chaves. Elas servem para determinar o trecho que será executado dentro destas funções.
Na função if serão executadas as linhas 16 a 19 e na função else será executada a linha 23.
Para finalizar temos na linha 25 a chave de fechamento da função void loop ( ), informando ao programa que deve voltar ao início da função na linha 13, onde temos a chave de abertura desta função.
Pela programação descrita acima, devemos ter o seguinte funcionamento do circuito: quando o botão estiver livre, sem ser apertado, o led estará apagado; quando o botão for apertado e segurado apertado, o led irá piscar por 1 segundo até soltarmos o botão, fazendo com que o led fique apagado.
Gostaria de salientar que a programação é que determina o que acontecerá com o circuito montado, caso mudemos a programação, o funcionamento do circuito também mudará. Esta é a mágica do Arduino, sua programação!
Para ver esta montagem e este programa em funcionamento, assista ao vídeo clicando no link a seguir:
No próximo artigo estaremos dando continuidade explicando outros comandos utilizados com o Arduino.
Artigo escrito pelo professor e Engenheiro Elétrico Gustavo Antonio Velho em 25 de julho de 2022.
Caso você tenha alguma dúvida, ou queira fazer alguma comentário, preencha o formulário abaixo para nos deixar uma mensagem.