Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila ARDUINO NAS ESCOLAS
Apostila ARDUINO NAS ESCOLAS
Apresentação 5
Introdução 6
Itens Necessários 6
Requisitos de software e hardware: 6
O que vem nos kits disponibilizados? 6
Introdução ao Arduino 9
Introdução à Eletrônica 10
Analogico x Digital 14
Grandezas digitais 14
Caraterísticas de uma Entrada Digital 14
Caraterísticas de uma Saída Digital 14
Características das Saídas Analógicas 14
Características das Entradas Analógicas 15
Saídas PWM 15
Introdução ao Snap! 16
Exemplo 2: Semáforo 21
Exemplo 6: Dado 33
Considerações finais 42
5
Apresentação
Os autores
6
Introdução
Itens Necessários
Requisitos de software e hardware:
Figura 1.5:Resistores
(10 de 220Ω, 10 de 330Ω, 10 de 470Ω, 10 de 1k Ω). Figura 1.6: Potenciômetro
(1 peça).
Introdução ao Arduino
O Arduino UNO é uma boa opção multiuso e uma ótima plataforma de prototipagem versátil e de
baixo custo, de hardware e software abertos, na parte do hardware a placa possui como componente
principal um microcontrolador, na parte do software ele consiste em uma linguagem de programação e
um ambiente de desenvolvimento, e por fim, a comunidade que é composta por um grande número de
pessoas que compartilham seus conhecimentos e projetos na internet, e, dessa forma, disseminam cada
vez mais a plataforma.
A placa Arduino é muito parecida com um computador de pequeno porte. O Arduino UNO
R3, modelo que utilizaremos em nossos projetos, apresenta 14 pinos que podem ser utilizados como
entradas ou saídas digitais (pinos 0 a 13), e os pinos 3, 5, 6, 9, 10 e 11 podem utilizar Pulse Width
Modulation (PWM) para gerar um conjunto de valores inteiros entre 0 e 255.
Os pinos A0 e A5 correspondem às entradas analógicas; esses pinos recebem, de um
dispositivo sensor, como um sensor de luminosidade, entre outros, uma tensão entre 0V e 5V e a
convertem em uma escala de valores entre o 0 e o 1023 que utilizaremos, posteriormente, na
programação. Há também os pinos 3.3V, 5V GND (terra), que permite alimentar os componentes dos
circuitos conectados ao Arduino, os projetos que vão ser desenvolvidos nesta apostila vamos utilizar o
saída de 5V.
Nessa apostila, iremos desenvolver a programação dos projetos com Snap!. Para isso, o
programa Snap4Arduino. Todos os programas que serão utilizados são gratuitos e podem ser baixados
na internet.
10
Introdução à Eletrônica
A construção de projetos com o Arduino envolve o conhecimento básico de eletrônica, pois isso
permitirá a identificação dos componentes que serão utilizados e o entendimento de seu
funcionamento. Sendo assim, preparamos este tópico com conceitos sobre eletrônica, visando um
melhor aproveitamento do curso por vocês alunos.
A eletrônica está fundamentada sobre os conceitos de tensão, corrente e resistência.
Segundo Silva (2013) podemos entender tensão como a diferença de energia estabelecida entre dois
pontos que motiva a movimentação de cargas elétricas, gerando assim a corrente elétrica. Observe na
Figura 1.15 que, como analogia, podemos pensar na água armazenada em dois recipientes conectados
por um cano. A água irá fluir do recipiente com maior quantidade de água para o menor.
Em eletrônica o princípio é o mesmo, por
exemplo, os pólos positivos e negativos de uma pilha
indicam o sentido na qual a corrente elétrica irá fluir.
Desta forma, segundo Silva Júnior (2015) podemos
definir que a corrente elétrica é a movimentação
ordenada de cargas elétricas num condutor. Para fins
de análise, podemos notar na Figura 1.16 que a
corrente elétrica poderá circular em dois sentidos: a)
sentido real, que é resultante do movimento de cargas
negativas ou; b) sentido convencional – resultante do movimento de cargas positivas.
A movimentação das cargas elétricas através do condutor pode encontrar elementos que
oferecem certa resistência a sua passagem. Na figura acima, por exemplo, a resistência a passagem da
corrente elétrica faz com que a lâmpada conceba calor no seu filamento e fique incandescente. É esse
mesmo efeito que permite que a água de um chuveiro seja aquecida ao passar pela resistência.
Para seu melhor entendimento, listamos os três conceitos abaixo:
Corrente elétrica é o movimento ordenado de partículas portadoras de carga elétrica — os
elétrons. Esse fluxo ocorre em um condutor quando houver uma diferença de potencial entre suas
extremidades, essa diferença é chamada tensão. A unidade padrão para medida de intensidade de
corrente é o ampère (A).
Resistência elétrica é a capacidade de um corpo qualquer se opor a passagem de uma
corrente elétrica mesmo quando existe uma diferença de potencial aplicada. Segundo o Sistema
Internacional de Unidades (SI), é medida em ohms (Ω).
11
A tensão elétrica é uma diferença entre o potencial elétrico de dois pontos, ou traduzindo
de uma forma bem simples e comparativa, seria a força necessária para movimentar os elétrons e
criar assim uma corrente elétrica. Segundo o SI, a tensão é medida em volts (V).
Sabendo um pouco sobre estes três conceitos já é possível fazer muitas coisas na área da
eletrônica. Reuniremos então esses três conceitos para aprender como descobrir o valor de cada um.
Os cálculos mostrados abaixo são feitos a partir da 1ª lei de Ohm, que com os valores da
corrente, da tensão e da resistência, consegue realizar os cálculos necessários para a conservação dos
equipamentos que serão utilizados, evitando que sejam danificados.
A primeira fórmula serve para calcular a tensão ( V ), partindo da multiplicação entre a
resistência ( R ) e a corrente ( I ). Para encontrar os valores da Resistência (R) e da corrente (I), a
fórmula torna-se semelhante, mudando apenas a operação.
V =R*I
I = V /R
R = V /I
Para calcular o valor da corrente (I), por exemplo, utilizaremos o valor da tensão (V),
dividido pelo valor da resistência (R), e para calcular o valor da Resistência (R) dividimos a tensão
(V) pela corrente (I).
Para exemplificar tais cálculos traremos um projeto chamado “Piscar LED”. Nele utilizaremos
um resistor, dispositivo elétrico muito utilizado em eletrônica com a finalidade de limitar a corrente
elétrica a um circuito.
Mas e como podemos saber o valor que tem nesse resistor? Para isso cada resistor vem com
uma série de cores especificando valores e seus respectivos resistores, como indicado na Figura 1.17
mostrada abaixo:
12
Para melhor entendermos a figura acima, é importante sabermos que cada cor possui um valor
diferente para um respectivo resistor.
O resistor que utilizaremos no projeto “Piscar LED” tem as cores vermelho, vermelho,
marrom, dourado. Vamos ver o que isso significa? Cada uma dessas faixas tem uma função, a
primeira, por exemplo, que neste caso tem valor (2), indica o primeiro algarismo do valor da
resistência. A segunda, que, neste caso, também tem valor igual a (2), indica o segundo algarismo da
resistência. A terceira faixa nos mostra o terceiro algarismo da resistência, porém nem todos resistores
utilizam esta terceira faixa, como por exemplo os resistores que vão ser utilizados nos projetos desta
apostila. A quarta faixa mostra o multiplicador, neste caso, nos diz para multiplicar por 10, e a quinta
faixa mostra o valor da tolerância. Por último, mas não menos importante, temos no projeto “Piscar
LED” a faixa dourada, que, por ser a última, indica tolerância. Neste exemplo a faixa de tolerância
será de aproximadamente 5% de variação.
Ou seja, se pegarmos as nossas 4 faixas chegaremos à seguinte conclusão: juntando as duas
primeiras faixas (2 com 2) e multiplicando por 10 com variação aproximada de 5% teremos 22x10 =
220Ω, que será o valor do nosso resistor.
Então, se já temos o valor do nosso resistor, podemos encontrar o valor da corrente que
passará no circuito deste projeto.
13
Vamos ver qual vai ser a corrente que vai passar no circuito do primeiro projeto? Bem, a
resistência que está entrando é de 220 Ω e a tensão que está entrando é de 5V.
V 5V
I= R = 220Ω = 0.022 A
Portanto, a corrente que vai estar passando pelo circuito do primeiro projeto vai ser de 0.022
A.
Outro componente que utilizaremos bastante neste projeto será a placa de testes que também
é conhecida como protoboard, ela é ótima para a montagem dos circuitos, particularmente durante a
fase de desenvolvimento de um projeto, pelo fato de ser de fácil a inserção dos componentes, uma vez
que, com seu uso, não é necessário o uso de soldagem.
No layout típico da protoboard (Figura 1.1) existem
faixas de barramentos que são usadas para o fornecimento de
tensão ao circuito, elas estão conectadas verticalmente nas duas
faixas das laterais.uma utilizada para o condutor negativo ou
terra (faixa azul), e a outra para o positivo(faixa vermelha). Na
parte central da placa, os barramentos são conectados
horizontalmente (faixas verdes), onde serão inseridos os
componentes eletrônicos.
Além das faixas de barramento, também existem as
faixas de contatos que ficam posicionadas horizontalmente na
placa, nas quais são instalados
os componentes eletrônicos.
As cinco colunas de
contatos do lado esquerdo são
separadas das cinco colunas do lado direito por meio de um intervalo
que fica localizado no centro das colunas, esse entalhe como é
comumente chamado, dá um corte nas colunas, fazendo assim com
que não tenha uma ligação direta entre as duas colunas.
Para realizar tais ligações é necessário utilizar os fios J umpers
que foi mostrado na Figura 1.18, os Jumpers são utilizados para fazer a maioria das conexões entre os
componentes.
Utilizaremos também LEDs, sobre os quais, inclusive, é necessário ficarmos atentos. Na
Figura 1.17 é possível perceber que esses LEDs possuem uma perna maior que a outra, sendo a menor
a representante negativa e a maior a positiva. Além disso, a figura mostra um corte na base do LED
(parte superior da figura), que também representa o lado negativo do LED.
Como uma regra geral, maioria dos LEDs pode aguentar uma corrente de no máximo 20 mA
antes deles serem danificados; mA significa miliamperes, normalmente chamado de milliamps. A
tensão direta para LEDs vermelhos , amarelos e laranjas é de 1,5 V, para LEDs verdes é de 2,0 V, e
para azuis e brancos é de 3,0 V.
Você irá utilizar a conexão USB para a alimentação, que é de 5 V. Porém, se você estiver
utilizando LEDs vermelhos, os quais possuem tensão direta de 1,5 V e uma corrente de 20 mA, pode
calcular a resistência necessária conforme abaixo:
5V − 1,5 V
0,02 A
= 175 ohms
14
O resistor disponível que possui o valor mais aproximado com o valor dado na equação, é o
resistor de 180 ohms, então, para poder proteger o LED, você precisa utilizar um resistor de 180 ohms
ou maior. Nos nossos projetos utilizamos resistores de 220 ohms.
Analogico x Digital
Antes de iniciarmos o desenvolvimento de aplicações práticas com o Arduino, é necessário que
saibamos diferenciar uma grandeza analógica de uma grandeza digital. Além disso, também é
importante que aprendamos como o Arduino funciona com essas grandezas e os conceitos básicos
envolvidos no processo de conversão entre elas.
O Arduino trata da chamada computação física, isso significa ligar circuitos eletrônicos à
placa do Arduino. Portanto, é necessário que você compreenda como utilizar as várias opções de
portas que são disponibilizadas nele.
Nos próximos capítulos serão desenvolvidos projetos que receberão dados e informações por
via de entradas e saidas, as mesmas podem ser analogicas, o que siginifica assumir valores entre 0V e
5V, ou digitais, que recebem uma tensão equivalente a 0V ou 5V.
Grandezas digitais
As grandezas digitais são aquelas que não variam continuamente no tempo, mas sim em saltos entre
valores bem definidos. Um exemplo são os relógios digitais: apesar do tempo em si variar
continuamente, o visor do relógio mostra o tempo em saltos de um em um segundo. Um relógio desse
tipo nunca mostrará 12,5 segundos, pois, para ele, só existem 12 e 13 segundos. Qualquer valor
intermediário não está definido.
grandezas. O Arduino possui um conjunto de pinos destinados a serem utilizados como entradas
analógicas e outros pinos que podem ser usados como saídas PWM (Simulam uma saída analógica).
Como tudo no Arduino é processado de forma digital, é necessário converter as grandezas
analógicas em digitais e vice-versa. Esses conversores já estão embutidos no Arduino, de forma que é
necessário apenas que compreenda o básico do processo de conversão para poder utilizar essas portas
analógicas. De volta ao exemplo da escada e da rampa, a quantidade de degraus que temos em uma
escada nos podemos associar o conceito de resolução.
A resolução de um conversor indica o número de valores discretos (degraus) que ele pode
produzir. Quanto mais intervalos conseguimos produzir mais perto do sinal analógico nos chegamos.
A resolução de um conversor analógico digital e vice-versa é geralmente expressa em bits, portanto
um conversor de 8 bits é um conversor que consegue representar 2^8 degraus.
Saídas PWM
PWM (Pulse Width Modulation – Modulação por Largura de Pulso) é uma técnica para obter
resultados analógicos por meios digitais. Essa técnica consiste na geração de uma onda quadrada em
uma frequência muita alta em que pode ser controlada a percentagem do tempo em que a onda
permanece em nível lógico alto.
Esse tempo é chamado de Duty Cycle e sua alteração provoca mudança no valor médio da
onda, indo desde 0V (0% de Duty Cycle) a 5V (100% de Duty Cycle) no caso do Arduino.
16
O duty cycle é a razão do tempo em que o sinal permanece na tensão máxima (5V no
Arduino) sobre o tempo total de oscilação, como está ilustrado na figura abaixo:
O valor do Duty Cycle usado pelo Arduino é um inteiro armazenado em 8 bits, de forma que
seu valor vai de 0 (0%) a 255 (100%).
Introdução ao Snap!
O Snap4Arduino pode ser baixado no site <snap4arduino.org>. O Snap!, cuja a interface é apresentada
na Figura 1.18, consiste em uma linguagem de programação visual que está fundamentado no conceito
de blocos de montagem, como não necessita que as pessoas tenham conhecimentos prévios de
linguagens de programação, é ideal para quem está começando a programar.
17
Para a criação e programação no Snap!, utilizamos blocos, que podem expressar comandos ou
estruturas (como decisão, repetição etc.). No Snap4Arduino, os blocos estão organizados em dez
grupos distintos:
Movimento: grupos onde se localizam os blocos que determinam a movimentação de atores
no cenário.
Controle: agrupamento de blocos que definem algumas regras de controle, como começar
alguma ação, escolher entre uma opção ou outra, repetir ações ou movimentos, entre outras.
Aparência: aqui se encontram blocos que determinam a aparência dos atores. Esses blocos
podem mudar a aparência visual dos atores ou adicionar balões de diálogo.
Sensores: blocos de sensores têm a função de identificar interações entre objetos, com mouse
e com as teclas, por exemplo.
Som: blocos responsáveis por tratar sons que podem compor a sua animação ou jogo.
Operadores: blocos que funcionam para operações aritméticas, operações relacionais e
lógicas, funções matemáticas, e operações com textos.
Caneta: nesse conjunto, encontramos blocos que “riscam” o cenário, que fazem que
enxerguemos o traçado de movimentação de algum objeto ou para criarmos desenhos.
Variáveis: blocos que criam e atribuem valores em variáveis. Variáveis são componentes
utilizados para armazenar e manipular valores.
Outros: nesse grupo, podemos criar novos blocos, baseados naqueles já existentes, como se
agruparmos a funcionalidade de diversos blocos em um só.
Arduino: blocos que usamos para interagir com a plataforma, conectar a placa à placa, ler e
escrever valores, enviar comandos, entre outros.
19
Você sabe o que está por trás do funcionamento de um pisca pisca? No exemplo abaixo vai
ser mostrado de forma clara o que acontece, usando um projeto parecido.
Para realizar o exemplo e ter o seu próprio projeto você precisará dos seguintes materiais:
● Arduino Uno
● Cabo USB
● Protoboard
● 1 resistor de 220Ω (vermelho, vermelho, marrom, dourado)
● 1 LED
● cabos tipo Jumper
O código acima faz com que toda vez que o usuário clicar na bandeira verde ocorra o evento
onde vai ativar o pino 2 como uma saída, veja na Figura 2.1 onde fica o pino 2. Depois disso vai entrar
em um laço de repetição que sempre vai ficar executando o código que a cada 1 segundo vai alterar o
valor do pino.
Os valores utilizados nesse exemplo vão ser True ou False, onde o True é quando o valor for
verdadeiro e False ele vai alterar para falso, em outras palavras quando o valor for True o LED vai
ligar e quando o valor for False ele vai desligar.
20
Na Figura 2.2 é mostrado como ficou o circuito, nele foi conectado na protoboard o resistor de
220Ω que vai estar conectado na perna positiva do LED, a outra perna do resistor vai estar conectada
no pino digital 2 (fio vermelho), a perna negativa do LED vai estar conectada no pino GND (terra) do
Arduino.
21
Exemplo 2: Semáforo
Agora vamos entender como funciona um semáforo, nele é executado um simples programa,
onde quando o LED verde estiver ligado os outros dois vão estar desligados, quando passar algum
tempo é desligado o LED verde e liga o LED amarelo, a mesma coisa com o vermelho, e então vamos
tentar montar?
Para montar o próximo exemplo você precisará dos seguintes materiais:
● Arduino Uno
● Cabo USB
● Protoboard
● 3 resistências de 220 Ω (vermelho, vermelho, marrom, dourado)
● 3 LEDs (vermelho, amarelo e verde)
● cabos tipo Jumper
Temos várias maneiras de iniciar um evento, no exemplo 1 o programa era executado quando
o usuário clicasse na bandeira, nesse exemplo vamos tentar de um jeito diferente, vamos iniciar a
execução assim que o usuário clicar no botão do espaço.
Para isso foi necessário colocar no inicio do codigo o evento onde ocorre a instrução desejada,
no caso, quando o usuário clicar no botão. Logo após isso, foi criado o laço de repetição onde sempre
vai repetir esse código que está dentro dele.
No código utilizado no exemplo dividimos em três partes as quais vamos explicar uma por
vez.
Mas antes de falar sobre o código vamos explicar um pouco sobre esse circuito, ele é tipo um
nível dois comparado com o exemplo 1. Onde ao invés de utilizar apenas um LED vamos utilizar 3
dessa vez. Assim como no outro projeto e em todos os projetos futuros, vamos ligar a linha negativa
da protoboard ao GND que é o pino negativo que sai do Arduino.
Nesse exemplo temos as saídas digitais 2, 3 e 4 conectadas cada um em uma resistência de
220 Ω , onde uma perna está ligada na perna positiva do LED e a perna negativa do LED está
conectada ao GND (terra) de forma comum para todos os outros resistores.
No primeiro LED que vamos programar vai ser o vermelho, ele vai ser o primeiro colocado na
protoboard vamos ligar na perna negativa dele o resistor de 220Ω e na perna do resistor vamos ligar o
GND, na perna positiva do LED vamos fazer o jumping para o pino 2 do arduino. No snap vamos
fazer o código, a parte do LED vermelho será a seguinte, vamos inserir o valor True no pino 2 e o
valor False nos pinos 3 e 4, fazendo assim com que o LED vermelho fique ligado e os outros dois
fiquem desligados.
Logo em seguida é inserido um delay pedindo para esperar 2 segundos para executar os
próximos comandos.
O segundo bloco de códigos que vai ser executado vai ser o do LED amarelo, do mesmo que
fizemos a programação do LED vermelho vai ser feita a programação para o LED amarelo, mas dessa
vez ao invés de de colocar o valor True no pino 2 vamos colocar no pino 3 e os outros dois vão ficar
False, depois desse bloco de códigos é inserido mais um delay, porém este vai ser com 1 segundo.
O terceiro bloco vai ser o do LED verde, e assim como foi feito nos dois LEDs anteriores será
feito neste, porém vai ser alterado o valor dos pinos. O único pino que vai ficar True vai ser o pino 4
23
que está ligando o LED verde os outros dois vão ficar com o valor False. O delay que vai ocorrer
nesse vai ser de 2 segundos.
Pronto, o seu semáforo está pronto! vamos testar!
24
O exemplo que será ensinado agora vai ser um protótipo de um poste de luz, que funciona
assim como os postes que existem nas ruas das cidades, onde quando está ficando escuro ele liga a luz
automaticamente, no nosso projeto irá funcionar de maneira semelhante, quando o sensor captar um
certo valor vindo da intensidade da luz ele vai desligar o LED.
Para montar o próximo exemplo você precisará dos seguintes materiais:
Dessa vez temos alguns materiais novos, entre eles temos o sensor de luz que vamos chamar
de LDR (Light Dependent Resistor) que é mostrado na Figura 1.11, ele é 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, ou seja, na escuridão ele opera na sua resistência máxima,
geralmente mega ohms e quando a luz é muito brilhante a resistência fica mínima, geralmente
dezenas de ohms.
Vamos para o circuito, primeiramente conecte o pino 5v do Arduino à linha de alimentação
positiva (vermelha) da protoboard. Depois conecte o pino GND do Arduino à linha de alimentação
negativa (preta) da protoboard, logo após, coloque o resistor de 220Ω e ntre a linha de alimentação
negativa e qualquer outra linha da protoboard. Coloque o LED com o Cátodo (lado chanfrado)
conectado ao resistor de 220Ω; Conecte o Ânodo do LED ao pino 7 do Arduino. Coloque o resistor de
1kΩ e ntre a linha de alimentação negativa e qualquer outra linha da protoboard. Conecte uma das
extremidades do LDR na linha o resistor de 1kΩ. Conecte uma extremidade do Jumper entre o LDR e
o resistor. A outra extremidade conecte no pino analógico A0, e por fim conecte a outra extremidade
do LDR à linha de alimentação positiva (vermelha).
25
Após ter concluído o circuito é hora de pensar no código, o código que vamos desenvolver vai
ser semelhante ao que está na Figura 4.2, nele vamos criar duas variáveis,a LED e a LDR, depois
vamos dizer que o valor da variável LED é o valor que vai estar sendo enviado pelo pino 7, depois
disso foi inserido o comando que vai fazer com que sempre fique executando o código que faz com
que o valor do LDR fique sendo alterado, como foi citado o LDR quando receber um certo valor de
intensidade de luz ele tem uma variação na resistência que vai ser passada, o valor que foi utilizado
nos nossos testes foi de 270, mas esse valor pode ser alterado dependendo da situação da iluminação
no ambiente que vai estar sendo desenvolvido o projeto.
Se o valor que está sendo recebido pelo LDR for menor que o valor que foi inserido, que no
nosso exemplo o valor que está sendo utilizado é 270, se o valor for menor vai fazer com que o LED
receba o valor booleano True e o LED do circuito vai ligar, se o valor for maior que o valor inserido a
variável LED vai ficar False e o LED vai continuar desligado, depois disso ele vai esperar 5 segundos
e vai refazer a verificação dos valores que estão sendo entrados no pino 7.
26
Figura 4.2: Código em Snap para o exemplo do LED com sensor de luz.
27
O exemplo que será ensinado agora vai ser um protótipo de um alarme que funciona com o
movimento, se houver qualquer movimento no raio de proximidade do sensor ele vai fazer com que
soe um alarme.
Para montar o próximo exemplo você precisará dos seguintes materiais:
● Sensor de movimento
● Buzzer
● Fios Jumpers
● Protoboard
● Arduino Uno
● LED
● Resistor 220Ω (vermelho, vermelho, marrom, dourado)
Mas antes de iniciar esse exemplo é bom entendermos como funciona o sensor de movimento
e logo depois vamos ver o funcionamento do buzzer.
Este tipo de sensor utiliza infravermelho para detectar algum movimento, no módulo pode-se
ajustar a sensibilidade e o tempo que o sinal será enviado ao Arduino, ao se detectar algum movimento
o sensor envia o sinal 1 (HIGH) para o Arduino.
Como mostrado na Figura 5.1 o sensor tem 3 pinos, um VCC que é a diferença de potencial
que você está aplicando naquele ponto, em outras palavras ele vai ser o polo positivo, também tem o
pino do GND que é o terra e o outro pno é o que vai enviar o sinal para o Arduino.
Um outro componente que vai ser utilizado é o buzzer, ele funciona como um piezo que é de
origem grega e significa pressionar, torcer. Piezos são elementos que utilizem o efeito piezoelétrico,
que é a capacidade de alguns cristais gerarem tensão elétrica por resposta a uma pressão mecânica.
Ou seja, dentro do buzzer existe um disco que possui uma película formada por alguns cristais e a
tensão que vai ser passada pelos pinos que existem no buzzer, esses pinos são um positivo que na
Figura 5.2 vai estar em vermelho e o pino negativo que está sendo representado pela cor preta.
Para esse exemplo inicialmente fizemos a ligação das linhas positivas e negativas do Arduino
para a protoboard, o positivo vai estar saindo do pino de 5v e o negativo do pino GND, depois disso
conectamos o sensor de movimento, o pino do VCC vai ser conectado a linha positiva e o pino GND
vai se conectar a linha negativa na protoboard, o pino do meio do sensor foi conectado na porta 2 do
Arduino. Vamos também conectar o buzzer, ele vai estar uma perna na linha que está ligado o GND e
a outra perna vai estar ligado no pino 11 e por último será encaixado o LED, o resistor de 220Ω f ica
na perna negativa e a outra perna do resistor vai ser conectada ao GND, a outra perna do LED vai estar
encaixada no pino 8 do Arduino.
29
Na codificação utilizada neste projeto foi utilizada uma estrutura de condição, estrutura essa
que é muito utilizada em muitos dos programas que utilizamos no nosso dia a dia. A estrutura de
condição que vamos utilizar vai ser a se então, senão funciona da seguinte maneira, se o valor que vai
estar no pino 2 for igual ao valor booleano True então vai ser colocado o valor True tanto no pino 11
quanto no pino 8, fazendo assim com que o Buzzer e o LED sejam acionados, senão os valores nesses
pinos vão ser False.
30
O exemplo que será ensinado agora vai ser um nível três do projeto do Piscar LED.
Para montar o próximo exemplo você precisará dos seguintes materiais:
● Fios Jumpers
● Protoboard
● Arduino Uno
● LED RGB
● 3 Push Buttons
● 6 Resistores 220Ω (vermelho, vermelho, marrom, dourado)
Outro material que vai ser utilizado vai ser o Push Button, ele funciona como um interruptor de
tensão, ou seja, quando apertar ele vai fazer com que o fluxo de corrente seja interrompido. Ele possui
31
quatro pernas onde uma vai ser utilizada para a entrada positiva, outra para a entrada negativa e as
outras duas são para entrada e saída de dados.
No circuito acima é possível ver a estruturação de como vai ser o circuito que vai ser montado
para o exemplo do LED RGB, primeiramente vamos ligar as saidas uma do pino de 5v para a linha
positiva e a do GND para a linha negativa, da linha positiva vamos puxar três Jumpers um para cada
um dos 3 Push Buttons inseridos, coloca-se o Jumper e m uma das pernas do Button, na outra perna é
inserido o resistor de 220Ω ligado diretamente a linha negativa. Do outro lado do Button é colocado
um Jumper o do primeiro Button vai para a saída digital de número 5, o segundo Button vai ser ligado
ao 6º pino e o terceiro Button ao 7º pino digital.
Agora vamos fazer a segunda parte desse circuito, desta vez vamos fazer a ligação do LED
RGB, ao qual, como já foi citado, possui quatro pernas, a perna maior vamos ligar ao terra, e cada uma
das outras a uma porta do Arduino, aqui as portas que foram utilizadas foi para a cor azul a porta 2,
para a cor verde a porta 3 e para a cor vermelha a porta 4.
O código que foi utilizado nesse projeto é muito simples, primeiramente vamos utilizar o
conceito de estrutura de condição que foi utilizado no projeto anterior, onde se o alguma for
verdadeira então uma coisa acontece, senão outra coisa acontece, bem é isso mesmo que vamos
utilizar, porém, dessa vez vamos utilizar três estruturas dessas, uma para cada push Button e quando
um desses Buttons for acionado ele vai fazer com que o LED RGB tenha alguma alteração.
Assim como nos projetos anteriores, vamos inserir uma estrutura de repetição que é a sempre
e logo após ela vamos fazer a continuação do projeto, primeiramente vamos programar o Button que
vai estar na saida 5 ele vai estar fazendo uma ligação direta com a perna que está ligada no pino 2 que
no nosso exemplo está sendo a cor azul. Logo após, tem o segundo Button, ele faz ligação com a porta
6 e vai estar ligando a perna verde do LED que está no valor 3, e por último vamos ligar o Button que
está conectado à porta 7 ele vai ligar o LED da cor vermelha que vai estar conectado no pino 4.
32
O código que vai ser utilizado nesse exemplo vai ser o da Figura 6.3, onde serão utilizadas
três estruturas de condição, na primeira ela vai verificar se o valor do pino 5 é verdadeiro, ou seja, se o
Push Button estiver acionado o valor que vai estar sendo passado pelo pino 5 é verdadeiro, se isso for
True e le vai fazer com que o LED que está ligado no pino 2 seja ativado, no nosso caso o que vai
ligar é o LED vermelho, se o Push Button não estiver acionado o valor que vai ser enviado ser False,
para os outros Push Buttons e LEDs vai ser do mesmo jeito, porém, ao invés de ser o pino 5 que vai
estar recebendo o Push Button vai ser o pino 6 e o LED que vai estar sendo ligado quando este Button
for acionado vai ser o do pino 3 que no caso é o da cor verde e o último que vai ser programado vai
ser o Push Button do pino 7 e ele vai estar ligado ao LED de cor azul.
Se os três Buttons estiverem acionados ao mesmo tempo o RGB vai emitir a cor branca, e se
eles não estiverem o LED fica apagado.
33
Exemplo 6: Dado
Estamos cada vez evoluindo mais o nosso pensamento computacional e nesse exemplo vamos
continuar desenvolvendo essa habilidade. O próximo projeto que vai ser desenvolvido é o exemplo de
um dado, ele vai gerar um valor aleatório entre 1 e 6, que são os valores das faces dos dados.
Para fazermos este exemplo vai ser necessário:
● 7 LEDs 1
● Fios Jumpers
● Protoboard
● Arduino Uno
● 7 Resistores 220Ω (vermelho, vermelho, marrom, dourado)
Este vai ser utilizado uma função que nós desenvolvedores utilizamos muito que é a random,
as funções randômicas gera valores aleatórios e isso é muito importante para muitos programas que
são desenvolvidos. O trecho de código da Figura 7.1 mostra como é a função no Snap!
Vamos falar um pouco mais sobre a função randômica quando estiver explicando o código
deste projeto. Então vamos lá, mãos na massa, ops! mãos no código fica melhor rsrsrs.
O projeto do dado vai ser um dos mais complicados por dois motivos, o primeiro é o fato da
quantidade de componentes que vamos utilizar, o segundo vai ser a grande quantidade de códigos que
comparado aos outros projetos este é um dos mais longos da apostila, mas se for comparar ao nível de
dificuldade, este não é um dos mais difíceis da apostila, pois todos os termos que vamos utilizar nele
já foram utilizados algumas vez durante o curso.
A parte elétrica do dado funciona da seguinte maneira, assim como nos outros exemplos
vamos inicialmente ligar o pino do GND à linha negativa da protoboard, porém, neste exemplo por
causa da grande quantidade de componentes vamos fazer uma ligação da linha negativa para a outra
linha negativa fazendo assim com que as duas linhas negativas da protoboard sejam ativadas. Vamos
também colocar três LEDs de nas laterais e um no centro montando o esquema da Figura 7.2, cada
1
Se vocês quiserem colocar todos da mesma cor é só fazer a troca com algum outro grupo, já que em cada kit
está disponível 5 LEDs de cada cor.
34
LED desse vai estar ligado com sua perna negativa a um resistor de 220Ω e esses resistores vão estar
ligados à linha negativa da protoboard. A perna positiva do LED vai estar sendo ligada a um dos pinos
de saída do Arduino. No projeto que foi feito para este exemplo utilizamos os pinos do 2 ao 8.
Na parte do código vamos utilizar muitas coisas que utilizamos nos projetos anteriores, mas
como já foi dito, neste projeto vamos utilizar a função do random, ele vai fazer o sorteio entre os
números 1 e 6 e de acordo com o valor sorteado vai acender esta quantidade de LEDs. Na Figura 7.3
vai ser mostrado a primeira parte do código, onde criamos uma variável que vamos chamar de X,
depois vai entrar na estrutura de repetição para que o programa sempre fique executando o código que
estiver dentro dessa estrutura.
O próximo passo vai ser a alteração da variável X pelo valor que foi gerado automaticamente
pela função random. Depois disso vai ocorrer a verificação da variável utilizando uma estrutura de
condição, nesse bloco vamos verificar se o valor de X é igual a 1 se for ele vai ligar o LED que está no
pino 6 que é o LED que está representado na Figura 7.4.
35
Como foi citado, se a variável X for igual a 1, somente o pino 6 vai estar com o valor True os
outros pinos ficaram com o valor False.
Também é possível ver na Figura 7.4, que o
LED que vai estar ligado é o o central. A
segunda parte do código vai ser na mesma
estrutura que esse que acabamos de fazer,
porém, vai sofrer algumas alterações. que ao
invés invés de ligar o LED central vai ser
ligado dois LEDs das pontas. Assim como
pode ser mostrado na Figura 7.5.
Na Figura 7.6 mostra a segunda parte do código, onde, a diferença para o anterior é que vamos
fazer uma pequena alteração nos pinos que vão estar recebendo o valor True que nesse caso ficam os
pinos 2 e 8, fazendo assim, com que ocorra o que aconteceu na Figura 7.5. Mas isso só vai acontecer
se o valor da variável X for igual a 2, se o valor da variável for igual a 3 vai acontecer o que está sendo
mostrado na Figura 7.7 onde vai ligar somente os pinos 4, 6 e 8, mostrando assim o resultado
mostrado pela Figura 7.8.
● Fios Jumpers
● Protoboard
● Arduino Uno
● 4 LEDs
● 4 Resistores 220Ω (vermelho, vermelho, marrom,
dourado)
● 1 Resistor de 1kΩ (marrom, preto, vermelho, dourado)
● 1 Display de 7 segmentos
Primeiramente vamos iniciar o projeto colocando um Jumper em cada um dos quatro LEDs,
ligando a perna negativa de cada um deles a linha negativa da protoboard que já está ligada ao GND, a
outra perna dos LEDs vão estar ligadas nas portas 10, 11, 12, 13 do Arduino. A sequência das cores
dos LEDs não importa neste exemplo.
Logo após é inserido o display e ele vai estar posicionado entre as duas colunas da protoboard,
fazendo assim com que cada pino dele fique em uma das portas da protoboard, assim como mostrado
na Figura 8.2.
40
Como mostrado na Figura 8.1 o display possui dois pinos que são de vcc, eles vão estar
ligados ao resistor de 1kΩ, e o resistor vai estar ligado a linha negativa da protoboard. Agora vamos
fazer a conexão do display ao Arduino, seguindo as orientações da Figura 8.1 vai ser feita as seguintes
ligações mostrada na Tabela 8.1.
A 8
B 9
C 3
D 4
E 5
F 7
G 6
DP 2
Considerações finais
Primeiramente queremos agradecer a todos que nos apoiaram, aos nossos orientadores que nos
ajudaram muito durante todos os processos deste projeto, também queremos agradecer a todos
diretores e professores que abriram as portas das escolas para podermos aplicar esse belíssimo projeto,
ao qual pretendemos crescer cada vez mais, fazendo assim com que mais estudantes venham conhecer
um pouco mais sobre essa belíssima área que é a tecnologia de informações.
Aos nossos queridos alunos que se dedicaram e se esforçaram para pesquisar um pouco mais
sobre esta área e decidiram entrar nela, logo abaixo vamos deixar alguns cursos, livros e sites que
vocês podem acessar e/ou participar sem gastar nada. Aos que não gostaram muito da área, nós lhe
dizemos para que você siga seu coração e lute pelo que quer realmente, não importa o
tamanho da dificuldade, pois assim como a escritora Rosimeire Feliciano diz "Nenhuma luta
é muita, quando a causa é justa", portanto, se é o que você gosta lute até que você consiga
realizar os seus sonhos!
Como prometido, segue os cursos, livros e os sites que vocês podem praticar um pouco
de programação aí mesmo da sua casa!
http://www.bosontreinamentos.com.br/eletronica/curso-de-eletronica/eletronica-o-que-sao-res
istores-de-pull-up/