Integrando Eletrônica e Programação
Integrando Eletrônica e Programação
PROGRAMAÇÃO
UTILIZANDO O ARDUINO
Introdução
Nesse capítulo vamos iniciar os estudos com a plataforma Arduino, vamos
focar em uma abordagem voltada para a montagem e simulação de circuitos,
além da criação de programas para controlar dispositivos utilizando o Arduino.
Essa placa é muito utilizada para prototipagem e se tornou bastante popular
devido a sua simplicidade de uso, baixo custo e disponibilidade no mercado. O
uso da placa Arduino permite, dentre outras coisas, controlar LEDs, ler o sinal
de sensores, apresentar informações em telas LCD, comunicação remota com
outras placas e dispositivos. Esse nosso estudo busca, principalmente, fornecer
aos usuários uma compreensão da forma mais segura para montagem de
circuitos e programas, partindo do básico e desenvolvendo projetos cada vez
mais completos.
Objetivos do Capítulo
2
Sumário
1. Conhecendo o Arduino ................................................................................ 4
4. Tinkercad ..................................................................................................... 9
Referências ...................................................................................................... 49
3
1. Conhecendo o Arduino
4
complexos orientado a objetos utilizando vários arquivos, chamados de
bibliotecas. Devido a sua versatilidade o Arduino permite ao usuário comum criar
diversos projetos que vão desde acender pequenas lâmpadas ou movimentar
pequenos motores, até a automação de casas, dentre outras possibilidades.
Outro aspecto relevante da plataforma Arduino é a grande quantidade de
informações disponíveis, desde tutoriais, como aqueles disponíveis no site oficial
(https://www.arduino.cc), até livros, blogs e sites completos destinados a
diferentes campos de aplicação. Outro fato que mostra o sucesso da plataforma
Arduino é a quantidade de cursos específicos que são oferecidos (geralmente
em inglês). Os cursos disponíveis de Arduino não estão apenas dirigidos a
profissionais ou curiosos com interesse particular em eletrônica e robótica, mas
também a professores de todos os níveis, da educação básica a pós-graduação,
que queiram usar a plataforma para fins educacionais. Todos os recursos
mencionados anteriormente fizeram o Arduino tornar-se uma plataforma muito
popular na academia e na indústria, sendo amplamente difundida em todo o
mundo, inclusive no contexto educacional, e especialmente popular na educação
em eletrônica e computação. Entretanto, mesmo com um crescente interesse,
muito ainda pode e deve ser realizado e encorajado a fim de integrar cada vez
mais o uso do Arduino na educação básica e no desenvolvimento de projetos.
2. Placa Arduino
5
Figura 2. Esquema descrevendo as principais partes que compõem o Arduino Uno.
Audiodescrição: Ilustração da placa Arduino Uno, destacando seus componentes: conector USB,
utilizado como fonte de energia à placa, mas tem seu principal uso na interface para programação
da placa, botão de reset, que permite resetar a placa, reiniciando a execução do código, pinos
digitais, para entrada e saída de dados. Funcionam apenas nos estados “alto”, +5V, e “baixo”,
0V (terra ou GND). A placa Arduino Uno possui 14 pinos digitais, desses 6 são pinos PWM
(destacados pelo símbolo ~). LEDs do pino 13, conectado diretamente ao pino 13 da placa, LED
de alimentação, que indica quando a placa está energizada, LEDs RxTx, LEDs da placa que
indicam a comunicação entre o Arduino e o computador. É esperado que, ao enviar um código
esses LEDs pisquem rapidamente. Pinos Analógicos, para entrada de dados analógicos, ou seja,
que variam entre 0 e 5V. A placa Arduino Uno possui 6 pinos analógicos, geralmente utilizados
para leitura de dados obtidos por sensores. Conector de alimentação, local onde energizamos o
Arduino, quando ele não está ligado na porta USB, com tensões entre 7-12V. Pinos de
alimentação, que fornecem 5V e OV (GND) de saída. Esses pinos são utilizados para
alimentação elétrica dos seus circuitos. O pino Vin é um pino que, junto com o GND, pode ser
utilizado para alimentação do Arduino.
6
3. Software do Arduino
7
Figura 4. Tela para escolha da placa Arduino Uno.
Audiodescrição: Imagem da tela da IDE Arduino, onde está selecionado no menu Ferramentas,
a opção Placa, em seguida Arduino AVR Boards e, por fim, Arduino Uno.
Na IDE do Arduino você tem 5 botões, abaixo dos menus, com as funções
de “Verificar” o código em busca de algum erro, “Carregar” o código para a placa
Arduino, além das opções de criar um código, abrir e salvar o código atual. Além
desses, no canto direito você tem um botão para monitorar a comunicação serial,
receber e enviar os dados para o Arduino. Perceba que, por padrão, duas
funções já são apresentadas no código, as funções “setup” e “loop”. A função
“setup” é executada apenas uma vez, ao alimentar o Arduino, e a função “loop”
é executada de forma ininterrupta.
8
4. Tinkercad
9
ACESSANDO E REALIZANDO O CADASTRO
10
Apesar de gratuita, para utilizar essa plataforma será necessário realizar
um cadastro, caso seja seu primeiro acesso e, dessa forma, não possua login,
basta clicar na aba “Inscrever-se” no canso superior direito. Ao clicar você terá
três opções de cadastro, como educadores, alunos ou usuários pessoais.
Realize o cadastro de acordo com a sua realidade, caso deseje integrar uma
turma você pode se cadastrar como aluno ou se cadastrar por conta própria, nos
dois casos você utilizará um código para ingressar na turma, código que deverá
ser passado pelo professor. O professor pode, ainda, especificar o nome dos
alunos que serão aceitos na turma, nesse caso, além do código você deverá
informar um “apelido” especificado pelo professor.
Ao se cadastrar como educador você poderá trabalhar com seus alunos
no “modo seguro”, no qual apenas você poderá ter acesso aos projetos dos
integrantes das suas turmas, eles não poderão torná-los públicos, apenas o
educador terá essa possibilidade. Na prática o educador será o moderador(a) do
projeto dos alunos.
Seguindo com o cadastro, você deverá informar seu país, data de
nascimento e criar uma conta com e-mail e senha. Em seguida você terá acesso
a tela com o seu perfil de usuário, conforme Figura 7, onde você terá, no menu
à esquerda, listadas suas possibilidades de desenvolvimento na plataforma. Na
aba “Aulas” você pode acessar uma sala, basta clicar em Entrar em uma aula e
informar o código da turma, repassado pelo professor. No caso de conta
Educador você pode criar uma aula, que significa criar uma turma, na prática.
Além disso, você verá as opções de Projetos 3D, Circuitos, Blocos de código e
Lições, conforme descritas anteriormente.
11
Figura 7. Tela de perfil de usuário da plataforma Tinkercad.
12
Figura 8. Partes que compõem a plataforma de criação de circuitos.
13
Projeto 01: Ligando um LED com o Arduino
Nesse projeto você vai construir um circuito simples com um LED e um resistor, além
do Arduino, para conhecer melhor essas ferramentas.
Tempo: 45 minutos
Dificuldade: ◼◼◼◼◼
Ao longo de todo esse curso você será desafiado a realizar uma série de
projetos que envolverão, em sua maioria, a montagem de circuitos elétricos e a
programação de comandos para controlar os componentes desses circuitos.
Dessa forma, vamos começar nossos estudos entendendo o que são circuitos
elétricos e quais as grandezas envolvidas na montagem desses circuitos.
É importante entendermos que os nossos circuitos serão alimentados pela
eletricidade, mas o que é eletricidade? É normal vir a nossa cabeça respostas
como: “eletricidade é a energia que acende a luz”. Essa resposta não está
errada, muito pelo contrário, a energia elétrica, ou eletricidade, “acende” a luz da
sua casa, “acende” a tela do seu celular, faz com que o notebook funcione,
permite a TV receber sinal e projetar na tela para que possamos assistir. Nos
nossos projetos vamos utilizar essa energia para controlar diversos
componentes, transformar essa energia em luz, ao acender LEDs, em
movimento, ao fazer motores girarem, em som, ao acionar um Buzzer.
Mas, até agora, não respondemos a pergunta, o que é eletricidade?
Podemos dizer que eletricidade é um tipo de energia, como calor ou luz. Essa
energia flui em condutores, como os metais. Você pode converter essa energia
em outras formas de energia, de acordo com o seu interesse. Pode utilizar a
eletricidade para acender uma luz, convertendo energia elétrica em luz, energia
luminosa, ou fazer com que a eletricidade produza algum som, em uma caixa de
som, para citar alguns exemplos. Por outro lado, para utilizar a eletricidade de
forma correta, temos que conhecer algumas grandezas envolvidas no uso dessa,
começando pela corrente elétrica.
14
CORRENTE ELÉTRICA
Corrente elétrica é o deslocamento de partículas minúsculas, chamados de
elétrons, ao longo de algum material condutor, conforme ilustrado na Figura 9.
Lembre-se que todos os materiais têm elétrons, já que os elétrons são parte dos
átomos e é dos átomos que são feitas todas as coisas. Você, o seu celular, seu
computador, todas as coisas; são feitas de átomos, ou seja, todas as coisas
possuem elétrons.
CONDUTORES
Em alguns materiais, como os metais, os elétrons podem ser mover mais
facilmente com o fornecimento de energia elétrica. Essas substâncias nas quais
os elétrons se movam facilmente tem o nome de condutores.
15
PILHAS E BATERIAS
As pilhas e baterias são fontes de alimentação elétrica para o circuito com dois
polos, um com carga positiva e outro negativa. Na prática temos um polo com
elevado potencial energético, que geralmente nos referimos como o polo positivo
(+), e outro com baixo potencial energético, o qual nos referimos como polo
negativo (-) ou terra (GND). Os elétrons são repelidos pelo polo negativo e
atraídos pelo polo positivo, isso faz com que se movam através do fio e formem
a corrente elétrica em um circuito elétrico.
CIRCUITO ELÉTRICO
Um circuito é o caminho pelo qual a corrente elétrica pode passar. Alguns
elementos são obrigatórios nos circuitos elétricos, como a fonte de alimentação
e algum material condutor. Além disso, os circuitos elétricos devem ser fechados,
para que os elétrons circulem ao longo do circuito.
Outro ponto que deve ser observado é que o circuito sempre deve ter algum
componente que consuma corrente elétrica, caso contrário você estaria ligando
o polo positivo no polo negativo da sua bateria o que resultaria em um curto-
circuito, onde os elétrons passariam rapidamente de um polo para o outro, o que
pode causar aquecimento dos fios e da bateria, queima de componentes
eletrônicos, como a placa Arduino, até pequenos incêndios.
TENSÃO
A força que “empurra” esses elétrons nos condutores é chamada de força
eletromotriz ou tensão. Essa força é medida em volts.
RESISTÊNCIA
Corrente e tensão são dois dos principais elementos de um circuito elétrico, o
terceiro é a resistência. A resistência é a capacidade de alguns materiais de
restringirem a passagem de elétrons, e assim reduzirem a corrente elétrica.
16
Podemos compreender corrente, tensão e resistência imaginando uma estrada
muito movimentada, conforme ilustrado na Figura 10. Caso em um dos pontos
dessa via exista um pedágio, ou uma ponte, o número de faixas dessa via reduz
e o número de carros que se deslocam nessa via também será reduzido.
Podemos imaginar esses carros como elétrons, a via como o material condutor,
o número de carros antes da ponte como a tensão e o número de carros após a
ponte como a corrente elétrica.
Figura 10. Ilustração relacionando a tensão, resistência e corrente elétrica com o fluxo
de carros em uma estrada.
LEI DE OHM
Como descrito anteriormente, a corrente, a tensão e a resistência se relacionam,
sendo possível calcular um, conhecendo os outros dois segundo a Lei de Ohm.
RESISTORES
Todos os componentes apresentam um determinado grau
de resistência à corrente elétrica, porém existem alguns
componentes chamados de resistores que são feitos
especialmente para controlar a corrente, e a tensão, de um outro componentes,
ou para reduzir a corrente de um circuito e evitar que outro componente seja
queimado.
17
O valor da resistência, medida em ohms (Ω), pode variar de alguns poucos ohms
até milhões de ohms. Por outro lado, devido ao seu tamanho, é inviável imprimir
nos resistores os valores de suas resistências. Por essa razão se criou um
código de cores de acordo com a listras coloridas pintadas no corpo dos
resistores.
No código de cores, as três listras mais próximas umas das outras são as que
determinam a resistência, conforme ilustrado na Figura 11. A última está
relacionada com a variação da medida. As duas cores das primeiras listras, no
exemplo abaixo Marrom e Preto, estão relacionadas com os valores 1 e 0,
respectivamente. A terceira lista determina a escala, ou, em outras palavras, a
quantidade de zeros que deve ser adicionada no cálculo da resistência. Dessa
forma temos 1, da primeira listra, 0, da segunda listra, mais dois zeros da terceira
listra, o valor da resistência será 1000 Ω, ou 1 KΩ, o K significa 1000.
Figura 11. Ilustração do código de cores utilizado para calcular o valor da resistência.
Audiodescrição: Ilustração das cores presentes em um resistor com seu respectivo valor, tal que
preto é 0, marrom 1, vermelho 2, laranja 3, amarelo 4, verde 5, azul 6, roxo 7, cinza 8, branco 9,
castanho 1%, dourado 5%, prateado 10%, sem cor 20%.
18
LEDs
Um LED, ou diodo emissor de luz, é um componente
que converte energia elétrica em Luz. LEDs são
componentes polarizados, ou seja, só permitem a
passagem de corrente elétrica em um único sentido. Os
polos dos LEDs podem ser identificados pelas suas pernas, geralmente, a perna
maior é o polo positivo e a perna menor o polo negativo. Quando uma voltagem
é aplicada no polo positivo e o polo negativo é conectado ao terra, GND, o LED
emitirá luz. Pode-se observar também o interior do LED, o condutor menor
corresponde ao lado positivos e o maior ao lado negativo.
PLACA DE TESTES
A placa de testes, também chamada de matriz de contatos ou protoboard, é o
primeiro local onde você monta seus circuitos. Essa placa tem como principal
finalidade permitir a montagem e desmontagem de circuitos sem a necessidade
de soldar os componentes, conforme apresentado na Figura 12.
19
Figura 12. Ilustração destacando as características da placa de testes.
Audiodescrição: Ilustração da placa de teste, destacando os cinco furos na linha horizontal são
conectados entre si por uma fita de metal condutor no interior da placa. Porém são separados
dos outros cinco furos abaixo e dos laterais. Os furos das colunas verticais também são
conectados entre si. Porém são separados dos outros furos laterais. Essas duas filas de furos
são, geralmente, utilizadas para conectar os polos positivos e negativos do circuito.
JUMPERS
Jumpers são cabos condutores responsáveis por realizar as conexões entre os
componentes dos circuitos eletrônicos. São utilizados juntamente com as placas
de teste na montagem dos circuitos. Repare que no exemplo abaixo, Figura 13,
os jumpers azuis estão conectados em um circuito fechado, já que os 5 furos nas
linhas horizontais estão conectados entre si. Já os jumpers verdes não estão em
circuito, já que estão em linhas horizontais diferentes. Assim como os jumpers
amarelos, que não estão em circuito fechado já que no centro da placa os furos
não estão conectados. O jumper vermelho está conectado de tal forma que todos
os furos das colunas verticais, nas quais ele está conectado, de alimentação
estão conectados entre si.
20
Figura 13. Ilustração destacando as características da placa de testes.
MONTANDO O CIRCUITO
Antes de iniciar a montagem do circuito de qualquer projeto é importante seguir
os passos abaixo:
1. Separar os componentes necessários;
2. Garantir que a alimentação elétrica do circuito está desligada;
3. Montar o circuito na placa de testes;
4. Conferir o circuito, todas as conexões, antes de ligar a alimentação;
5. Testar o circuito montado.
Caso não funcione, desligue novamente a alimentação elétrica e confira todo o
circuito, ponto a ponto, de acordo com a ilustração da atividade.
21
Etapa 01: Separe os componentes necessários para a montagem do circuito.
Etapa 02: Conecte o LED vermelho na protoboard com a perna maior, perna
positiva, em uma coluna vertical e a menor em outra.
22
Etapa 03: Como você já sabe, para utilizar um LED com um Arduino deve-se
utilizar um resistor para reduzir a corrente, sendo assim, insira um resistor em
série com a perna maior do LED. Resistores não possuem polaridade, ou seja,
não importa qual terminal do resistor será conectada a alimentação.
Etapa 04: Nessa etapa vamos começar a fechar o nosso circuito, vamos iniciar
com a perna negativa do LED, a coluna na qual ela está ligada será conectada,
utilizando um jumper preto, com o pino GND da placa Arduino, que significa
terra, ou seja, ausência de tensão.
23
Etapa 05: Vamos agora fechar o circuito fornecendo tensão positiva para o
LED, para tanto conectamos os pinos nos quais o resistor está ligado com o
furo 5V da placa Arduino, utilizando um jumper vermelho.
Etapa 07: Caso esteja tudo correto, conecte a porta USB à placa Arduino Uno e
ao computador, alimentando assim o circuito. É esperado que, da forma que o
circuito está montado, o LED acenda.
24
Fonte: Elaborado pelo Autor (2022)
Audiodescrição: Ilustração de uma placa de testes com LED vermelho com sua perna menor
conectada ao pino GND do Arduino e a perna maior ligada a um resistor, conectado ao pino 5V
do Arduino por um jumper.
O LED não acendeu? Confira novamente todas as ligações, pode ser apenas
um pino conectado na posição errada.
25
Projeto 02: Controlando um LED com o Arduino
No projeto anterior você conseguiu ligar um led, agora é hora de assumir o controle.
Tempo: 30 minutos
Dificuldade: ◼◼◼◼◼
MONTANDO O CIRCUITO
26
Etapa 02: Conecte o LED vermelho na protoboard com a perna maior, perna
positiva em uma coluna vertical e a menor em outra. Como você já sabe, para
utilizar um LED com um Arduino deve-se utilizar um resistor para reduzir a
corrente, sendo assim, insira um resistor em série com a perna maior do LED.
Etapa 03: Conecte a coluna na qual está ligada a perna negativa do LED,
utilizando um jumper preto, com o furo GND da placa Arduino, que significa
terra, ou seja, ausência de tensão.
27
Etapa 04: Vamos agora fechar o circuito, como você quer controlar quando o
LED irá acender, utilizando um jumper vermelho, conecte a coluna na qual está
a perna do resistor à pino 12 do Arduino UNO.
Etapa 06: Caso esteja tudo correto, conecte a porta USB à placa Arduino Uno e
ao computador, alimentando assim o circuito. É esperado que, da forma que o
circuito está montado, o LED não acenda, já que ainda não fizemos a
programação do Arduino para controlar o LED.
28
CRIANDO O PROGRAMA
29
Audiodescrição: Imagem da tela principal do Tinkercad, destacando o meu de programação.
Ao criar um projeto, por padrão, o Tinkercad já tem um código pré-gravado no
Arduino, esse código tem como função piscar o LED da placa Arduino, ou algum
LED conectado ao pino 13. Porém, no nosso exemplo, estamos trabalhando com
um LED conectado ao pino 12, dessa forma vamos arrastar todos os blocos
dentro do “para sempre” para o lixeiro, ou vamos utilizar o segundo botão do
mouse para excluir esses blocos, ficando apenas com os blocos “no início” e
“para sempre”.
Etapa 10: Como desejamos ligar o LED conectado no pino 12, vamos iniciar
nosso código definindo esse pino 12 no estado “ALTO”. Como o pino 12 é um
pino digital e vamos trabalhar como um pino de saída de informação, ou seja,
saída de 5V ou 0V (GND). Vamos arrastar um bloco para definir esse pino como
“ALTO”, basta arrastar esse bloco e colocar dentro da função “para sempre”.
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 }
7
8 void loop()
9 {
10 digitalWrite (12, HIGH);
11 delay(10);
12 }
30
Etapa 11: Vamos analisar o código correspondente. A função “setup” é utilizada,
principalmente, para configurar as conexões realizadas com o Arduino. Por essa
razão, ao inserimos o bloco para definir o pino 12 como alto, o código
correspondente inclui a função “pinMode” no “setup”, para declarar que o modo
do pino 12 é um pino de saída, “OUTPUT”. Como os pinos digitais podem ser
utilizados como pinos de saída (OUTPUT) ou entrada (INPUT), sempre será
necessário declarar o modo de trabalho desse pino. Já a função “loop” é
executada “para sempre”, ou seja, repetidas vezes até que o Arduino seja
desconectado. Para que o pino seja definido no modo alto, devemos utilizar a
função “digitalWrite”, que “escreve” na porta digital 12 o estado alto, “HIGH”. Ao
testar o código pode-se perceber que o LED irá ligar, já que no pino 12 está tendo
como voltagem de saída 5V.
Etapa 12: Como nosso objetivo é criar um código que ligue e desligue o LED
repetidas vezes. Para tanto devemos ligar o LED, aguardar 1 segundo, desligar
o LED e aguardar mais 1 segundo, repetindo o código do começo. Para tanto,
vamos utilizar, além da função para “definir o pino 12 como ALTO ou BAIXO”,
também uma função para “aguardar 1 segundo”. Esse bloco fica no grupo
“Controlar”. Dessa forma o código gerado deve se assemelhar ao código abaixo.
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 }
7
8 void loop()
9 {
10 digitalWrite (12, HIGH);
11 delay(1000);
12 digitalWrite (12, HIGH);
13 delay(1000);
14 }
31
Analisando a programação obtida, iniciando com a programação em Blocos,
temos na função “para sempre” os comandos para “definir pino 12 como ALTO”,
ou seja, a saída do pino 12 será +5V, ou seja, o LED será ligado, em seguida
temos o bloco “aguardar 1 s” para então “definir pino 12 como BAIXO”, ou seja,
a saída do pino 12 será 0V (GND), ou seja, o LED será desligado e por fim
aguarda-se mais 1 segundo. O código em C++, correspondente a esse algoritmo,
traz na função “setup” a função para configuração do modo do pino 12 como
saída e na função “loop” tem-se as funções para definir o pino 12 como alto,
“digitalWrite(12, HIGH)”, a função “delay” para aguardar 1000 ms, ou seja, 1000
milissegundos, além das funções “digitalWrite(12, LOW)”, para definir o pino 12
como baixo e a função “delay” mais uma vez para aguardar mais 1000 ms. Esse
mesmo código pode ser escrito na IDE do Arduino e gravado na placa.
Não funcionou? Confira novamente todas as ligações, pode ser apenas um pino
conectado no furo errado, além disso, confira o valor do pino digital no bloco.
32
Projeto 03: Criando um Semáforo com o Arduino
Nesse projeto você vai criar um semáforo, igual aqueles que controlam o trânsito da
sua cidade.
Tempo: 60 minutos
Dificuldade: ◼◼◼◼◼
MONTANDO O CIRCUITO
33
Etapa 02: Antes de você iniciar a montagem do circuito escreva no seu caderno
quais as partes que compõem um semáforo de trânsito.
Etapa 03: Agora que você já sabe as partes que compõem um semáforo, já deve
imaginar como será realizada a montagem do circuito. Como o semáforo possui
três cores, precisaremos de três LEDs, um vermelho, um amarelo e um verde.
Nessa primeira etapa, monte um circuito para controlar um LED vermelho, com
o pino 12 do Arduino.
34
Etapa 04: Adicione ao seu circuito, agora, um LED amarelo, juntamente com o
seu resistor, conectado ao pino 11 do Arduino.
Etapa 05: Por fim, adicione ao seu circuito um LED verde, juntamente com o seu
resistor, conectado ao pino 10, do Arduino.
35
Etapa 06: Antes de alimentar o circuito, confira todas as conexões realizadas.
Atenção para os detalhes. Vamos conferir o circuito:
Etapa 07: Caso esteja tudo correto, conecte a porta USB à placa Arduino Uno e
ao computador, alimentando assim o circuito. É esperado que, da forma que o
circuito está montado, os LEDs ainda não liguem, já que ainda não fizemos a
programação do Arduino para controlar os LEDs. Agora que você já montou o
circuito do semáforo, resta apenas controlar os LEDs de acordo com o
funcionamento de um semáforo, mas para fazer isso você deve compreender
como funciona um semáforo. Antes de seguir em frente, analise os três estados
do semáforo abaixo e crie, no caderno, a sequência de comandos para que o
semáforo funcione.
O resultado deve ser semelhante ao ilustrado abaixo:
36
Audiodescrição: Ilustração de um semáforo destacando o funcionamento de um semáforo e a
sequência de comandos para seu acionamento.
CRIANDO O PROGRAMA
Etapa 08: Na plataforma Tinkercad clique no botão “Código”, em seguida altere o modo
de edição para Blocos + Texto. Vamos iniciar a criação do código, mantendo o formato
de programação em blocos e em texto.
Etapa 09: A próxima etapa é desligar o sinal vermelho e ligar o sinal verde. Ou
seja, o pino 12 ficará como baixo na saída e o pino 10 como alto, ligando o LED
verde e esperando 3 segundos. Clique no botão “Iniciar simulação” para testar
se, após 4 segundos o LED vermelho desliga e o LED verde acende.
37
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (10, OUTPUT);
7 }
8
9 void loop()
10 {
11 digitalWrite (12, HIGH);
12 delay(4000);
13 digitalWrite (12, LOW);
14 digitalWrite (10, HIGH);
15 delay(4000);
16 }
Etapa 10: Agora que você já conseguiu acionar o sinal verde, basta desligar o
sinal verde e ligar o amarelo por 1 segundo. Para fazer isso você deve colocar a
saída do pino 10, do LED verde, no estado baixo e a do pino 11, do LED amarelo,
no estado alto, aguardar 1 segundo e desligar o LED amarelo.
38
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (10, OUTPUT);
7 pinoMode (11, OUTPUT);
8 }
9
10 void loop()
11 {
12 digitalWrite (12, HIGH);
13 delay(4000);
14 digitalWrite (12, LOW);
15 digitalWrite (10, HIGH);
16 delay(3000);
17 digitalWrite (10, LOW);
18 digitalWrite (11, HIGH);
19 delay(1000);
20 digitalWrite (11, LOW);
21 }
39
Confira se todos os comandos estão sendo realizados
de forma correta, olhe para o seu circuito e confirme se:
1. LED vermelho fica ligado por 4 segundos e depois
desliga;
2. LED verde é ligado na sequência, permanece 3
segundos ligado e desliga;
3. LED amarelo é ligado na sequência, permanece 1
segundo ligado e desliga.
Não funcionou? Confira novamente todas as ligações, pode ser apenas um pino
conectado no furo errado, além disso, confira o valor do pino digital nos blocos,
se eles estão encaixados corretamente.
40
Projeto 04: Semáforo Duplo com Arduino
Você já conseguiu criar um semáforo, mas você já reparou que, geralmente, são dois
semáforos? Um em cada rua de um cruzamento?
Tempo: 60 minutos
Dificuldade: ◼◼◼◼◼
MONTANDO O CIRCUITO
41
Etapa 02: Antes de você passar para a próxima página, escreva no seu caderno
quais os componentes de dois semáforos de trânsito.
Etapa 04: Agora que você já montou o circuito com os três LEDs que compõem
o primeiro semáforo, adicione ao seu circuito outros três LEDs, um de cada cor,
nos pinos 6, 4 e 2, para compor o segundo semáforo.
42
Etapa 05: Antes de alimentar o circuito, confira todas as conexões.
• Jumpers pretos, conectados na mesma coluna que a perna menor dos LEDs e
com uma linha conectada com o pino GND, terra, do Arduino;
• Jumper vermelho saindo do pino 12 do Arduino e conectado à coluna junto com
o resistor conectado à perna maior do LED vermelho, que tem sua perna menor
na coluna vertical da placa, conectado por um jumper preto na linha em serie
com o GND do Arduino;
• Jumper amarelo saindo do pino 10 do Arduino e conectado à coluna junto com
o resistor conectado à perna maior do LED amarelo, que tem sua perna menor
na coluna vertical da placa, conectado por um jumper preto na linha em serie
com o GND do Arduino;
• Jumper verde saindo do pino 8 do Arduino e conectado à coluna junto com o
resistor conectado à perna maior do LED verde, que tem sua perna menor na
coluna vertical da placa, conectado por um jumper preto na linha em serie com
o GND do Arduino;
• Jumper vermelho saindo do pino 6 do Arduino e conectado à coluna junto com
o resistor conectado à perna maior do LED vermelho, que tem sua perna menor
na coluna vertical da placa, conectado por um jumper preto na linha em serie
com o GND do Arduino;
• Jumper amarelo saindo do pino 4 do Arduino e conectado à coluna junto com o
resistor conectado à perna maior do LED amarelo, que tem sua perna menor na
coluna vertical da placa, conectado por um jumper preto na linha em serie com
o GND do Arduino;
• Jumper verde saindo do pino 2 do Arduino e conectado à coluna junto com o
resistor conectado à perna maior do LED verde, que tem sua perna menor na
coluna vertical da placa, conectado por um jumper preto na linha em serie com
o GND do Arduino.
43
Etapa 06: Antes de você iniciar a programação, analise todas as etapas
envolvidas no funcionamento dos dois semáforos. Repare que, sempre que o
Semáforo 01 está com sinal verde ou amarelo, o Semáforo 02 deve ficar com o
sinal vermelho, e vice-versa. Crie, no caderno, a sequência de comandos
necessárias para que os semáforos funcionem de forma conjunta.
44
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (2, OUTPUT);
7 }
8
9 void loop()
10 {
11 digitalWrite (12, HIGH);
12 digitalWrite (2, HIGH);
13 delay(3000);
14 }
Etapa 08: A próxima etapa é desligar o sinal verde do semáforo 02 e ligar o sinal
amarelo. Para tanto, você deve definir a saída do pino 2, LED verde, como baixo
e a saída do pino 4, LED amarelo, para alto, e aguardar 1 segundo. Perceba que,
nesse momento, o sinal vermelho do semáforo 01 permanece inalterado, ou seja,
ligado. Teste se o LED verde do semáforo 2 apaga após 3 segundos, ligando o
LED vermelho do semáforo 2, enquanto o LED vermelho do semáforo 1
permanece ligado.
45
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (2, OUTPUT);
7 pinoMode (4, OUTPUT);
8 }
9
10 void loop()
11 {
12 digitalWrite (12, HIGH);
13 digitalWrite (2, HIGH);
14 delay(3000);
15 digitalWrite (2, LOW);
16 digitalWrite (4, HIGH);
17 delay(1000);
18 }
Etapa 09: Agora você tem que desligar os sinais vermelho, do semáforo 01, e
amarelo, do semáforo 02, e ligar os sinais verde, do semáforo 01, e vermelho,
do semáforo 02. Para tanto você deve definir as saídas dos pinos 12 e 4, LEDs
vermelho e amarelo, como baixo e a saída dos pinos 8 e 6, LEDs verde e
vermelho, para alto, e aguardar 3 segundos. Clique no bloco para testar o
funcionamento do programa até esse momento.
46
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (2, OUTPUT);
7 pinoMode (4, OUTPUT);
8 pinoMode (6, OUTPUT);
9 pinoMode (8, OUTPUT);
10 }
11
12 void loop()
13 {
14 digitalWrite (12, HIGH);
15 digitalWrite (2, HIGH);
16 delay(3000);
17 digitalWrite (2, LOW);
18 digitalWrite (4, HIGH);
19 delay(1000);
20 digitalWrite (12, LOW);
21 digitalWrite (4, LOW);
22 digitalWrite (6, HIGH);
23 digitalWrite (8, HIGH);
24 delay(3000);
25 }
Etapa 10: Por fim, você deve apagar o sinal verde, do semáforo 01, e ligar o sinal
amarelo, aguardar 1 segundo e desligar os sinais dos dois semáforos. Para fazer
isso você deve definir a saída do pino 8, LED verde, como baixo e do pino 10,
LED amarelo, como alto, aguardar 1 segundo, e então definir os dois pinos 6,
LED vermelho, e 10, LED amarelo, para nível baixo.
47
1 // C++ code
2 //
3 void setup()
4 {
5 pinoMode (12, OUTPUT);
6 pinoMode (2, OUTPUT);
7 pinoMode (4, OUTPUT);
8 pinoMode (6, OUTPUT);
9 pinoMode (8, OUTPUT);
10 pinoMode (10, OUTPUT);
11 }
12
13 void loop()
14 {
15 digitalWrite (12, HIGH);
16 digitalWrite (2, HIGH);
17 delay(3000);
18 digitalWrite (2, LOW);
19 digitalWrite (4, HIGH);
20 delay(1000);
21 digitalWrite (12, LOW);
22 digitalWrite (4, LOW);
23 digitalWrite (6, HIGH);
24 digitalWrite (8, HIGH);
25 delay(3000);
26 digitalWrite (8, LOW);
27 digitalWrite (10, HIGH);
28 delay(1000);
29 digitalWrite (6, LOW);
30 digitalWrite (10, LOW);
31 }
48
AGORA É A SUA VEZ
Que tal incluir, no seu projeto, uma sinalização para os pedestres? Utilizando
LEDs verde e vermelho, você pode sinalizar a passagem segura para os
pedestres, quando o sinal estiver vermelho.
Não funcionou? Confira novamente todas as ligações, pode ser apenas um pino
conectado no furo errado, além disso, confira o valor do pino digital nos blocos,
se eles estão encaixados corretamente.
Mini currículo
Pedro Lemos de Almeida Júnior
Professor de Ensino Básico, Técnico e Tecnológico
no Instituto Federal do Sertão Pernambucano,
campus Salgueiro. Doutor em Química, pela
Universidade Federal da Paraíba. Licenciado em
Química, pela UFRPE, e mestre em Química pela
mesma universidade, tendo realizado parte do
mestrado na Universidade de Coimbra. Membro do Laboratório de Química
Analítica, LAQA, na UFPB, atua na área de Instrumentação e Automação em
Química Analítica. Atualmente integra o Laboratório IFMaker do IFSertãoPE e
preside o Grupo de Estudos Ambientais no Sertão Pernambucano (GEASP),
além de ser membro do Grupo de Estudos e Pesquisas em Práticas
Educacionais Tecnológicas (GEPET), vinculados ao IFSertãoPE.
Referências
49