Você está na página 1de 44

1

Gabriel Batista Félix


Graduando em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
E-mail: ​batistagabriel360@gmail.com

Jhonatas Israel da Costa Laurentino


Graduando em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
Técnico em Informática pelo Instituto Federal de Educação, Ciência e
Tecnologia do Rio Grande do Norte(IFRN - Santa Cruz)
E-mail: costajhonatas9@gmail.com

José Flávio da Silva Maia


Graduando em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
E-mail: ​fjoseflaviodasilvamaia@gmail.com

Mariana Alves Dantas


Graduanda em Pedagogia pela Universidade Federal do Rio Grande do Norte
(UFRN - Caicó)
E-mail: ​dantasmariana96@gmail.com

Paulo Henrique de Azevedo Dantas


Graduando em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
E-mail: paulohenrique0953@gmail.com

Porfírio Amaro de Araújo Júnior


Graduando em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
Técnico em Redes de Computadores pelo Instituto Metrópole Digital (IMD -
Caicó).
E-mail: porfirioamarojr@gmail.com

Tatiane Alves dos Santos


Graduanda em Sistemas de Informação pela Universidade Federal do Rio
Grande do Norte (UFRN - Caicó)
E-mail: santosalvestatiane@gmail.com
2

Amarildo Jeiele Ferreira De Lucena


Bacharel em Sistemas de Informação pela Faculdades Integradas de Patos. Possui Especialização em
Gestão de Pessoas pela Faculdade Católica Santa Teresinha, e é aluno mestrando em Informática
Aplicada da UFRPE. Conta com experiência na área de Desenvolvimento de Softwares para Gestão
Comercial, pesquisas com ênfase em Linguagens de Programação e Pesquisa Operacional, e atua
como professor associado, vinculado ao Departamento de Computação e Tecnologia (DCT) do Centro
de Ensino Superior do Seridó (CERES), na cidade de Caicó/RN.

Flavius Da Luz e Gorgônio


Graduado em Ciência da Computação, e mestre em informática, ambos pela Universidade Federal da
Paraíba. Possui doutorado em Engenharia Elétrica e computação pela Universidade Federal do Rio
Grande do Norte. Atua também como professor associado, vinculado ao Departamento de
Computação e Tecnologia (DCT) do Centro de Ensino Superior do Seridó (CERES), na cidade de
Caicó/RN, e coordena o Laboratório de Inteligência Computacional Aplicada aos Negócios
(labican.org).
3

O projeto “A Introdução do Pensamento Computacional no Ensino Fundamental II


Como Fator Motivacional Para o Ingresso na Área da Tecnologia da Informação” é um
projeto de pesquisa da Universidade Federal do Rio Grande do Norte por intermédio do
Laboratório de Inteligência Computacional Aplicada à Negócios ( LABICAN), e tem como
objetivo principal incentivar o uso de tecnologias e despertar o conhecimento sobre
computação nos alunos concluintes do Ensino Fundamental, tendo em vista que esse tipo de
conhecimento pode contribuir significativamente na ampliação da capacidade de raciocínio
dos adolescentes envolvidos, além de poder despertar o interesse por uma área até então
desconhecida.
Justificamos a importância de um projeto como este a partir da situação atual da
sociedade em que estamos inseridos, tal como o seu mercado de trabalho e seu ambiente
escolar. Em ambas as situações os conceitos da Tecnologia da Informação tornam-se cada vez
mais necessários, para que, a partir destes, os cidadãos possam desenvolver competências e
habilidades não apenas para suas respectivas profissões, mas também para o exercício de
cidadania.
4

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 1: Pisca LED 19

Exemplo 2: Semáforo 21

Exemplo 3: LED com sensor de luz 24

Exemplo 4: Alarme com sensor de movimento 27

Exemplo 5: Mistura de cores com LED RGB 30

Exemplo 6: Dado 33

Exemplo 7: Display com 7 segmentos 39

Considerações finais 42
5

Apresentação

Bem-vindos ao curso Arduino nas escolas!


Nesse curso vamos fazer uma introdução ao Pensamento Computacional a partir de uma
plataforma chamada Arduino. Com o Arduino é possível criar e implementar protótipos e projetos que
envolva tanto a parte da eletrônica quanto de programação.
Nesta apostila traremos uma abordagem prática, descomplicada e divertida do pensamento
computacional, a fim de apresentá-los, ao mesmo tempo, duas áreas da Tecnologia da Informação,
que, na verdade, não estão tão distantes do nosso dia a dia. Para provar isso, mostraremos aqui, além
de exemplos de jogos digitais, exemplos práticos de situações que nos cercam, como semáforos e
postes de luz, por exemplo.
A apostila está dividida em dois capítulos, de forma que, o primeiro está destinado à teoria,
onde faremos uma breve introdução sobre os conceitos básicos de programação e eletrônica,
mostrando, principalmente, como funcionam o Arduíno e o Snap!, e o segundo, onde traremos
exemplos de projetos em níveis crescentes de dificuldade, e lançaremos, ao final de cada exemplo,
desafios práticos que esperamos que vocês resolvam com a ajuda uns dos outros.
Esperamos que este projeto desperte o espírito de inventor que existe em cada um de vocês, e
que a cada projeto finalizado, a curiosidade e ansiedade os façam ir muito além. Bom aprendizado e
mais que isso, bom divertimento!

Os autores
6

Introdução

Itens Necessários
Requisitos de ​software ​e ​hardware​:

● Computador com Windows 7 ou superior (32 ou 64 bits), Linux ( 32 ou 64 bits) ou Mac OS


X (64 bits)
● Arduino IDE. Disponivel em: <​http://www.arduino.org/​> ou <​http://www.arduino.cc/​>
● Snap4Arduino. Disponivel em: <​http://snap4arduino.rocks​>
● Arduino e demais itens descritos nesse capítulo de introdução.

O que vem nos kits disponibilizados?

Figura 1.1: Arduino UNO R3 Figura 1.2: ​Protoboard ​400 furos


(1 peça) (1 peça)
7

Figura 1.3: LEDs Figura 1.4: LED RGB


( 5 azuis, 5 amarelos, 5 verdes, 5 vermelhos). (1 peça).

Figura 1.5:Resistores
(10 de 220​Ω​, 10 de 330​Ω​, 10 de 470​Ω​, 10 de 1k ​Ω​). Figura 1.6: Potenciômetro
(1 peça).

Figura 1.7:​ Push Button Figura 1.8: Fios ​Jumpers.


(5 peças).
8

Figura 1.9: ​Buzzer Figura 1.10: Sensor de temperatura DHT11


(1 peça). (1 peça).

Figura 1.11: Sensor de luz LDR Figura 1.12: Sensor de movimento


(1 peça). (1 peça).

Figura 1.13: Display D206TA Figura 1.14: Display LCD


(1 peça). (1 peça).
9

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.

Figura 1.17: Placa Arduino Uno R3.

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)​.

Muita teoria? Que tal ver isso na prática?!

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

Figura 1.17: Tabela de cores e suas resistências.

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.

Caraterísticas de uma Entrada Digital


Quando configuramos um pino como entrada digital ele apresentará uma característica chamada alta
impedância. Isso significa que uma pequena corrente consegue fazer com que seu estado mude.
Podemos usar essa configuração, por exemplo, para ler botões, LDRs entre outros componentes e a
partir do estado lido ou das mudanças desses estados concluir o que está acontecendo no mundo
externo e então tomar ações baseadas nessas medidas.

Caraterísticas de uma Saída Digital


Quando configurados nesse estado os pinos podem fornecer 0 ou 5 V fazendo com que eles drenem ou
forneçam corrente. O valor máximo dessa corrente varia de placa para placa, mas, em geral, é de
30mA​. Essa corrente é mais do que suficiente para ligar um ​LED de alto-brilho e alguns sensores,
porém não é suficiente para ligar a maioria dos relés e motores. Caso uma corrente maior que o limite
passe por um pino, este poderá ser danificado.

Características das Saídas Analógicas


Se observarmos um pouco, o mundo é quase todo formado por variáveis analógicas, tais como
posição​, ​temperatura e ​pressão​, de forma que é necessário saber trabalhar com esses tipos de
15

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.

Características das Entradas Analógicas


Como o conversor analógico-digital do ​Arduino possui uma resolução de 10 bits, o intervalo
de tensão referência, que no nosso caso é 0 a 5 V, será dividido em 1024 pedaços (2^10) e o valor
discreto mais próximo da tensão no pino será atribuído a essa tensão. Com 10 bits de resolução e um
intervalo de 0 a 5V de tensão podemos representar tensões em degraus de (5-0)/1024 volts. Supondo
uma tensão de 3,25 V o valor retornado pela conversão será:
3,25 x 1024 / 5 = 665,6
O resultado deve ser inteiro para que nosso conversor consiga representá-lo, logo o valor 666
será escolhido por ser o degrau mais próximo. Esse valor representa a tensão 3,251953125 inserindo
um erro de 0,001953125 em nossa medida devido a limitação de nossa resolução.

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:

Duty Cycle (%) = (x/x+y)*100% = (x/T)*100%


Vmédio = Vmax*Duty Cycle(%)

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

Figura 1.18: Interface do Snap!

A interface principal do ​Snap4Arduino ​é separada em quatro áreas principais: Lista de blocos


(área 1), área de programação (área 2), palco (área 3) e lista de atores (área 4). A Figura 1.19 apresenta
a visão geral da interface e, a seguir, estão listadas as principais funções dessas áreas:
Lista de blocos: ​nesta área ficam os grupos de blocos e a lista dos blocos pertencentes a cada
grupo.
Área de programação: ​é o local para onde arrastamos os blocos e os sequenciamos e
agrupamos, a fim de que toda a ação ocorra.
Palco: ​nele inserimos componentes gráficos e imagens para criar jogos ou animações. Cada
objeto colocado no palco pode receber ações (programações por blocos) diferentes a interagir entre si.
Lista de atores: ​uma vez colocado algum componente gráfico no palco, damos a ele o nome
de “ator”. Nessa área estão dispostos todos os atores contidos no palco, e podemos selecioná-los para
fazer algumas alterações e configurações.

Figura 1.19: Áreas da Interface.


18

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

Exemplo 1: Pisca L​ED

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

Figura 2.1: Código em Snap para o exemplo do pisca LED.

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

Figura 2.2: Circuito do piscar LED.

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

Figura 3.1: Código em Snap para o exemplo do semáforo.


22

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.

Figura 3.2: Circuito do semáforo.

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

Exemplo 3: LED com sensor de luz

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:

● LDR – Sensor de Luz


● Fios ​Jumpers
● Protoboard
● Arduino Uno
● LED
● Resistor 220​Ω​ ​(vermelho, vermelho, marrom, dourado)
● Resistor 1k​Ω​ (marrom, preto, vermelho, dourado)

Dessa vez temos alguns materiais novos, entre eles temos o sensor de luz que vamos chamar
de LDR (​L​ight ​D​ependent ​R​esistor) ​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

Figura 4.1: Circuito do LED com sensor de luz.

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

Exemplo 4: Alarme com sensor de movimento

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​.

Figura 5.1: Sensor de movimento.


28

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.

Figura 5.2: Circuito do alarme com sensor de movimento.

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

Figura 5.3: Código do alarme com sensor de movimento

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

Exemplo 5: Mistura de cores com LED RGB

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)

Mas antes de iniciar esse exemplo entender um


pouco como funciona o LED RGB e depois vamos entender como
utilizar o ​Push Button​.
Diferentemente dos LEDs normais o LED RGB possui três
pernas, onde as mesmas podem ser vistas na Figura 6.1,
como o próprio nome já informa esse LED faz a junção de
três cores, vermelho, verde e azul, que no inglês fica ​R​ed,
G​reen ​e ​B​lue, ​ou seja, RGB.
É possível ativar as cores individualmente, fazendo com que
o LED se acenda em uma das três cores disponíveis, ou
ainda combinar as cores dos LEDs individuais para que
sejam produzidas cores diferentes. Como internamente os
três LEDs se localizam muito próximos entre si, o olho
humano não é capaz de distingui-los, enxergando apenas a
mistura de cores final.
Podemos gerar inúmeras cores distintas, combinando
diferentes níveis de cada cor primária do LED.
Podemos usar para isso a técnica de PWM, a qual permite
ajustar o nível de brilho em cada um dos LEDs e, portanto, a mistura dessas cores. Alguns exemplos
de misturas entre as cores é o verde com o vermelho que dá a cor amarela, também a cor vermelha
com azul que dá a cor roxa.

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.

Figura 6.2: Circ​uito ​Mistura de cores com LED RGB.

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

​ istura de cores com LED RGB.


Figura 6.3: Código M

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!

Figura 7.1 : Código da função randômica 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.

Figura 7.2: Circuito do Dado.

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

Figura 7.3: Primeira parte do código do dado.

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 segunda parte do código, não vai ser tão


diferente, pois vamos pegar a estrutura de condição
que já foi montada e vamos fazer praticamente a
mesma coisa.
36

Figura 7.6: Parte 2 código do dado.

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.

Figura 7.7: Parte 3 do código do dado.

Na Figura 7.8 mostra como é para


ficar o circuito no momento em que o
código da terceira parte for executado,
lembrando que ele só vai ser executado se o
valor da variável A for igual a 3.
37

Na Figura 7.9 é possível ver a


continuação do código, contendo as partes 4,
5 e 6. A estruturação do código pe
semelhante ao das partes anteriores, porém
desta vez, vai ocorrer algumas mudanças nos
valores dos pinos, se o valor da variável A
for igual a 4 os pinos que vão estar ​True ​vão
ser o 2, 4, 5, 8, como mostrado na Figura
7.10. Se a variável A for igual a 5 então os
pinos que vão estar com os pinos ​True ​são os
2, 4, 5, 7, 8 e vai ter o resultado que é
mostrado na Figura 7.11, Se o valor de A for
igual a 6 o único pino que vai estar com o
valor ​False ​vai ser o pino 7 e todos os outros
vão estar ​True​, fazendo assim com que
tenhamos o resultado mostrado na Figura
7.12.
Para encerrar o código, foi inserido
um bloco de instruções que tem como
objetivo colocar todos os valores ​False ​antes
de reiniciar o dado, para isso ele executa um
comando clock que pede para dar um tempo
entre a última execução e a próxima, no
nosso exemplo colocamos um clock de 3
segundos, quando o primeiro clock for
executado o programa vai deixar todos os
pinos no valor ​False ​deixando todos os LEDs
desligados, depois disso acontece mais um
clock de 3 segundos para reiniciar o
programa.

Figura 7.9: Código do dado.


38
39

Exemplo 7: Display com 7 segmentos

Este é o último projeto desta apostila. Para fazer a


execução dele vai ser necessário entender um pouco sobre
como funciona o Display com 7 segmentos, ele possui 10
pinos onde é possível ver na Figura 8.1, os pinos principais
são nomeados com as letras de A à G e cada um desses
pinos é ligado a um segmento do display. Cada lado desses
também tem um pino de entrada VCC que seria o positivo.
A Figura 8.1 mostra o datasheet de como é a
esquematização do display.
Para fazermos este projeto vai ser necessário os
seguintes materiais:

● 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

Figura 8.2: Circuito do Display de 7 segmentos.

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.

Pino no Display Pino no Arduino

A 8

B 9

C 3

D 4

E 5

F 7

G 6

DP 2

Tabela 8.1: Sequência de conexão dos pinos do Display e do Arduino.


41

Depois de ter feito todas as conexões


corretamente é hora de fazer o código. O
código que vai ser rodado vai ligar os
LEDs e mostrar os valores de 1 à 4 no
Display.
Para este código vamos inicialmente
mostrar o número 1 no display, para isto
vamos colocar o valor ​True ​nos pinos 3, 9
e 10, quando esses valores estiverem ​True
o pino 10 também vai ficar ligando assim
o LED azul e o valor ​False ​no pino 13.
O segundo bloco de instruções vai
fazer com que o Display mostre valor 2,
para isso é necessário que os pinos 4, 5, 6,
e 8 fiquem ​True ​e quando eles estiverem
ligados vamos também ativar o pino 11
para ligar o LED verde e o ​False ​no 10.
O terceiro bloco de instruções vai
fazer com que Display mostre o valor 3,
para isso é necessário ativar os pinos 3 e
12, também vamos colocar o valor ​True
no pino 12 também faz com que ligue o
LED amarelo.
O quarto bloco vai fazer com que o
Display mostre o valor 4, para isso vamos
ativar os pinos 7 e 13.
42

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!

O Instituto Metrópole Digital (IMD) atua na formação dos


níveis técnico, superior e na pós-graduação, cujas ações integram a
inclusão social e digital. ​Os Cursos Técnicos em Tecnologia da
Informação do IMD são ofertados no formato de Educação a
Distância (EaD), na modalidade semipresencial, por meio de
encontros presenciais semanais. Eles possuem carga horária
variável entre 1.000 e 1.200 horas e são organizados no eixo de
Informação e Comunicação, com as ênfases em Informática para Internet; Redes de
Computadores; e Programação de Jogos Digitais, e no eixo de Controle e Processos
Industriais, com ênfase em Eletrônica e Automação Industrial.Os interessados devem
participar do processo seletivo anual organizado pela COMPERVE. Mais informações no <
http://comperve.ufrn.br/conteudo/metropoledigital.php​ >
43

O projeto realizado pelo ​code.org apresenta os principais conceitos de programação de


um jeito divertido para todas as idades. ​O Code.org é um dos principais sites de ensino de
programação, tem aulas de mais de 10 linguagens de programação, entre elas Java, C e
Python que são algumas das linguagens mais utilizadas do mundo, o site oferece lições para
crianças a partir dos 6 anos, e tem vários exercícios e jogos com vários níveis de
programação.

O ​Tinkercad é muito bom principalmente para o pessoal que gosto de


estudar Arduino pelo fato de que nele tem a possibilidade de simular os
equipamentos eletrônicos utilizados no Arduino, a grande maioria dos CIs
utilizados nos projetos que foram ensinados estão disponíveis no tinkercad,
para quem não tem condições de comprar um kit de Arduino para poder
desenvolver estes e outros projetos ele é uma ótima ferramenta.

Escrito por Cláudio Luís Vieira Oliveira e Humberto


Augusto Piovesana Zanetti, o livro Arduino Descomplicado –
Aprenda com projetos de eletrônica e programação, apresenta
aos leitores uma abordagem prática, descomplicada e divertida.
Ele foi um dos materiais mais importantes para o
desenvolvimento deste projeto, grande maioria dos exemplos e
textos presentes nesta apostila foram transcritos e adaptados a
partir deste livro. No livro possui 37 projetos, os mesmo utilizam
vários módulos, cujo objetivo é trazer uma solução pronta e com
baixa abstração, sem que haja a necessidade de ter
conhecimentos sobre a montagem de circuitos para usar os
componentes eletrônicos. Assim, o foco passa a ser as
funcionalidades e os recursos de programação. Para a
programação, duas abordagens são adotadas: linhas de código e programação em blocos. Na
parte da programação o livro aplica a linguagem Wiring e na programação em blocos é
utilizada a linguagem Snap! assim como na apostila que cada vez mais ganha adeptos e está
adaptada à plataforma Arduino.
Para finalizar, queremos agradecer a todos que colaboraram de maneira direta e indireta
com este projeto, e aos alunos obrigado por ter participado da concretização deste projeto e
até mais!

http://www.bosontreinamentos.com.br/eletronica/curso-de-eletronica/eletronica-o-que-sao-res
istores-de-pull-up/

Você também pode gostar