Buscar

apost 0 ok

Prévia do material em texto

Curso de Introdução ao Arduino 1 
 
CURSO DE INTRODUÇÃO AO ARDUINO 
 
Autor: 
 Vinícius Neves de Figueiredo 
Estudante de Engenharia Elétrica - UFF 
 
 
 
 
 
Curso de Introdução ao Arduino 2 
 
 
 
 
 
 
 
PARTE 1 – INTRUDUÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 3 
 
O QUE É ARDUINO? 
 O arduino é um Microcontrolador em que é possível ser reprogramado, no mundo 
da computação e da eletrônica isso é chamado de open source. Com ele, você será capaz de 
controlar inúmeros dispositivos e componentes de circuitos elétricos, por exemplo, LEDs, 
motores, chaves, a luz de uma casa, sensores, temperatura, a potencia de um determinado 
equipamento, um robô, e muito mais. 
 
O arduino 
 O Arduino UNO é um microcontrolador em que possui 13 entradas do tipo digital 5 
do tipo analógica, sendo que 6 das digitais possuem o recurso de PWM, que conta também 
com 2 pinos de comunicação RX/TX, e mais saídas de 3,3V e 5V, e alguns outros recursos 
que serão comentados durante o curso. 
 Portas digitais 
 
 Pinos de comunicação RX/TX 
 
 
 Portas Analógicas 
 
 
 Logo neste início foram falados muitos conceitos que são comuns dentro do mundo 
da eletrônica, vamos começar definindo-os. 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 4 
 
Entradas e saídas analógicas e digitais 
 A porta digital tem o seu funcionamento de acordo com os princípios boolianos, ou 
seja, possui apenas dois estados: Verdadeiro ou Falso, certo ou errado, 0 ou 1, High ou Low. 
No caso do arduino, ser High ou Low quer dizer que está passando corrente elétrica por 
aquela porta ou não. 
 
 
 
 
No gráfico acima em t ϵ [0,2] não existe corrente elétrica, logo o estado é igual a 
LOW, enquanto que em t ϵ [2,4] está passando uma corrente de 1A. 
OBS.: A portas digitais do arduino suportam até 40mA 
A porta analógica é capaz de receber e fornecer tensões distintas de HIGH ou LOW. 
Ela tem a resolução de 10 bits (0 até 1023) para medir uma tensão de 0 até 5V, utilizando 
uma simples regra de três para isso. Por exemplo, se temos uma tensão de 3,5V: 
 
 
Temos que , como ele só lê valor positivo, então o arduino irá te fornecer o 
número 716. 
A seguir, um exemplo de um sinal analógico 
 
Curso de Introdução ao Arduino 5 
 
 
PWM (Pulse Width Modulation) 
 Este é um conceito muito famoso dentro do ramo da engenharia, ele é utilizado para 
controlar a potência de determinado dispositivo, no arduino está localizado junto às portas 
digitais que possuem o símbolo . Com ele podemos controlar o que é chamamos de Duty 
Cycle, que é uma porcentagem da potência total que poderia ser entregue ao dispositivo. 
Exemplo de Duty Cycle: 
 
 
 
Porta de Rx / Tx (receiving / transmiting) 
 Essas são as portas de comunicação do Arduino, elas são necessárias para adaptar 
uma comunicação bluetooth, wireless, rádio, dentre outros tipos... 
 
A Protoboard (breadboard) 
 A protoboard é um ambiente de prototipagem que faz com que seja fácil a 
montagem e a desmontagem de circuitos elétricos, não precisando assim de soldas, junções 
e “gambiarras” no circuito. 
 Trata-se de uma placa cheia de pequenos buracos de espaçamento e tamanho 
padronizados, em que praticamente todo componente eletrônico é compatível com a 
mesma. Esses pequenos orifícios estão conectados como será mostrado no esquema a 
seguir. 
Curso de Introdução ao Arduino 6 
 
 
 
 Será preciso um pouco de prática até que você possa criar os circuitos sem precisar 
pensar se está conectando o circuito em paralelo ou em série. É de boa prática energizar as 
trilhas da periferia da protoboard com a tensão que será utilizada no projeto. 
CIRCUITO EM SÉRIE E EM PARALELO NA PROTOBOARD 
 
Observe a protoboard acima, na parte de cima temos os LED conectados em série, enquanto 
que na parte de baixo da figura tempos os resistores conectados em paralelo. 
Se ligássemos estes LEDs em série com uma bateria poderíamos representar como: 
Curso de Introdução ao Arduino 7 
 
 
Se ligássemos as resistências em paralelo e utilizando uma bateria como fonte de tensão, 
poderíamos representar como: 
 
 
LED (Light Emitter Diode) 
O led é um dispositivo que permite a passagem de corrente elétrica em apenas um 
sentido do catodo para o anodo, o LED de 5mm simples precisa de apenas 4mA para e 1,90V 
para ser ligado, com isso podemos ligar vários LEDs em paralelo utilizando a saída digital 
(max 40mA), porém só conseguimos ligar 2 LEDs em série! 
 
 
 
Curso de Introdução ao Arduino 8 
 
 
 
Hello World (Eletrônica) 
 Agora que aprendemos os conceitos iniciais, podemos começar a fazer as nossas 
experiências e assim aplicar todo o conhecimento que ganhamos até aqui. Iremos começar 
com um simples exemplo bem simples, iremos ligar um LED utilizando um botão. 
O botão funciona de maneira muito simples, ele é na verdade uma chave que está sempre 
aberta até que alguém o aperte. Quando isso acontece, ele vai deixar fluir corrente por 
todas as suas quatro “pernas” permitindo, por exemplo, controlar se vai passar corrente em 
um local ou não! 
 
O mesmo é utilizado em uma infinidade de eletrodomésticos e eletrônicos, a única 
diferença é que a empresa coloca uma capa neste botão para poder deixa-lo mais 
“amigável”. 
Montagem do circuito para acender o LED: 
 
 
 
 
Curso de Introdução ao Arduino 9 
 
Exercícios Propostos 
1. Ligue dois LEDs em série. 
2. Ligue 4 LEDs em paralelo. 
3. Porque não é possível ligar 3 LEDs em série? 
4. Quantos LEDs são possíveis ligar em paralelo? (quantidade teórica) 
 
Programação 
 Neste momento vocês já conseguem ligar um LED apertando um botão, mas seria 
mais interessante ligar o LED a partir de um sensor mesmo quando nós bem entendermos, 
concordam? Para isso precisamos da ajuda da programação. 
 A Programação que o Arduino utiliza é uma espécie de programação clássica bem 
diferente da utilizada no NXT, é composto apenas linhas de código, essas são baseados em 
uma linguagem chamada C++, que nasceu na década de 80 e que até hoje é uma das 
linguagens mais “faladas” no mundo da computação, pelos seguintes motivos: 
 Rápida; 
 Fácil Uso; 
 Portável (aceito em Linux, Windows, Mac e outras plataformas); 
 Aceita em chips e microcontroladores (Esse é o nosso caso!); 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 10 
 
 
 
 
TIPO DE DADOS 
 Vamos Começar Falando sobre os tipos de dados, que nada mais são que as variáveis 
ou onde você vai poder armazenar seus dados. Neste curso trataremos apenas de 4 tipos de 
dados: um para tratar de números inteiros, dois para tratar de números não inteiros e um 
para caracteres. 
 
 
 
TIPO INT 
Para armazenar valores inteiros utilizamos o tipo ‘int’, com ele conseguimos armazenar 
números entre -32.768 até 32.767, ou seja, de até . Existem várias maneiras de 
iniciar uma variável, a seguir serão expostos alguns exemplos: 
 
 
TIPO DOUBLE / FLOAT 
O ‘double’ e o ‘float’ utilizados para armazenar números não inteiros, no caso do arduino os 
dois tipos significam exatamente a mesma coisa, na verdade, o hardware do arduino 
permite existir apenas o tipo Float, porém muitos programadores tem o habito de utilizar o 
tipo double quando programam em JAVA, C, C# entre outras linguagens pois com ele é 
possível armazenar um número com o dobro de precisão que o float a custo de um maior 
consumo damemória RAM do computador, então para satisfazer esse público o Arduino 
colocou o tipo double em sua sintaxe. Exemplo de utilização: 
 
 
Curso de Introdução ao Arduino 11 
 
TIPO CHAR 
O tipo ‘char’ é utilizado para armazenar um caractere, com ele podemos armazenar 
símbolos do teclado segundo a tabela ASCII. 
Reparem que esta tabela correlaciona números inteiros, binários e hexadecimais com letras, 
o que quer dizer que o computador não entende o que é uma letra, ele na verdade 
consegue ler um binário ou um hexadecimal e traduz isso para uma letra, de maneira que 
possamos ler. Além disso, é possível inicializar letras como números, utilizando essa tabela: 
 
Segundo essa tabela, as duas linhas de código acima significam a mesma coisa. 
 
 
 
 
 
 
Curso de Introdução ao Arduino 12 
 
COMO FUNCIONA O CÓDIGO DO ARDUINO? 
 
Na programação do Arduino, nós podemos separar o código em três trechos bem 
definidos como é mostrado na imagem acima. 
PRIMEIRA PARTE: 
A primeira parte é onde normalmente as variáveis são inicializadas, caso você 
inicialize as variáveis neste ponto, você pode utiliza-las em qualquer parte do código 
chamamos isso de variáveis globais. 
 Além das variáveis, é possível adicionar nesta parte do código as bibliotecas que 
ajudarão a utilizar outros dispositivos e assim facilitará a nossa vida ao programar, este 
assunto abordaremos mais a frente neste curso. 
Obs.: Não é possível colocar qualquer tipo de comando para o Arduino executar 
nesta parte de código. 
SEGUNDA PARTE: 
A segunda parte do código é onde você normalmente configura o Arduino, é o local 
que você deve informar ao microcontrolador quais portas você irá no seu projeto e se ele 
está servindo como saída de dados ou entrada de dados. 
QUAIS DISPOSITIVOS A SEGUIR É ENTRADAS (INPUT) E QUAIS SÃO DE SAÍDAS (OUTPUT) DE DADOS? 
1. Um sensor de temperatura 
2. Um botão 
3. Um LED 
4. Um sensor de toque 
5. Uma tela LCD 
6. Uma caixa de som 
7. Um ventilador 
 
Curso de Introdução ao Arduino 13 
 
Nesta parte de código, o Arduino passará lendo apenas uma única vez, então você 
deve colocar o que acha interessante para este caso. Existe um exemplo clássico que é de 
fácil observação dentro das nossas casas, muitos eletrodomésticos assim que são ligados na 
energia elétrica dão um “beep” para indicar que estão funcionando corretamente ou 
simplesmente para avisar que estão ligados. 
TERCEIRA PARTE 
Esta será a parte em que deverá conter o seu algoritmo, quando o arduino começa a 
ler este trecho, ele entra em um loop infinito e não sai mais da parte do código até que a 
energia seja cortada ou se o botão do RESET seja pressionado. Todos os micros 
controladores fazem isso, por exemplo, a sua TV tem um sensor de infravermelho (módulo 
bluetooth nas mais modernas) que fica esperando vir o sinal de seu controle remoto, na 
verdade ele fica “rodando” um código em loop infinito de leitura do sensor infravermelho. 
Neste trecho do código é possível inserir absolutamente tudo: comandos, 
inicialização de variáveis e alocação de pinos do Arduino. 
Hello World (Controlado pelo Arduino) 
 Agora que aprendemos para que serve cada parte do código do arduino podemos 
dar prosseguimento com o nosso curso. Vamos introduzir alguns comandos importantes 
para essa etapa. 
INICIANDO OS PINOS DE ENTRADA E SAÍDA 
Toda vez que queremos utilizar os pinos digitais do arduino, devemos dizer para ele 
se iremos utiliza-los como entrada ou se queremos utiliza-los como saída. Para fazermos 
isso basta digitarmos algo como a imagem abaixo: 
 
 
A sintaxe funciona de seguinte maneira: 
pinMode([número da porta correspondente], [INPUT ou OUTPUT]); 
É de boa prática de programação que ao invés de colocar um número no local que é 
para informar a porta deseja usar, colocar uma variável nomeada contendo o número, como 
podemos observar o exemplo do inicio da seção “Como funciona o código do Arduino”. 
Obs.: Não se esqueça do “ponto e virgula” no final de cada comando que você der, isso vem 
da herança da linguagem C++ que utiliza este caractere para dizer ao compilador do 
programa que o comando acabou. Em C++ a sintaxe é do tipo Case Sensitive, o que significa 
Curso de Introdução ao Arduino 14 
 
que para ele a variável “int Arduino;” é diferente da variável “int arduino;” sendo assim, 
tome bastante cuidado na sintaxe, pois é fácil confundir pinmode ao invés de pinMode. 
O DELAY 
O comando de delay() é muito utilizado nos projetos do arduino, com ele podemos 
dizer por quanto tempo tal ação será executada. Tudo o que ele faz é travar o processador 
em um loop até que complete certa quantidade de tempo. O comando delay é contado em 
milissegundos, ou seja, se eu quero parar o meu processador durante um tempo de meio 
segundo, podemos escrever: 
 
O DIGITALWRITE 
 O comando digitalWrite() serve para energizarmos os pinos digitais ou não. Esse 
comando será o responsável pelo controle de quase tudo dentro do seu código, para que 
funcione é necessário dizer em qual pino está querendo “escrever” e se deseja liga-lo ou 
desliga-lo (HIGH ou LOW). Por exemplo: 
 
Neste exemplo estamos dizendo para o arduino para ligar o pino onde está o led1. 
 
Agora estamos dizendo ao arduino para desligar o pino onde está localizado o led1 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 15 
 
PRÁTICA 
Vamos começar montando o circuito mais simples possível, ligaremos apenas um LED ao 
pino digital 8, em série com um resistor de 440, como é ilustrado na figura a seguir. 
 
Lembre-se que a posição do resistor não é importante, ele pode estar à frente do LED ou 
atrás do LED no circuito. 
O código a seguir vai fazer com que o LED acenda e apague a cada meio segundo: 
 
Agora que digitou o código basta apertar na tecla e dar o upload 
no Arduino. Caso tenha dado algum erro, verifique se o Arduino está 
selecionado na porta certa clicando em Tools > Serial Port, verifique 
também se em Board está selecionada a versão do Arduino que você 
está utilizando. 
Curso de Introdução ao Arduino 16 
 
Exercícios Propostos 
1. Faça 3 LEDs ligarem em sequência. 
2. Faça uma simulação de um cruzamento de transito, utilizando os LEDs de cor 
vermelha, verde e amarelo. 
 
 
 
 
 
 
 
 
 
 
Parabéns você foi introduzido à programação e a eletrônica 
utilizando o Arduino!!! 
 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 17 
 
 
 
 
 
 
 
PARTE 2 – SINAL ANALÓGICO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 18 
 
O SINAL ANALÓGICO 
 Como foi comentado durante a parte introdutória desta apostila, o sinal analógico 
pode assumir valores diferentes de 0 ou 1, sendo assim o arduino trabalha com um 
conversor analógico / digital que faz com que entre um sinal de 0 a 5 volts e ele transforme 
em um número entre 0 e 1023. 
 
 Então com isso podemos ter até 1024 opções para descrever valores de 0 até 5 Volts 
com o arduino. Graças a isso podemos utilizar sensores no arduino, porque em geral tudo o 
que um sensor faz é variar a sua resistência ou a sua impedância sobre a corrente. 
Você pode pensar... Bom, se estamos falando que ele lê a tensão de 0 a 5 Volts, então 
significa que o Arduino pode atuar como um voltímetro? E a resposta é SIM! As portas 
analógicas podem sim atuar como voltímetro, com a restrição que ele precisa estar dentro 
de um range (faixa) de tensão de até 5V, caso ultrapasse isso você pode queimar o arduino, 
então tome cuidado antes de plugar o fio neste local. 
Casoprecise medir uma tensão em um circuito que tenha mais do que 5V deverá construir 
um circuito divisor de tensão assunto importante dentro do “mundo” da eletricidade e de 
fácil implementação e aplicação. 
Já que estamos falando sobre a variação de tensão em um circuito, podemos falar sobre um 
resistor que é capaz de variar a sua resistência, chamado de POTÊNCIOMETRO. 
 
 
 
 
 
Curso de Introdução ao Arduino 19 
 
Potenciômetro 
O potenciômetro é um elemento muito difundido em todos os ramos da eletrônica e muito 
fácil de ser encontrado em nossa volta. Por exemplo observe o que cada um destes 
produtos tem em comum: 
 
 
 O que há por trás destes botões circulares é um potenciômetro, ele que faz com que você 
tenha um ajuste fino sobre alguma coisa. O potenciômetro também é muito estudado junto 
com a aula de física em eletricidade, o representamos desenhando da seguinte maneira: 
 
O potenciômetro que utilizaremos durante as nossas aulas será o potenciômetro linear, 
pois a sua resistência varia linearmente com o ângulo com que giramos o cursor. 
 
 
 
Curso de Introdução ao Arduino 20 
 
Vamos fazer o primeiro teste com este elemento um LED e um resistor. Iremos variar a 
potência do LED apenas variando a posição do pino do potenciômetro. Observe o circuito 
montado abaixo: 
 
Obs.: Daqui para frente, não será mais colocado o arduino dentro no desenho quando não 
for utilizado alguma das portas de comunicação, podemos observar onde sendo utilizado o 
5V ou o GND pela cor dos fios. 
Exercícios Propostos 
1. Por que colocamos a resistência junto ao potenciômetro se ele já é uma 
resistência? 
2. Desenhe o esquema do circuito acima. 
 
 
MULTÍMETRO 
 O multímetro é um aparelho capaz de realizar medições em um circuito elétrico. 
Neste curso ele será fundamental ter fluidez em seu manuseio, com ele iremos medir a 
Tensão, Corrente e a resistência. 
 
Curso de Introdução ao Arduino 21 
 
 Para utilizarmos ele como se fosse um voltímetro, primeiramente verifique se a 
ponteira vermelha está ligada ao orifício que contem o símbolo V e a preta está no orifício 
do COM, agora basta inseri-lo no circuito em paralelo com o que gostaríamos de medir. 
 
 Para utilizarmos o multímetro como um amperímetro, primeiramente verifique se a 
ponteira vermelha está ligada ao orifício que está escrito a quantidade máxima de ampère 
suportada e a preta no orifício escrito COM, agora basta ligar este fio em série com a parte 
do circuito que gostaria de medir. 
 
 Para utilizarmos o multímetro como um ohmímetro, primeiramente verifique se a 
ponteira vermelha está ligada ao orifício com o símbolo  e o preto no orifício escrito COM, 
agora basta ligar essas duas pernas em série com o dispositivo que deseja medir a 
resistência. 
OBS.: NUNCA MEDIR A RESISTÊNCIA EM UM CIRCUITO ENERGIZADO, CASO FAÇA ISSO 
PODERÁ QUEIMAR O APARELHO!!! 
 
 
 
Curso de Introdução ao Arduino 22 
 
Exercícios Propostos 
 
Com o multímetro, faça as seguintes medições: 
1. A tensão sobre o resistor R2; 
2. A corrente que passa pelo circuito; 
3. A resistência efetiva destes resistores. 
A PORTA ANALÓGICA 
 A porta analógica do arduino se comporta como um voltímetro, porém não temos a 
presença de dois fios como é utilizado o voltímetro normalmente, isso ocorre porque o 
arduino deixa a “perna” do negativo aterrada, ou seja, na referencia de 0. Se formos medir a 
tensão do resistor R2 como mostrado na imagem acima ficaria: 
 
 Esta porta é capaz apenas de medir tensões apenas de 0 até 5 V, transformando a 
tensão medida em um número de 0 até 1023 proporcionalmente. O responsável por esta 
medida é o conversor analógico/digital. 
A sintaxe para ler a porta analógica é: 
 analogRead(Porta); 
No arduino UNO podemos ler as seguintes portas: A0 / A1 / A2 / A3 / A4 / A5. 
Curso de Introdução ao Arduino 23 
 
Com esta porta também podemos “escrever” ,ou seja, mandar um sinal. Diferentemente da 
leitura (que é puramente analógica), quando mandamos um sinal diferente de HIGH e LOW 
ele na verdade irá fazer um PWM para representar tal sinal analógico. Sua sintaxe será: 
 analogWrite(Porta, Tensão gerada (0 até 1023)); 
PRÁTICA 
Agora iremos controlar a velocidade que o LED irá piscar utilizando um potenciômetro, um 
arduino, um resistor e alguns cabos. 
 
OBS.: Colocamos o resistor em série com o potenciômetro apenas para evitar o curto circuito caso giremos o 
cursor até a resistência zero. 
PROGRAMANDO 
 
Observações: 
Neste código foram utilizadas constantes para descrever o led e o pot, logo não é possível 
reescrever estas variáveis durante o código. 
Curso de Introdução ao Arduino 24 
 
Quando utilizamos as portas analógicas não é preciso declarar que estamos utilizando-as no 
trecho do void setup. 
O comando ‘if’ (comando de seleção) 
O comando de seleção if é um dos mais utilizados na programação estruturada, utilizamos 
ele para fazer a decisão entre dois casos distintos ou até mesmo buscando por uma 
condição distinta das demais. Com ele podemos filtrar coisas como: o botão está ou não 
apertado, se o sensor está marcando um valor acima ou abaixo de um determinado valor, 
entre outros. 
Sua sintaxe é bem simples: 
if(condição) 
{ 
... 
} 
else 
{ 
... 
} 
No caso de uma condição determinada (não dual), é possível suprimir o else e selecionar 
apenas um caso. 
OPERADORES 
Para fazer o controle das condições que queremos impor, devemos utilizar os operadores, a 
seguir é encontrada uma lista de operadores que podemos utilizar: 
Operador Função 
== Igual à 
!= Diferente de 
> Maior que 
< Menor que 
>= Maior ou igual que 
<= Menor ou igual que 
% Resto da divisão 
|| Or 
&& And 
 
 
 
 
Curso de Introdução ao Arduino 25 
 
A seguir estão ilustrados alguns exemplos de utilização deste comando: 
 
Os comandos ‘or’ e o ‘and’ fazem com que seja possível a sobre carga do comando if, ou 
seja, com ele podemos testar mais de uma condição. Por exemplo: 
 
 
No primeiro exemplo, ele irá assumir como verdade se qualquer um dos casos der 
verdadeiro. No segundo, ele irá assumir como verdade se e somente se os dois casos forem 
verdadeiros. 
PRÁTICA 1 
Neste experimento iremos acender o LED através de um botão, porém controlado pelo 
arduino. Monte o circuito abaixo: 
 
 
 
Para lermos o estado do botão utilizaremos o comando digitalRead(), este comando serve 
para ler o estado das portas digitais, ou seja, se elas estão recebendo LOW ou HIGH. 
Sua sintaxe é: 
 
digitalRead(Número da Porta Digital); 
 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 26 
 
 
 
PROGRAMANDO 
 
PRÁTICA 2 
Neste exemplo prático, vamos detectar se o potenciômetro está tendendo para a esquerda 
ou para a direita. Tudo o que iremos fazer é ler a tensão em cima de um potenciômetro com 
a porta analógica pegando o número 1023 (5V) e dividir por 2, ou seja, 511 (2,5V), se for 
maior do que 511 o LED ‘D1’ irá acender, caso contrário o LED ‘D2’ irá acender. 
 
Tome como exercício, criar o circuito desenhado acima na protoboard. 
Obs.: tome cuidado para não deixar o potenciômetro chegar à resistência igual a zero. 
 
 
 
Curso de Introdução ao Arduino 27 
 
 
PROGRAMANDO 
 
 
Repare que não é preciso dizer que o caso contrário da condição é <= 511, ele já subentende 
isso. 
A Conexão Serial 
A conexão serial é a forma em que o Arduino se conecta com os periféricos, ou seja, é 
através dele que podemos enviar mensagens para o computador representando dados 
obtidos, podemos assim então criarVoltímetros, Termômetros, dentre outros. 
Para iniciar uma conexão serial é necessário dizer a taxa de velocidade de transferência de 
bits para o periférico que irá receber estas informações, o valor mais utilizado é o de 9600, 
porém o arduino é capaz de trabalhar nas velocidade de: 300, 600, 1200, 2400, 4800, 9600, 
14400, 19200, 28800, 38400, 57600, ou 115200. Caso um dia você vir a programar o arduino 
para receber dados nos 115200, porém alguns modelos ainda trabalham na taxa de 57600. 
A sintaxe para abrir uma conexão serial é: 
Serial.begin(Velocidade de taxa de transferência); 
Você deve iniciar esta configuração dentro de void setup(). 
Para enviar uma mensagem através do serial devemos utilizar a seguinte sintaxe: 
Serial.print(“Escreva aqui uma frase”); 
Serial.print(variável); 
Curso de Introdução ao Arduino 28 
 
Serial.println(“Vai pular uma linha”); 
Podemos também ler dados do usuário, escritos pelo teclado: 
Serial.read(); 
Exemplo: 
int dados = Serial.read(); 
Exercícios: 
1. Faça um programa para deixar o usuário decidir qual LED deseja ligar. 
 
O LDR (Light Dependet Resistor) 
O LDR em português Resistor Dependente de Luz ou Fotoresistência é um componente 
eletrônico passivo do tipo resistor variável, mais especificamente, é um resistor cuja 
resistência varia conforme a intensidade da luz que incide sobre ele. Tipicamente, à medida 
que a intensidade da luz aumenta a sua resistência diminui. 
 
Como a sua resistência varia com a luminosidade do meio ambiente, podemos utiliza-lo 
como um sensor de luminosidade, possibilitando fazer um universo de projetos. Como por 
exemplo: 
Curso de Introdução ao Arduino 29 
 
 
 
O LDR, embora varie a sua resistência com a luminosidade (Lux) ele não é linear, por tanto, 
não podemos fazer uma regra de 3 para dizer diretamente a sua resistência e a quantidade 
de Lux que ele está medindo. 
PRÁTICA 
 
 
PROGRAMANDO 
Agora iremos fazer um programa de leitura dos dados do LDR, utilizando a comunicação 
analógica, e assim testar o seu funcionamento. 
 
Curso de Introdução ao Arduino 30 
 
Exercícios: 
2. Faça a medição da queda de tensão em cima do LDR. 
3. Faça um LED acender caso não tenha luminosidade o suficiente. 
 
DICAS ex.1: Conversor analógico digital tem 10 bits de resolução, ou seja, ele pega a tensão de 0 a 5V e 
transforma em um número de 0 a 1023. 
Ex.2: Utilize o comando ‘if’. 
 
 
O Piezoelétrico 
O Piezoelétrico é um dos mais interessantes componentes elétricos que podemos 
encontrar no mercado, suas aplicações são praticamente infinitas, podemos encontra-los 
em sensores de toque, alarmes, caixa de som, ultrassom hospitalar, fones de ouvido, dentre 
outros. 
 
 
O piezoelétrico é capaz de gerar energia, chamada piezo eletricidade, ela se dá 
quando seus cristais são pressionados assim gerando uma DDP alta, porém momentânea, 
por este motivo ele é considerado o menor gerador de energia do mundo. Por outro lado, se 
passamos uma corrente pelos cristais ele gera ondas mecânicas de mesma frequência que 
pulsamos nela. 
Neste momento nos interessa apenas utiliza-lo como um emissor de som, conhecido 
como Buzzer, seu símbolo em um circuito é este. 
 
Curso de Introdução ao Arduino 31 
 
PRÁTICA 
O funcionamento do Buzzer é muito simples, basta aplicar uma corrente em uma 
determinada frequência em seus terminais que ele começa a emitir sons. A resistência 
colocada em série com ele fará controlar a potência do dispositivo. 
 
OBS.: Tome cuidado com o lado positivo e negativo do buzzer, a perna com maior comprimento é o polo 
positivo. 
PROGRAMANDO 
O arduino já possui uma função para gerar os pulsos elétricos chamada de tone, sua 
sintaxe funciona da seguinte maneira: 
tone(Porta Digital, Frequência a ser emitida); 
Devemos também desligar o Buzzer, com a função noTone, neste caso devemos apenas 
informar o número da porta que está sendo parada. 
noTone(Porta Digital); 
Desta maneira conseguimos “escrever” musicas com o buzzer, associar determinada nota 
musical com determinada frequência, criar teclados eletrônicos utilizando botões, etc. 
 
 
 
Curso de Introdução ao Arduino 32 
 
Exercício Proposto 
Construa um pequeno teclado utilizando apenas 3 botões e o buzzer. 
 
O comando ‘for’ (comando de repetição) 
O comando ‘for’ é o comando responsável pela repetição, com ele podemos contar 
ciclos, criar condições para repetição e modificar variáveis a cada ciclo. A seguir será exibido 
um exemplo do uso do comando for. 
 
for( int i = 0 ; i < 10 ; i ++ ) 
{ 
 ... 3ª Parte 
} 2ª Parte 
 1ª Parte 
 
 O comando ‘for’ é separado em 3 partes distintas, como podemos observar no 
esquema ilustrado acima. A primeira parte é onde inicializamos as variáveis que serão 
utilizadas para a contagem de ciclos, ou apenas “setamos” a variável como um valor inicial. 
A segunda parte colocamos a restrição de parada para a contagem. Finalmente, a terceira 
parte devemos inserir o passo em que o número irá crescer. 
Obs.: i++; significa o mesmo que escrever i = i + 1; 
 
EXEMPLO 
Podemos fazer varios LEDs piscarem em sequência utilizando o comando for de uma 
maneira muito mais rápida do que a forma que fazíamos até este momento, como podemos 
notar no exemplo abaixo. 
Imagine que temos vários LEDs associados às portas digitais do arduino, logo podemos ter 
ao total 14 LEDs trabalhando independentemente um do outro, então para ligar uma 
sequência de LEDs podemos utilizar o comando de repetição ‘for’ e isso irá facilitar muito o 
nosso trabalho. 
Curso de Introdução ao Arduino 33 
 
 
Repare como o comando de repetição foi útil nesta linha de código. Estamos controlando 14 
LEDs com pouquíssimas linhas de código. 
Exercício Proposto 
1. Faça 5 LEDs piscarem em sequencia 
2. Faça com que a frequência do buzzer varie com o passar do tempo, utilizando o 
espectro de audição humana que vai de 20hz até 20000hz. 
Dica: Ex.1: Coloque os LEDs em sequência também nos pinos do arduino. 
Utilizando o PWM. 
Como foi comentado anteriormente o PWM é uma técnica que consiste em fornecer um 
sinal analógico através de meios digitais. A forma de onda do sinal digital consiste em uma 
onda quadrada que alterna o seu estado de nível lógico alto e um nível lógico baixo. 
No arduino UNO, as portas digitais que permitem PWM são as portas 3,5,6,9,10,11. Essas 
portas são identificadas pelo símbolo “~” abaixo de cada porta. A resolução desta porta é de 
8 bits, ou seja, o que nos dá a resolução de 256 possibilidade. Portanto, novamente 
caímos numa regra de 3, por exemplo: 
 
 
Obtemos que y = 153. 
A sintaxe para a utilização do PWM é: 
analogWrite(porta, numero correspondente a tensão gerada); 
Curso de Introdução ao Arduino 34 
 
Com essa técnica abrimos uma infinidade de possibilidades. Normalmente utilizamos essa 
técnica para controlar a potência dos componentes e dispositivos, por exemplo: LEDs, 
motores DC, dentre outros. 
 
PRÁTICA 
Vamos controlar a potência de um LED utilizando o PWM e o comando ‘for’. O circuito será 
composto apenas por um LED e um resistor. Mas antes, iremos aprender a ler a resistência 
dos resistores, através das cores dele. 
A leitura dele é de acordo com a imagem mostrada abaixo. 
 
O resistor mostrado na figura acima tem a resistência de 5600 280, ou seja, ele pode ter o 
seu valor entre 5320 e 5880. 
Agora, daremos prosseguimento a nossa prática. Faça umcircuito contendo apenas um 
resistor de 330 Ohms em série com um LED ligado em uma das portas digitais com o 
símbolo ‘~’. 
 
 
 
 
Curso de Introdução ao Arduino 35 
 
 
 
 
PROGRAMAÇÃO 
Agora faremos este LED “pulsar”, aumentando e diminuindo o brilho aos poucos utilizando 
o PWM. 
 
EXERCÍCIO 
Faça a potencia do LED variar de acordo com a luminosidade da sala. 
Comentários na programação 
Os comentários em linhas de códigos são muito importantes para que o leitor saiba o que 
aquele trecho de código está fazendo, ou o que o autor do código pretende criar com o que 
foi digitado, é também utilizado para testar trechos de linhas de programação. Como a 
programação do Arduino é baseada em C, então ele herdou a sintaxe dos comentários, que 
podem ser utilizados de duas formas diferentes: 
1. Utilizando barras duplas: // 
2. Utilizando barra + asterisco para abrir e asterisco + barra para fechar: /* texto */ 
 
 
 
 
Curso de Introdução ao Arduino 36 
 
 
 
 
 
 
 
EXEMPLO 
Se o código acima fosse comentado, o leitor não precisaria ficar decifrando o que o autor 
pretende fazer com o mesmo: 
 
 
O comando ‘while’ (comando de repetição) 
Uma outra forma de iteração (repetição) em C é o while. While executa uma comparação 
com a variável. Se a comparação for verdadeira, ele executa o bloco de instruções ‘{ }’ ou 
apenas a próxima linha de código logo abaixo. 
O While pode ser utilizado para diversos tipos de programas, como por exemplo, se o 
Arduino está utilizando um sensor de temperatura (como o LM35), se a temperatura estiver 
acima de um certo limite estipulado você pode ligar o ar condicionado e ficar detectando a 
Curso de Introdução ao Arduino 37 
 
temperatura do ambiente até que a temperatura torne a ficar mais baixa e assim desligar o 
ar condicionado para poupar energia. 
A seguir será exibido um exemplo de utilização do código: 
 
 
 
EXEMPLO: 
 
O Sensor de Temperatura (LM35) 
O LM35 é um dos sensores de temperatura mais utilizados no mundo para medir 
temperatura ambiente, isso porque ele tem a característica de ser linear dentro da faixa de 
valor deste nível de temperatura, para temperaturas maiores que 70°C e menores do que 
5°C ele começa a ter uma distorção maior do resultado podendo chegar até 4°C, porém 
sua distorção de dados máxima em 25°C é de apenas 0,5°C. 
Curso de Introdução ao Arduino 38 
 
 
obs.: Este dispositivo possui uma constante de conversão para graus Celsius 
Constante = 0.4887585532746823069403714565 
 
 
 
 
Prática 
O LM35 possui três terminais e podemos medir a temperatura do ambiente sem precisar de 
outro componente eletrônico para isso. Por tanto: 
 
 
 
 
Curso de Introdução ao Arduino 39 
 
Programando 
 
Exercícios 
1. Faça uma escala de cores com 3 níveis de temperaturas possíveis. 
2. Quando chegar em uma temperatura considerada perigosa ao ser humano, toque 
um alerta utilizando o buzzer, fazendo o som partir do mais grave ao mais agudo. 
Transistores 
A invenção do transistor foi um marco para a engenharia elétrica e eletrônica, assim 
como para toda humanidade. Com o desenvolvimento dos transistores foi possível a 
construção de equipamentos eletrônicos verdadeiramente portáteis funcionando apenas 
com pilhas ou baterias. Além disso, o reduzido volume destes componentes a possibilidade 
de associação para implementar funções analógicas ou digitais, das mais diversas, 
proporcionou um desenvolvimento sem igual na indústria de equipamentos 
eletroeletrônicos. 
Este dispositivo é utilizado para que com uma corrente com o nível de sinal (tensão 
baixa e corrente baixa) seja possível controlar tensões e correntes muito maiores, tal 
característica é conhecida como o ganho. O único inconveniente do transistor é que ele não 
pode ser utilizado junto à corrente alternada, por isso é muito comum encontra-lo dentro 
de impressoras, aparelho de DVD, computadores, micro-ondas, pois estes só trabalham em 
corrente contínua. 
CONCEITOS: 
O transistor bipolar é um dispositivo semicondutor de 3 terminais, no qual uma pequena 
corrente em um terminal pode controlar uma corrente muito maior que flui entre o 
segundo e o terceiro terminal. Isto significa que o transistor bipolar pode funcionar tanto 
como amplificador (de corrente) quanto como interruptor (chave). 
Curso de Introdução ao Arduino 40 
 
O Transistor é basicamente constituído de três camadas de materiais semicondutores, 
formando as junções NPN ou PNP. Essas junções recebem um encapsulamento adequado, 
conforme o tipo de aplicação e a ligação de três terminais para conexões externas. 
A seguir será exibido a configuração de um transistor TIP122 (NPN), muito utilizado para 
controlar motores e correntes de até 8 A. 
 
 
Como foi dito anteriormente o transistor possui três terminais: 
1. Base; 
2. Coletor; 
3. Emissor; 
No transistor NPN, o coletor deve estar mais positivo do que o emissor. Repare a 
presença de um diodo voltado para o lado do coletor, isso significa que se o emissor 
estivesse mais positivo do que o coletor, a corrente fluiria direto por ali e passaria pelo 
transistor como se nada tivesse ocorrido. 
O terminal da base será onde você irá controlar o transistor através de um sinal. Se 
deixar passar um sinal HIGH, o transistor deixará passar a corrente do coletor para o 
emissor. 
Agora iremos exibir um transistor do tipo PNP de nome TIP127, possui as características 
físicas muito parecidas com as do TIP122, porém não se engane ele irá funcionar de maneira 
reversa ao TIP122. 
Curso de Introdução ao Arduino 41 
 
 
A configuração dos terminais é exatamente a mesma, porém o esquema elétrico é invertido, 
repare que o diodo que foi comentado anteriormente está agora voltado para baixo, o que 
significa que para ele funcionar o Emissor deve estar com o potencial maior do que o 
coletor. 
Além disso, a base funciona de maneira reversa também, se injetamos uma tensão sobre 
ela, o transistor não deixará passar corrente do emissor para o coletor, ou seja, se 
quisermos deixar corrente sobre o transistor, devemos deixar a base em estado LOW. 
O símbolo de um transistor no circuito é: 
 
 
 
 
 Para um transistor NPN Para o transistor PNP 
 
OBSERVAÇÕES: 
Quando uma determinada corrente passa sobre transistor, faz o decaimento típico de 0,7V 
devido ao comportamento típico nos transistores feitos de Silício, caso o silício seja feito de 
Germânio o seu decaimento típico será de 0,3V. 
POLARIZAÇÃO DO CIRCUITO 
A seguir, iremos entender como polarizar o circuito, isso significa que agora iremos poder 
controlar a corrente que irá passar pelo transistor. 
O TIP122, tem o ganho típico de 100 vezes a corrente, ou seja, se passamos uma corrente de 
20mA na base do transistor, ele irá deixar fluir do coletor até o emissor 2A de corrente 
Curso de Introdução ao Arduino 42 
 
Exemplo: 
 
 
Como o ganho é de 100 vezes, então deve ser 100 vezes maior do que o , supondo que 
é um motor que precisa de 1A para funcionar. Ou seja: 
 
 
 
 
 
Portanto, agora devemos apenas definir qual o resistor R1 para que passe os 10mA na base 
do transistor NPN. Lembre-se que o arduino gera 5V nas suas saídas digitais e o transistor 
tem uma queda de 0,7V tipicamente. 
 
 
 
Prática 
Vamos agora ligar um motor DC utilizando o transistor NPN e duas pilhas. 
 
Curso de Introdução ao Arduino 43 
 
 
Programando 
 
Exercício 
1. Junte comoutra pessoa que tenha um Kit e faça um protótipo de controle de um 
carrinho, utilize o potenciômetro para controlar a direção que o carrinho iria seguir 
através do controle da potencia destes motores (PWM), por exemplo, caso vire o 
potenciômetro totalmente para a esquerda ele ligaria acionar apenas um dos 
motores, caso coloque 20% virado para a direita, um motor estaria trabalhando a 
80% da potencia enquanto o outro estaria trabalhando a 20% da potencia máxima, 
desta maneira fazendo uma curva mais suave. 
 
 
 
Curso de Introdução ao Arduino 44 
 
O Relé / Relay / Relê 
O Relé é um dos primeiros dispositivos eletromecânicos criados, ele é chamado de um 
dispositivo eletromecânico, pois tem uma parte que funciona à eletricidade e outra parte 
que funciona mecanicamente. Seu interior possui uma bobina, uma mola, um material 
eletromagnético, uma chave, e alguns terminais. 
Este dispositivo é geralmente utilizado quando se quer controlar outro tipo de corrente 
elétrica mais forte, a partir de uma corrente mais baixa, como é fornecida pelo arduino que 
pode ser considerada como um sinal. Portanto, em geral inserimos o relé no circuito para 
controlar algum dispositivo que funciona a corrente alternada, desta maneira podemos 
controlar: ventiladores, ar condicionados, lâmpadas de casa, dentre outros. 
O símbolo do rele no circuito é: 
 
COMO FUNCIONA O RELÉ INTERNAMENTE? 
O relé é um item eletromecânico, ou seja, tem parte elétrica e parte mecânica. Quando 
energizamos o relé com um sinal utilizando os terminais corretos, ele irá passar corrente por 
uma bobina, dentro dessa bobina irá fluir um campo eletromagnético que irá atrair a 
chapinha do contato, desta forma comutando para o terminal normalmente aberto (NA). 
Quando não passamos corrente pelos terminais, não existe o campo eletromagnético e 
assim irá comutar para o terminal normalmente fechado(NF). 
 
 
 
Curso de Introdução ao Arduino 45 
 
Como acionar o relé SEM “modulo relé” 
 
 
Tudo o que você irá precisar é de algo que gere uma corrente e uma tensão em cima da 
bobina do relé, não é recomendado que você ligue esta bobina diretamente por uma porta 
digital, pois quando você desliga a bobina você irá gerar uma corrente de fuga (corrente 
parasita/ corrente induzida) no sentido contrário a variação de corrente e com um valor 
muito alto, assim havendo uma boa possibilidade de queimar a sua porta do arduino. 
Para acionar, você irá precisar da ajuda do transistor, ele irá proteger o arduino. Além disso, 
é preciso um diodo para poder drenar essa corrente de fuga. 
Logo para controlar o relé, você irá acionar o transistor, quando acionar o transistor ele irá 
permitir a passagem de corrente do coletor para a base, quando isso acontecer o relé irá 
comutar os terminais. 
 Como utilizar o Módulo Rele 
Caso você tenha um modulo rele, ele já deixa pronto todo esse circuito descrito acima, tudo 
o que você irá fazer é ligar o 5V, o GND, e um pino digital. Quando você ligar este pino 
digital ele irá comutar os terminais do relé. 
 
 
 
Curso de Introdução ao Arduino 46 
 
Exercício 
1. Faça uma lâmpada acender a partir da porta digital. 
2. Utilize o LM35 para monitorar o calor que está em sala de aula, caso passe de um 
determinado nível faça ligar um ventilador de pé. 
3. Faça a lâmpada acender quando um LDR marcar valores acima de um determinado 
nível. 
Display LCD 
 
 
O display LCD funciona de maneira bem simples no arduino, porque ele tem uma biblioteca 
pronta para o funcionamento junto a este dispositivo. Uma biblioteca é um arquivo que 
algum programador criou em que tem o objetivo de facilitar a vida do usuário da biblioteca, 
isso porque ele deixa funções prontas que irão fazer com que o usuário poupe tempo 
escrevendo apenas uma linha de código, caso contrário, o usuário deveria escrever milhares 
de linha de código. A biblioteca utilizada para isso é: 
#include <LiquidCrystal.h> 
Este display LCD possui ao total de 16 pinos bem definidos, ou seja, cada um serve para uma 
coisa. 
 
Curso de Introdução ao Arduino 47 
 
Tudo o que você irá fazer é ligar o LCD desta maneira: 
 
EXEMPLO DE CÓDIGO 
 
Exercício 
1. Faça um voltímetro com o arduino e exiba a tensão no LCD. 
 
 
 
 
 
 
 
Curso de Introdução ao Arduino 48 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parabéns, você concluiu o curso de introdução ao Arduino!!!

Outros materiais