Apostila Eletrogate - Kit Arduino Iniciante
Apostila Eletrogate - Kit Arduino Iniciante
8 – Junho/2025
Olá, Maker!
Esta apostila foi desenvolvida especialmente para você, servindo como um guia teórico
e prático para o Kit Arduino Iniciante . O kit possui todos os componentes necessários
para os projetos propostos e, assim, permitirá que você tenha uma experiência
completa.
Se você ainda é novo no universo Arduino, não se preocupe! Vamos te guiar desde o
começo, com uma introdução à plataforma, instalação, configuração e o passo a passo
para você dominar todos os recursos da sua placa Arduino. E o melhor: com projetos
práticos que vão te levar da programação à montagem, até ver o seu projeto ganhar
vida!
Mas as oportunidades não param por aí! Com o Kit Arduino Iniciante, as possibilidades
são infinitas. Você poderá criar inúmeros projetos utilizando sensores, motores, shields
e muito mais. Tudo o que você precisa para soltar sua criatividade e inovar está no
nosso Kit.
Então, se você ainda não garantiu o seu, não perca mais tempo! Acesse agora o nosso
site e garanta já o seu Kit Arduino Iniciante para desbloquear todo o seu potencial
criativo!
Prepare-se para uma aventura de aprendizado e criação. Estamos ansiosos para ver
tudo o que você vai criar.
Introdução
A primeira parte da apostila faz uma revisão sobre circuitos elétricos, com destaque para
questões práticas de montagem e segurança que surgem no dia a dia do usuário do Kit
Iniciante para Arduino.
Todos os conteúdos da Parte I são focados na apostila Arduino Iniciante, tendo em vista
a utilização adequada dos componentes e da realização prática de montagens pelos
usuários. No entanto, recomenda-se a leitura das referências indicadas ao final de cada
seção para maior aprofundamento.
A apostila Iniciante, bem como todas as outras apostilas que tratam de Arduino e
eletrônica em geral, tem como conhecimento de base as teorias de circuitos elétricos e
de eletrônica analógica e digital.
Em todo circuito você vai ouvir falar das grandezas elétricas principais, assim, vamos
aprender o que é cada uma delas.
Carga e corrente elétrica
A grandeza mais básica nos circuitos elétricos é a carga elétrica. Carga é a propriedade
elétrica das partículas atômicas que compõem a matéria (prótons, nêutrons e elétrons),
e é medida em Coulombs.
Do conceito de carga elétrica obtemos o conceito de corrente elétrica, que nada mais
é do que a taxa de variação da carga ao longo do tempo, ou seja, quando você tem um
fluxo de carga em um condutor, a quantidade de carga (Coulomb) que atravessa esse
condutor por unidade de tempo, é chamada de corrente elétrica. A medida utilizada
para corrente é o Ampére(A).
Aqui temos que fazer uma distinção importante. Existem corrente elétrica contínua e
alternada:
Com o Arduino UNO e na maioria dos componentes eletrônicos, lidamos com a corrente
elétrica contínua. É diferente da corrente e tensão elétrica da tomada de sua casa, que
são alternadas.
Na realidade, os elétrons, que possuem carga negativa, se movem do polo negativo para
o polo positivo. Isso ocorre porque, em um circuito, o excesso de elétrons em um lado
(polo negativo) cria uma região negativa em relação ao lado com menos elétrons (por
conter menos elétrons, dizemos que essa região está positiva). Essa diferença de
potencial cria uma força que faz com que os elétrons se movam em direção ao lado
positivo.
Quando conectamos os dois polos por meio de uma carga (como um LED, resistor,
motor, por exemplo), a corrente elétrica é gerada e flui devido a essa diferença de
potencial (conceito que será explicado mais adiante). A corrente é a forma como a
energia é transportada e utilizada pelos componentes do circuito.
Tensão elétrica
O mais comum é você ver apenas “tensão” nos artigos e exemplos com Arduino.
Assim, definindo formalmente o conceito: Tensão elétrica é a energia necessária para
mover uma unidade de carga através de um condutor, e é medida em Volts (V).
Potência e energia
A tensão e a corrente elétrica são duas grandezas básicas, e juntamente com a potência
e energia, são as grandezas que descrevem qualquer circuito elétrico ou eletrônico. A
potência é definida como a variação de energia (que pode estar sendo liberada ou
consumida) em função do tempo, e é medida em Watts (W). A potência está associada
ao calor que um componente está dissipando e a energia que ele consume.
Nós sabemos da vida prática que uma lâmpada de 100W consome mais energia do que
uma de 60 W. Ou seja, se ambas estiverem ligadas por 1 hora por exemplo, a lâmpada
de 100W vai implicar numa conta de energia mais cara.
A potência se relaciona com a tensão e corrente pela seguinte fórmula:
P=VxI
Essa é a chamada potência instantânea. Com essa fórmula, para saber qual a potência
dissipada em um resistor, por exemplo, basta informar a tensão aplicada nos terminais
do resistor e a corrente que passa por ele. O conceito de potência é importante pois
muitos hobbistas acabam não tendo noção de quais valores de resistência usar, ou
mesmo saber especificar componentes de forma adequada.
Um resistor de 33 ohms de potência igual a 1/4W, por exemplo, não pode ser ligado
diretamente em circuito de 5V, pois nesse caso a potência dissipada nele seria maior
que a que ele pode suportar.
Vamos voltar a esse assunto em breve, por ora, tenha em mente que é importante ter
uma noção da potência dissipada ou consumida pelos elementos do circuito que você
irá montar.
Por fim, a energia elétrica é o somatório da potência elétrica durante todo o tempo em
que o circuito esteve em funcionamento. A energia é dada em Joules (J) ou Wh (watt-
hora). A unidade Wh é interessante pois mostra que a energia é calculada multiplicando-
se a potência pelo tempo (apenas para os casos em que a potência é constante).
Essa primeira parte é um pouco conceitual, mas é importante saber de onde vieram
todas as siglas que você irá encontrar nos manuais e artigos na internet. Na próxima
seção, vamos discutir os componentes básicos que compõem o Kit Iniciante para
Arduino.
É muito comum que hobbistas e projetistas em geral acabem cometendo alguns erros
de vez em quando. Na verdade, mesmo alguns artigos na internet e montagens
amplamente usadas muitas vezes acabam por não utilizar as melhores práticas de forma
rigorosa. Isso acontece frequentemente com situações em que os níveis lógicos dos
sinais usados para integrar o Arduino com outros circuitos não são compatíveis entre si.
Isso significa que quando você quiser usar o seu Arduino UNO com um sensor ou CI que
trabalhe com 3.3V, é preciso fazer a adequação dos níveis de tensão, pois se você enviar
um sinal de 5V (saída do Arduino) em um circuito de 3.3V (CI ou sensor), você poderá
queimar o pino daquele componente.
Em geral, sempre que dois circuitos que trabalhem com níveis de tensão diferentes
forem conectados, é preciso fazer a conversão dos níveis lógicos. O mais comum é ter
que abaixar saídas de 5V para 3.3V. Subir os sinais de 3.3V para 5V na maioria das vezes
não é necessário pois o Arduino entende 3.3V como nível lógico alto, isto é, equivalente
a 5V.
O divisor de tensão é a solução mais simples, mas usar um CI conversor é mais elegante
e é o ideal. O divisor de tensão consiste em dois resistores ligados em série (Z1 e Z2), em
que o sinal de 5V é aplicado em um dos terminais de Z1. O segundo terminal de Z2 é
ligado ao GND, e o ponto de conexão entre os dois resistores é a saída do divisor, cuja
tensão é dada pela seguinte relação:
Um divisor de tensão muito comum é fazer Z1 igual 1KΩ e Z2 igual 2KΩ. Dessa forma a
saída Vout fica sendo 3.33V. Como o Kit Iniciante para Arduino não contém resistores
de 2K, você pode associar dois resistores de 1K ligados em série para formar o resistor
Z2. Fazendo isso, teremos Z1 = 1KΩ e Z2 = (1KΩ + 1KΩ), resultando numa saída de 3.33V
segundo a fórmula mostrada (Vout = (1KΩ + 1KΩ)/(1KΩ+(1KΩ + 1KΩ)) x 5).
Vamos exemplificar como fazer um divisor de tensão como esse na seção de exemplos
da parte II da apostila.
Revisão de componentes eletrônicos
O Kit Iniciante para Arduino possui os seguintes componentes básicos para montagens
de circuitos:
Resistores elétricos
Os resistores mais comuns do mercado são construídos com fio de carbono e são
vendidos em várias especificações. Os resistores do Kit são os tradicionais de 1/4W e 5%
de tolerância. Isso significa que eles podem dissipar no máximo 1/4W (0,25 watts) e seu
valor de resistência pode variar em até 5% para mais ou para menos, ou seja, o resistor
de 1KΩ pode então ter um valor mínimo de 950Ω e um valor máximo de 1050Ω para ser
considerado em condições de uso.
Em algumas aplicações você pode precisar de resistores com precisão maior, como 1%.
Também há casos em que a precisão não é tão importante, podendo ser utilizados
resistores com tolerância de 10%. Em alguns casos, pode ser necessário usar resistores
com maior potência, como 1W, enquanto em outros a potência pode ser menor, como
1/8W. Essas variações dependem da natureza específica de cada circuito."
Em geral, para as aplicações típicas e montagens de prototipagem que podem ser feitos
com o Kit Iniciante para Arduino, os resistores tradicionais de 1/4W e 5% de tolerância
são mais que suficientes.
V=RxI
Ou seja, se você sabe o valor de um resistor e a tensão aplicada em seus terminais, você
pode calcular a corrente elétrica que fluirá por ele. Juntamente com a equação para
calcular potência elétrica, a lei de Ohm é importante para saber se os valores de corrente
e potência que os resistores de seu circuito estão operando estão adequados.
Para fechar, você deve estar se perguntando, como saber o valor de resistência de um
resistor? Você tem duas alternativas: Medir a resistência usando um multímetro ou
determinar o valor por meio do código de cores do resistor.
Se você pegar um dos resistores do seu kit, verá que ele possui algumas faixas coloridas
em seu corpo. Essas faixas são o código de cores do resistor. As duas primeiras faixas
dizem os dois primeiros algarismos decimais. A terceira faixa colorida indica o
multiplicador que devemos usar. A última faixa, que fica um pouco mais afastada, indica
a tolerância.
Capacitores
Os capacitores são os elementos mais comuns nos circuitos eletrônicos depois dos
resistores. São elementos que armazenam energia na forma de campos elétricos. Um
capacitor é constituído de dois terminais condutores e um elemento dielétrico entre
esses dois terminais, de forma que quando submetido a uma diferença de potencial, um
campo elétrico surge entre esses terminais, causando o acúmulo de cargas positivas no
terminal negativo e cargas negativas no terminal positivo.
O importante que você deve saber para utilizar o Kit é que os capacitores podem ser de
quatro tipos:
⚫ Eletrolíticos;
⚫ Cerâmicos;
⚫ Poliéster;
⚫ Tântalo.
Capacitor eletrolítico
Capacitores cerâmicos
Capacitores cerâmicos não possuem polaridade, e são caracterizados por seu tamanho
reduzido e por sua cor característica, um marrom claro um tanto fosco. Possuem
capacitância da ordem de pico Farad. Veja nas imagens abaixo um típico capacitor
cerâmico e sua identificação:
Figura 4: Capacitores cerâmicos
Diodos e LEDs
Diodos e LEDs são tratados ao mesmo tempo pois são, na verdade, o mesmo
componente. Diodos são elementos semicondutores que só permitem a passagem de
corrente elétrica em uma direção.
São constituídos de dois terminais, o Anodo(+) e o catodo(-), sendo que para que possa
conduzir corrente elétrica, é preciso conectar o Anodo na parte positiva do circuito, e o
Catodo na parte negativa. Do contrário, o diodo se comporta como um circuito aberto,
bloqueando a passagem dos elétrons.
O LED é um tipo específico de diodo - Light Emitter Diode, ou seja, um diodo que emite
luz. Trata-se de um diodo que quando polarizado corretamente, emite luz para o
ambiente externo. O Kit Iniciante para Arduino vem acompanhado de LEDs nas cores
vermelha, verde e amarela, as mais tradicionais.
Nesse ponto, é importante você saber que sempre deve ligar um led junto de um
resistor, para que a corrente elétrica que flua pelo led não seja excessiva e acabe por
queimá-lo. Além disso, lembre-se que por ser um diodo, o led só funciona se o Anodo
estiver conectado ao polo positivo do sinal de tensão.
Para identificar o Anodo do Led, basta identificar o terminal mais longo do componente,
como na imagem abaixo:
▪ NPN: No transistor NPN, a corrente principal entra pelo coletor e sai pelo
emissor (considerando o sentido convencional da corrente). Para que o
transistor NPN conduza, é necessário aplicar um sinal positivo na base.
Esse sinal permite que a corrente flua do coletor para o emissor, habilitando a
condução do transistor.
▪ PNP: O funcionamento do transistor PNP é oposto ao NPN. Nele, a corrente
principal entra pelo emissor e sai pelo coletor. Entrando em condução ao
aplicarmos um sinal negativo na base. Esse sinal negativo na base permite que
a corrente flua do emissor para o coletor, habilitando a condução do transistor.
Modos de operação
Modo Ativo: Chamamos de região ativa porque o transistor está funcionando como
um amplificador. Neste estado, a corrente de base controla a corrente de coletor, mas
o transistor não está completamente saturado. A corrente de coletor é proporcional à
corrente de base, multiplicada pelo ganho do transistor. Isso faz com que a tensão
entre o coletor e o emissor seja alta o suficiente para permitir essa amplificação.
Associando à torneira, você abre o registro parcialmente, permitindo um fluxo
controlado e proporcional da água. Da mesma forma, no transistor, a corrente de base
controla a quantidade de corrente que flui do coletor (entrada da água) para o emissor
(saída da água).
Embora o ganho (β) do transistor ainda esteja presente, sua influência é menor neste
modo já que existe um excesso de elétrons na base. A corrente de coletor passa a ser
mais influenciada pela configuração do circuito do que pela corrente de base. Na
torneira, é como se o registro estivesse completamente aberto, permitindo o fluxo
máximo de água.
Note que, nessa orientação, temos colunas numeradas de 1 a 30, enquanto as linhas
são nomeadas de A a E no segmento inferior e de F a J no segmento superior. A ligação
entre os pinos é bem simples de entender: em cada coluna numérica, as 5 linhas
correspondentes estão interligadas entre si (linhas verdes), mas não há conexão com
as colunas vizinhas (números), nem entre os segmentos superior e inferior (grupos A-E
e F-J).
Algumas pessoas não sabem, mas as placas Arduino não possuem patente, e eles
disponibilizam o projeto de suas placas para qualquer um reproduzir, fazer
modificações e fazer melhorias. Com isso, um grupo de pessoas resolveram lançar a
placa Uno SMD.
A placa Uno SMD é compatível 100% com uma placa Uno do projeto original, inclusive
em todas as Shields. Algumas diferenças são meramente de projeto, como a troca de
alguns tipos de componentes por outro, e a principal troca estética é a troca do chip
Atmega328P no modelo PTH (que fica encaixado na placa) pelo modelo SMD.
A sigla SMD significa Surface Mounted Device, que traduzindo é algo como Dispositivo
Montado em Superfície, isso significa que diferente do PTH, esse tipo de chip é soldado
diretamente na superfície da placa sem precisar de furo.
Isso faz com que o chip possa ser muito menor que o PTH (que significa algo como
Terminal Inserido no Furo”, por não precisar fazer furos. Como pode ser visto na placa,
o chip que é como o cérebro do Arduino muda demais de tamanho de uma placa para
outra devido essa tecnologia.
Mas uma pergunta pode estar pairando, que é: “Mas por o chip ser menor, isso não
significa que seja menos potente?”. A resposta para essa pergunta é não, porque no
caso do chip maior ele não tira nenhuma vantagem por ser maior, tendo dentro do chip
muito espaço vazio somente para cumprir o requisito de ser PTH.
Bom, sabendo disso, agora podemos explorar outra diferença, que é o chip responsável
por fazer a conversão USB-Serial. Esse chip é usado para fazer com que seu computador
reconheça sua placa Arduino, e faz a interface da “linguagem” do USB para a linguagem
do Arduino, que no caso é serial UART.
Já na placa Uno SMD, por ela utilizar o chip CH340G, você necessita instalar o driver
CH340G. Por sorte, é um processo bem simples, bastando baixar o driver e instalar no
seu computador como se faz com um programa comum.
Para intalá-lo, acesse o site oficial – clicando aqui e faça o download conforme seu
sistema operacional.
Em nosso caso, vamos fazer a instalação da versão para Windows, mas também é
possível instalá-lo no MacOS e no Linux. Clique no link referente ao seu sistema
operacional e aguarde o download ser concluído.
O arquivo baixado será em formato compactado (.zip). Abra-o e dê um duplo clique no
arquivo CH34x_Install_Windows_v3_4.EXE, para executar o instalador. Após, a janela
abaixo será exibida e você só precisa clicar em Install, para iniciar a instalação.
Quando o processo de instalação terminar, a mensagem abaixo será exibida:
Com o driver instalado, vamos apenas confirmar se a placa está sendo reconhecida
corretamente pelo computador. Para isso, abra o Gerenciador de Dispositivos do
Windows (basta abrir o menu iniciar e pesquisar por “gerenciador de dispositivos”).
Nele, procure o item “Portas COM e LPT” e veja se a placa está sendo exibida como na
imagem abaixo:
Parte III - Instalando e conhecendo a Arduino IDE
A Arduino IDE é a plataforma oficial para programação do Arduino. Vamos começar
sua instalação fazendo o download do instalador, que pode ser encontrado no site
oficial – clicando aqui.
Recomendamos sempre que você instale a versão estável mais recente disponível para
seu sistema operacional. Como estamos utilizando o Windows 10 em nosso
computador, vamos selecionar a opção Windows Win 10 and newer, 64 bits:
A tela seguinte nos propõe fazer uma contribuição para a plataforma, pode clicar em
“Just Download” – Aqui é de suma importância que seu navegador não traduza a
página, pois essa opção não é exibida quando traduzida.
Na tela seguinte, clique novamente em “Just Download”.
Após esses passos, o download irá iniciar automaticamente. Quando terminar, execute
o arquivo baixado e clique em “Eu concordo” na janela exibida.
Nas telas seguintes, basta clicar em “Próximo” e “Instalar”. Ao término, clique em
concluir para abrir a IDE.
Com a IDE instalada e aberta, vamos conhecer os recursos que serão úteis nessa
apostila. Primeiramente, vamos fazer uma pequena configuração, que será útil
futuramente. Clique em “Arquivo”, na parte superior e vá em “Preferências”. A tela
abaixo será exibida:
Nela, marque as caixinhas “compilar” e “enviar”. Elas são responsáveis por exibir logs e
possíveis erros quando começarmos a programar o Arduino. Você também pode alterar
o idioma, ativar o modo escuro e alterar a fonte, conforme sua preferência. Clique em
“OK” para salvar as alterações.
Feito isso, você está pronto para iniciar a montagem e programação dos exemplos!
Agora vamos entrar nas seções de exemplos em si. Os conceitos da Parte I são
importantes caso você esteja começando a trabalhar com eletrônica. No entanto,
devido ao aspecto prático da montagem, não necessariamente você precisa de ler toda
a parte introdutória para montar os circuitos abaixo, mas recomendamos que estude os
componentes e suas particularidades para complementar seu conhecimento.
Em cada exemplo vamos apresentar os materiais utilizados, o diagrama, o código e mais:
em um exemplo específico, deixamos um desafio para que você complete o
funcionamento do projeto com base nos conhecimentos adquiridos.
Vamos começar!
O potenciômetro nada mais do que um resistor cujo valor de resistência pode ser
ajustado de forma manual. Existem potenciômetros slides e giratórios. Na figura abaixo
mostramos um potenciômetro giratório dos mais comumente encontrados no mercado.
Em ambos, ao variar a posição da chave manual, seja ela giratória ou slide, o valor da
resistência entre o terminal de saída e um dos outros terminais se altera. O símbolo do
potenciômetro é o mostrado na imagem a seguir:
Tensão = Valor*(5/1024)
Lista de materiais:
⚫ Arduino UNO;
⚫ Protoboard;
⚫ Potenciômetro 10K;
⚫ Jumpers.
Diagrama de circuito
Carregue o código abaixo no Arduino e você verá as leituras no Monitor serial da IDE.
void setup(){
Serial.begin(9600); // monitor serial - velocidade 9600 Bps
delay(100); // atraso de 100 milissegundos
}
void loop(){
sensorValue = analogRead(sensorPin); // leitura da entrada analógica A0
voltage = sensorValue * (5.0 / 1024); // cálculo da tensão
Na função void setup(), nós inicializamos o terminal serial com uma taxa de transmissão
de 9600 bits por segundo. Na função void loop(), primeiro faz-se a leitura da entrada
analógica A0 com a função analogRead(SensorPin) e armazenamos a mesma na variável
sensorValue. Em seguida, aplicamos a fórmula para converter a leitura (que é um
número entre 0 e 1023) para o valor de tensão correspondente. O resultado é
armazenado na variável Voltage e em seguido mostrado na interface serial da IDE
Arduino.
Esses dois componentes são trabalhados por meio das entradas e saídas digitais do
Arduino. Neste exemplo vamos fazer uma aplicação básica que você provavelmente vai
repetir muitas vezes. Vamos ler o estado de um push-button e usá-la para acender ou
apagar um LED.
Lista de materiais:
⚫ Resistor de 330Ω;
⚫ Resistor de 1KΩ;
⚫ LED vermelho (ou de outra cor de sua preferência);
⚫ Push-button (chave botão);
⚫ Arduino UNO;
⚫ Protoboard;
⚫ Jumpers.
Diagrama de circuito:
Esse pequeno código abaixo mostra como ler entradas digitais e como acionar as
saídas digitais. Na função void setup(), é preciso configurar qual pino será usado como
saída e qual será usado como entrada.
Na função void loop(), fizemos um if no qual a função digitalRead é usada para saber se
o push-button está acionado ou não. Caso ele esteja acionado, nós acendemos o LED,
caso ele esteja desligado, nós desligamos o LED.
Carregue o código abaixo e pressione o botão para acender o LED.
void setup()
{
pinMode(PinButton, INPUT); // configura D8 como entrada digital
pinMode(ledPin, OUTPUT); // configura D7 como saída digital
Serial.begin(9600); // monitor serial - velocidade 9600 Bps
delay(100); // atraso de 100 milissegundos
}
void loop()
{
if (digitalRead(PinButton) == HIGH) // se chave = nível alto
{
digitalWrite(ledPin, HIGH); // liga LED com 5V
Serial.println("Acendendo LED"); // imprime no monitor serial
}
else // senão chave = nível baixo
{
digitalWrite(ledPin, LOW); // desliga LED com 0V
Serial.println("Desligando LED"); // imprime no monitor serial
}
delay(100); // atraso de 100 milissegundos
}
Repare que o circuito do buzzer ativo não é acessível, estando coberto com resina. Já o
buzzer passivo você pode visualizar uma pequena placa de circuito interna, onde os
terminais estão conectados.
Nosso kit traz o buzzer ativo de 5V, que é mais fácil de acionar e desenvolver projetos,
já que, para emitir som, precisa apenas ser energizado. No projeto a seguir, vamos
utilizar o Arduino e um botão para fazer o acionamento desse buzzer.
Lista de materiais:
• Arduino Uno;
• Protoboard;
• Push Button;
• Jumpers.
Diagrama de circuito:
Carregue o código abaixo em seu Arduino:
#define BUTTON 3
#define BUZZER 4
void setup(){
pinMode(BUTTON, INPUT_PULLUP);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
delay(100);
}
void loop(){
if (digitalRead(BUTTON) == LOW){
digitalWrite(BUZZER, HIGH);
} else {
digitalWrite(BUZZER, LOW);
}
delay(100);
}
Exemplo 4 - Acionamento de LED conforme do Luz Ambiente
O sensor LDR é um sensor de luminosidade. LDR é a sigla para Light Dependent Resistor,
ou seja, um resistor cuja resistência varia com a quantidade de luz que incide sobre ele.
Esse é seu princípio de funcionamento.
É importante considerar a potência máxima do sensor, que é de 100 mW. Ou seja, com
uma tensão de operação de 5V, a corrente máxima que pode passar por ele é de 20 mA.
Felizmente, com 8KΩ (que medimos experimentalmente com o ambiente bem
iluminado), que é a resistência mínima, a corrente ainda está longe disso, sendo
0,625mA. Dessa forma, podemos conectar o sensor diretamente ao Arduino.
*Nota: Em suas medições, pode ser que encontre um valor de resistência mínimo
diferente, pois depende da iluminação local e da própria fabricação do componente em
si.
Este sensor de luminosidade pode ser utilizado em projetos com o Arduino e outros
microcontroladores para diversas aplicações, como alarmes, automação residencial,
sensores de presença e vários outros.
Nesse exemplo, vamos usar uma entrada analógica do Arduino para ler a variação de
tensão no LDR e, consequentemente, saber como a luminosidade ambiente está se
comportando. Veja na especificação que, com muita luz, a resistência fica em torno de
10-20KΩ, enquanto no escuro pode chegar a 1MΩ.
Lista de materiais:
⚫ LDR;
⚫ Resistor de 10KΩ;
⚫ 1 Arduino UNO;
⚫ Protoboard;
⚫ Jumpers.
Diagrama de circuito:
void setup()
{
pinMode(ledPin, OUTPUT); // configura D13 como saída digital
Serial.begin(9600); // monitor serial - velocidade 9600 Bps
delay(100); // atraso de 100 milissegundos
}
void loop()
{
Leitura = analogRead(AnalogLDR); // leitura da tensão no pino analógico
A0
VoltageLDR = Leitura * (5.0/1024); // cálculo da tensão no LDR
Serial.print("Leitura sensor LDR = "); // imprime no monitor serial
Serial.println(VoltageLDR); // imprime a tensão do LDR
Nesse caso, definimos uma tensão de limiar, a partir da qual desligamos ou ligamos um
LED para indicar que a intensidade da luz ultrapassou determinado valor. Esse limiar
pode ser ajustado por você para desligar o led em intensidades diferentes de luz
ambiente.
Assim, o princípio para medir o sinal de um termistor é o mesmo que usamos para medir
o sinal do LDR. Vamos medir na verdade, a queda de tensão provocada na resistência
do sensor.
O termistor que acompanha o kit é do tipo NTC, como o próprio nome diz. Esse é o tipo
mais comum do mercado.
O grande problema dos termistores é que é necessária fazer uma função de calibração,
pois a relação entre temperatura e resistência elétrica não é linear. Existe uma equação,
chamada equação de Stein Hart-Hart que é usada para descrever essa relação (vide
referências).
O código que vamos usar nesse exemplo utiliza a equação de Stein-Hart conforme a
referência 1.
Lista de materiais:
void setup(){
Serial.begin(9600); // monitor serial - velocidade 9600 Bps
beta = (log(RT1 / RT2)) / ((1 / T1) - (1 / T2)); // cálculo de beta
Rinf = R0 * exp(-beta / T0); // cálculo de Rinf
delay(100); // atraso de 100 milissegundos
}
void loop(){
Vout = Vin * ((float)(analogRead(0)) / 1024.0); // cálculo de V0 e leitura de A0
Rout = (Rt * Vout / (Vin - Vout)); // cálculo de Rout
TempKelvin = (beta / log(Rout / Rinf)); // cálculo da temp. em Kelvins
TempCelsius = TempKelvin - 273.15; // cálculo da temp. em Celsius
Serial.print("Temperatura em Celsius: "); // imprime no monitor serial
Serial.print(TempCelsius); // imprime temperatura Celsius
Serial.print(" Temperatura em Kelvin: "); // imprime no monitor serial
Serial.println(TempKelvin); // imprime temperatura Kelvins
delay(500); // atraso de 500 milissegundos
}
Exemplo 6 – Efeito fade
Este projeto demonstra como criar um efeito de fade no LED, onde seu brilho aumenta
e diminui gradativamente e de forma automática.
Lista de materiais:
• Arduino Uno + cabo;
• LED;
• Resistor de 330Ω;
• Protoboard;
• Jumpers.
Diagrama de circuito:
void setup(){
pinMode(LED, OUTPUT); //seta o pino 3 como saída
}
void loop(){
for(int i=0; i<255; i++){ //incrementa os valores de 0 até 255
analogWrite(LED, i); //liga o LED proporcionalmente a i
delay(10); //aguarda 10 milissegundos
}
for(int i=255; i>0; i--){ //decrementa os valores de 255 até 0
analogWrite(LED, i); //liga o LED proporcionalmente a i
delay(10); //aguarda 10 milissegundos
}
}
Nesse exemplo, usamos o laço for() para iniciar uma iteração. O laço inicia a variável ‘i’
em zero e incrementa seu valor de 1 em 1 até que a condição “i < 255” seja falsa. A
cada iteração, o brilho do LED é ajustado conforme o valor de ‘i’ e o programa aguarda
10 milissegundos antes de fazer o próximo incremento. Esse processo aumenta o
brilho do LED de forma gradativa no primeiro for() e diminui, também gradativamente,
no segundo for().
Lista de materiais:
• Arduino Uno + cabo;
• Potenciômetro 10KΩ;
• 1 LED;
• 1 Resistor de 330Ω
• Protoboard;
• Jumpers.
Diagrama de circuito
void setup(){
pinMode(LED, OUTPUT); //configura o pino do led como saída
}
void loop(){
int brilho = map(analogRead(POT), 0, 1023, 0, 255); //conversão de valores
analogWrite(LED, brilho); //varia o brilho do LED
}
Faça o upload do código após as conexões e gire o eixo do potenciômetro para variar o
brilho do LED.
Exemplo 8 - Acendendo um LED com Sensor Reflexivo Infravermelho
O sensor ótico reflexivo TCRT5000 é um dos mais populares para utilização em projetos
com Arduino. O sensor é fabricado pela Vishay, uma tradicional fabricante de
componentes eletrônicos. Recomendamos fortemente, a leitura do datasheet do
sensor:
https://www.vishay.com/docs/83760/tcrt5000.pdf
Trata-se de um sensor reflexivo que possui um emissor infravermelho e um
fototransistor. O emissor é um led infravermelho que emite um sinal nessa faixa do
espectro. Já o fototransistor é o receptor que faz a leitura do sinal refletido. Ou seja, o
led emite um feixe infravermelho que pode ou não ser refletido por um objeto. Caso o
feixe seja refletido, o fototransistor identifica o sinal refletido e gera um pulso em sua
saída.
Tensão direta do LED emissor é de 1,25 V com uma corrente máxima de 60 mA. A
corrente máxima do fototransistor é de 100 mA.
A distância máxima de detecção não é grande, ficando em torno de 25 mm (dois
centímetros e meio), o que pode limitar um pouco a sua aplicação. O fototransistor vem
com um filtro de luz ambiente, o que maximiza a identificação do feixe infravermelho
refletido.
Lista de materiais:
⚫ Arduino UNO R3;
⚫ Protoboard;
⚫ Sensor TCRT5000;
⚫ Led vermelho 5mm;
⚫ Resistor de 330;
⚫ Resistor de 10K;
⚫ Jumpers para ligação no protoboard;
Diagrama de Circuito:
O terminal Anodo (A) positivo do LED infravermelho está ligado por meio de um resistor
de 330R ao VCC (5V) e o seu terminal catodo (K) negativo está ligado em GND. O Coletor
(C) do fototransistor está ligado ao resistor de 10K (que está conectado no VCC) e
também na entrada digital D7 do Arduino. Essa entrada é que vamos usar para
identificar se o sensor percebeu algum objeto ou não. O Emissor (E) do fototransistor
está ligado ao GND.
O LED vermelho para indicação do Sensor, tem o terminal Anodo (A) positivo conectado
à um resistor de 330R que está conectado à porta digital D8 do Arduino. O terminal
catodo (K) negativo está ligado ao GND.
Código:
void setup()
{
pinMode(led, OUTPUT); // pino do led indicador = saida
pinMode(fotoTransistor, INPUT); // pino do coletor do fototransistor = entrada
}
void loop()
{
leituraSensor = digitalRead(fotoTransistor); // leitura do sensor TCRT5000
if (leituraSensor == 0 ) // se o led refletir a luz
digitalWrite(led, HIGH); // acende LED indicador
else // senão
digitalWrite(led, LOW); // apaga LED indicador
delay(500); // atraso de 0,5 segundos
}
O código para utilização do sensor TCRT5000 é bem simples. Com o circuito montado,
basta monitorar o estado do pino no qual a saída do sensor (coletor do fototransistor)
está ligada. Se esse pino estiver em nível baixo, é porque algum objeto está presente
dentro do raio de medição do sensor ( a luz infra-vermelha do LED está sendo refletida).
Se o pino estiver em nível alto, então não há objeto nenhum no raio de medição do
sensor.
Nesse exemplo, a presença do sensor é identificada pelo acionamento de um led, ou
seja, sempre que um objeto for identificado pelo sensor, o led ficará aceso.
Lista de materiais:
• Arduino Uno;
• Protoboard;
• 2 LEDs;
• 2 Resistores de 330Ω;
• 2 resistores de 10KΩ;
• Transistor BC548;
• Transistor BC558;
• Jumpers.
Diagrama de circuito
Uma forma bem simples de entender como a corrente flui pelo transistor é observar a
setinha presente no emissor, na simbologia do componente. Note que, no transistor
NPN, essa seta está saindo do transistor, indicando que a corrente entra no transistor
pelo coletor e sai pelo emissor.
void setup() {
//Configura os pinos como saída
pinMode(NPN, OUTPUT);
pinMode(PNP, OUTPUT);
}
void loop() {
//Envia um sinal de nível lógico alto aos transistores
digitalWrite(NPN, HIGH);
digitalWrite(PNP, HIGH);
Lista de componentes
• Arduino;
• Protoboard;
• 8 resistores de 330Ω;
• Display de 7 segmentos;
• Jumpers.
Diagrama de montagem
Quanto às funções, elas nos permitem nomear um conjunto de instruções que podem
ser reutilizadas em outras partes do código. Por exemplo, ao fazer um LED piscar com
o Arduino, em vez de repetir os comandos de ligar, aguardar e desligar, você pode criar
uma função chamada piscaLED(). Dentro dessa função, reunimos todos os comandos
necessários para realizar a tarefa de piscar o LED. Assim, sempre que precisar que o
LED pisque, em vez de repetir os quatro comandos, você simplesmente chama
piscaLED(), trazendo organização, praticidade e legibilidade ao seu código, facilitando
seu entendimento e manutenção.
Tendo isso em mente, carregue o código abaixo em seu Arduino:
//Exemplo 10 - Acionando displays de 7 segmentos
//Apostila Eletrogate - KIT INICIANTE
void reset7Seg() {
for (int i = 0; i < 8; i++) {
digitalWrite(pinos[i], HIGH);
}
}
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(pinos[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < 3; i++) { // Mude o limite para o número total de caracteres
configurados no switch + 1
exibir(i);
delay(1000); // Esperar 1 segundo entre os caracteres
}
}
Seu funcionamento é bem simples: criamos um array com 8 posições para armazenar
os pinos do Arduino onde os LEDs do display estão conectados. Também criamos
arrays de mesmo tamanho contendo os pinos que devem estar ligados ou desligados
para formar cada caractere. No setup, configuramos os pinos utilizando um laço for e o
comando pinMode(i, OUTPUT), que interpreta o valor em cada índice do array como
sendo o número do pino e o configura como saída.
Fazendo isso, você colocará à prova todo o seu aprendizado até aqui ao mesmo tempo
que o coloca em prática, desenvolvendo habilidades essenciais para a programação do
Arduino.
Parte V - Cálculo do resistor de base dos
transistores
Vamos abordar aqui como o cálculo do resistor de base deve ser feito. É de suma
importância dimensioná-lo corretamente pois, como visto anteriormente, esse resistor
é o responsável por controlar a corrente que fluirá pelo transistor.
O primeiro passo é calcular a corrente de base usando a fórmula
𝐼𝑐
𝐼𝑏 = , onde:
𝛽
• O transistor opera como chave (em modo saturação - lembre-se, utilize 10% do
ganho mínimo especificado nessa situação);
• A corrente de coletor é 75mA (equivalente a 0,075A - para converter mA em A,
basta dividir por 1000);
• A tensão de base é 5V;
• O modelo do transistor é o BC548B.
Com esses dados em mãos, vamos aos cálculos. Primeiramente, encontramos o valor
da corrente de base:
𝐼𝑐 0,075
𝐼𝑏 = → 𝐼𝑏 = → 𝐼𝑏 = 0,00375
𝛽 20
Com o valor de Ib encontrado, vamos para a segunda fórmula. Nela, temos que:
• Vb equivale a 5V;
• Vbe equivale a 0,7V;
• Ib equivale a 0,00375A
Substituindo:
𝑉𝑏−𝑉𝑏𝑒 5−0,7 4,3
𝑅𝑏 = → 𝑅𝑏 = → 𝑅𝑏 = → 𝑅𝑏 = 1.146,66
𝐼𝑏 0,00375 0,00375
Veja que o valor encontrado para Rb é de 1.146Ω, porém não encontramos esse
resistor comercialmente. O valor mais próximo disponível no Kit Iniciante é de 1KΩ
(1000Ω), portanto esse deve ser o resistor utilizado na base do transistor no exemplo
12.
E aí, já consegue confirmar o valor dos resistores de base para o exemplo 11?
Deixaremos essa tarefa como exercício para você!
Parte VI – Principais comandos do Arduino
Nesta seção, trazemos um resumo dos comandos da Arduino IDE utilizados ao longo
dos exemplos. Essas referências são ferramentas valiosas para esclarecer suas dúvidas
sobre a sintaxe (a estrutura dos comandos) e, mais importante, para desvendar o
funcionamento de cada um deles. Aproveite esta oportunidade para aprofundar seu
conhecimento e dominar a programação no Arduino!
• https://www.arduino.cc/reference/pt/
Considerações finais
Essa apostila tem por objetivo apresentar alguns exemplos básicos sobre como utilizar
os componentes do Kit Iniciante para Arduino, a partir dos quais você pode combinar e
fazer projetos mais elaborados por sua própria conta.
Nas referências finais, também tentamos indicar boas fontes de conteúdo objetivo e
com projetos interessantes. Sobre esse ponto, que consideramos fundamental,
gostaríamos de destacar algumas fontes de conhecimento que se destacam por sua
qualidade.
O fórum oficial Arduino possui muitas discussões e exemplos muito bons. A comunidade
de desenvolvedores é bastante ativa e certamente pode te ajudar em seus projetos. No
Project Hub poderá encontrar milhares de projetos com Arduino.
⚫ Instructables: https://www.instructables.com/
O Maker Pro é outro site referência no mundo em relação aos projetos com Arduino. Há
uma infinidade de projetos, todos bem explicados e com bom conteúdo.
No mais, esperamos que essa apostila seja apenas o início de vários outros projetos e,
quem sabe, a adoção de Kits mais avançados, como os de Robótica e Arduino Advanced.
Qualquer dúvida, sugestão, correção ou crítica a esse material, fique à vontade para
relatar em nosso blog oficial: http://blog.eletrogate.com/
Referências gerais