Você está na página 1de 23

GOVERNADOR DO ESTADO DO PARANÁ

Carlos Massa Ratinho Júnior

SECRETÁRIO DE ESTADO DA EDUCAÇÃO


Renato Feder

DIRETOR DE TECNOLOGIA E INOVAÇÃO


Andre Gustavo Souza Garbosa

COORDENADOR DE TECNOLOGIAS EDUCACIONAIS


Marcelo Gasparin

Produção de Conteúdo
Cleiton Rosa
Simone Sinara de Souza

Validação de Conteúdo
Cleiton Rosa

Revisão Textual
Adilson Carlos Batista

Leitura Crítica e Normalização Bibliográfica


Ricardo Hasper

Projeto Gráfico e Diagramação


Edna do Rocio Becker

Fotografia
Darice Alessandra Deckmann Zanardini
Stella Maris Oliveira Ludwig (Educa Play)

Ilustração
Jocelin Vianna (Educa Play)

2021
Sumário
1. INTRODUÇÃO .................................................................01

2. CONSTRUINDO OS SEMÁFOROS..................................02
2.1 MONTAGEM............................................................03
2.2 PROGRAMANDO OS SEMÁFOROS...........................08
2.2.1 Linguagem de programação por codificação.........08
2.2.2 Linguagem de programação em blocos..........11

3. VIDEOTUTORIAL ..........................................................17

4. REFERÊNCIAS................................................................18
Semáforo com Arduino [Carro + Pedestre]

1. INTRODUÇÃO
Imagine a seguinte situação: você está
se deslocando no centro de sua cidade, em
seu horário de almoço (hora do “rush”) e
precisa atravessar uma avenida para chegar
ao local desejado. Os fluxos constantes de
carros começam a lhe deixar incomodado
e você resolve arriscar atravessando a via
pública no intervalo de um carro e outro.
De repente você escuta uma freada brusca
e perde seus sentidos. Você agora faz parte
da estatística de vítimas por acidentes
de trânsito ocasionados diariamente nas
grandes cidades.
Os acidentes de trânsito são uma das
principais causas de óbitos no Brasil e uma das
inúmeras situações que levam engenheiros
de tráfego terrestre a elaborarem ações que
possam minimizar problemas de conflitos
no trânsito, seja por meio de instalação de
equipamentos de controle de velocidade,
mudança de direção de tráfego nas vias
públicas ou a instalação de semáforos em
ruas e avenidas de centros urbanos.
Os semáforos são dispositivos de
sinalização formados por sistemas de luzes
com cores (vermelho, amarelo e verde) com o
objetivo de informar aos usuários de trânsito
(motoristas, pedestres, ciclistas, entre outros)
o momento permitido à circulação, à espera e
à transição entre uma ou outra circunstância.
Quando sincronizados, reduzem a formação
de congestionamentos e beneficiam a
travessia de pedestres e ciclistas em vias
urbanas.
Este projeto visa a demonstrar como Fonte: SEED/DTI/CTE
funciona a sincronização entre os semáforos
para motoristas e para pedestres. Para tanto, apresentaremos um protótipo constituído por
componentes eletrônicos que permitem a simulação dos dois semáforos, a programação
do funcionamento destes, na linguagem escrita e em blocos, além de videotutorial para
a montagem e funcionamento dos semáforos na escola.

1
Semáforo com Arduino [Carro + Pedestre]

2. CONSTRUINDO OS SEMÁFOROS
Para a confecção dos semáforos, utilizaremos os seguintes materiais:

01 Placa Protoboard 01 Arduino UNO R3 01 Cabo USB

07 Jumpers Macho-Macho 05 Resistores 220 Ohms 02 LEDs vermelho 5mm

02 LEDs verde 5mm 01 LED amarelo 5mm 01 Computador;


Software IDE Arduino ou
Software mBlock

No funcionamento dos semáforos são usados três LEDs para os carros


e dois LEDs para os pedestres. A sequência inicia com o LED verde (aceso)
para os carros e o vermelho para os pedestres. O semáforo dos carros passa
para cor amarela e vai para a cor vermelha, com o LED verde (aceso) para os
pedestres. O LED vermelho dos pedestres pisca e a sequência volta ao início.

2
Semáforo com Arduino [Carro + Pedestre]

Fonte: SEED/DTI/CTE

2.1 MONTAGEM
Com os materiais separados, é iniciada a confecção do protótipo. O
primeiro passo é a montagem dos componentes eletrônicos. Utilizamos a
matriz de contato Protoboard, que é uma placa de prototipagem eletrônica
com orifícios e conexões condutoras, a qual permite montar circuitos ele-
trônicos sem haver a necessidade de soldar os componentes na placa. A
Protoboard é composta por faixas terminais e faixas de barramento. Cada
faixa terminal possui cinco pontos conectados por um condutor metálico e
representados por letras do alfabeto. Já as faixas de barramento possuem,
geralmente, uma faixa azul que serve como sinal de alimentação negativa
do circuito eletrônico, e uma de cor vermelha, como sinal de alimentação
positiva, conforme mostra a figura 1.

Figura 1 – Placa Protoboard

Fonte: SEED/DTI/CTE

3
Semáforo com Arduino [Carro + Pedestre]

O primeiro com- Figura 2 – Esquema de um LED


ponente eletrônico que
você deve inserir na pla-
ca são os diodos emisso-
res de luz, também cha-
mados de LED. Os LEDs
são compostos por uma
parte encapsulada e dois
terminais: um longo cha-
mado Ânodo (polo positi-
vo) e um curto, dito Cáto-
do (polo negativo), como
mostra a figura 2.

Fonte: SEED/DTI/CTE

Na placa Protoboard, encaixe os LEDs das cores verde,


amarelo, vermelho, verde e vermelho, respectivamente, tomando
o cuidado de conectar o terminal negativo na linha azul inferior da
Protoboard (figura 3).

Figura 3 - Inserção de LED na Protoboard

4
Semáforo com Arduino [Carro + Pedestre]

O próximo componente inserido na placa são


os Resistores, que são dispositivos que convertem
energia elétrica em energia térmica. Geralmente
possuem quatro faixas coloridas as quais, conforme
as sequências de cores, determinam o valor da
resistência, em Ohms (figura 4).
Figura 4 – Exemplo de Resistor

Fonte: SEED/DTI/CTE

Conecte um dos terminais dos Resistores em cada terminal positivo dos


LEDs e o outro terminal na parte superior da Protoboard, conforme mostra a
figura 5.

Figura 5 – Inserindo Resistores na placa.

5
Semáforo com Arduino [Carro + Pedestre]

Para o funcionamento dos Figura 6 – Placa Arduino UNO R3


LEDs utilize uma placa Arduino
R3. Esta placa microcontrola-
dora facilita a programação
de circuitos eletrônicos, possui
saídas analógicas e digitais, e
conexões feitas através de en-
caixes, não havendo a necessi-
dade de soldar os componen-
tes na placa. Além disso, é de
fácil conexão com computado-
res por meio de comunicação
USB (figura 6). Fonte: SEED/DTI/CTE

A conexão da placa Arduino com a placa Protoboard será feita por meio
de Jumpers, que são cabos condutores utilizados para conectar dois pontos
de um circuito eletrônico. Existem dois tipos de Jumpers: o macho, que
possui um conector para ser utilizado na Protoboard; e a fêmea, que possui
um orifício que pode ser conectado a um componente eletrônico ou Jumper
macho. Há, ainda, três variedades de Jumpers: Jumper Macho-Macho que
apresenta as extremidades com conectores; Jumper Macho-Fêmea com uma
extremidade contendo conector e outra extremidade com orifício; e Jumper
Fêmea-Fêmea cujas extremidades são formadas por orifícios (figura 7).

Figura 7 – Variedades de Jumpers

Jumper Macho - Macho Jumper Fêmea - Fêmea Jumper Macho - Fêmea

Fonte: SEED/DTI/CTE

6
Semáforo com Arduino [Carro + Pedestre]

Conecte um Jumper entre a porta GND do Arduino e a


linha azul da Protoboard em que estão conectados os polos
negativos dos LEDs, e outro Jumper unindo as duas linhas
laterais azuis da Protoboard, como mostra a figura 8.

Figura 8 – Conectando a placa Arduino à placa Protoboard

Interligue com Jumpers, os 5


Resistores às 5 portas digitais do Arduino
(neste exemplo, escolhemos as portas
3, 4, 5, 6 e 7), respeitando a sequência
apresentada na figura 9.

Figura 9 – Interligando Resistores às portas digitais da placa Arduino

Uma vez conectado todos os Resistores as portas digitais do Arduino,


o próximo passo é programar o Arduino para que ele pisque os LEDs de
acordo com os sinais de trânsito.

7
Semáforo com Arduino [Carro + Pedestre]

2.2 PROGRAMANDO OS SEMÁFOROS


Neste projeto, apresentamos a programação do funcionamento dos
semáforos na linguagem escrita (codificação) e em blocos.

2.2.1 Linguagem de programação por codificação


Para iniciar a programação, conecte a placa Arduino ao computador,
através de um Cabo USB e selecione a porta de comunicação que o
computador atribuiu ao Arduino em Ferramentas > Porta, para que ocorra
a comunicação entre a placa microcontroladora e a IDE de programação
do Arduino, caso esta esteja instalada em seu computador. Caso contrário,
a comunicação poderá ser feita on-line, por meio do seguinte endereço
eletrônico:

https://create.arduino.cc/editor

Na IDE de programação do Arduino, escreva ou copie e cole o código-


fonte de programação, conforme apresentado no quadro 1:

Fonte: SEED/DTI/CTE

8
Semáforo com Arduino [Carro + Pedestre]

Quadro 1 - Código-fonte da programação na linguagem do Arduino (Wiring)

/************************************************************/
/*        Projeto - Semáforo de Carros e Pedestres          */
/* Programação de um semáforo para carros e pedestres.     */
/************************************************************/

/* Definições dos pinos para cada um dos LEDs.              */


int led_vermelho_ped = 3;
int led_verde_ped = 4;
int led_vermelho_car = 5;
int led_amarelo_car = 6;
int led_verde_car = 7;
/* Função para as configurações da programação.             */
void setup() {
 /* Define os pinos dos LEDs como saída.                   */
 pinMode(led_vermelho_ped, OUTPUT);
 pinMode(led_verde_ped, OUTPUT);
 pinMode(led_vermelho_car, OUTPUT);
 pinMode(led_amarelo_car, OUTPUT);
 pinMode(led_verde_car, OUTPUT);
}
/* Bloco Principal: Execução das ações do programa.         */
void loop() {
 /* Liga o vermelho dos pedestres.                         */
 digitalWrite(led_vermelho_ped, 1);
 /* Liga o verde dos carros.                               */
 digitalWrite(led_verde_car, 1);
 /* Aguarda 5 segundos.                                    */
 delay(5000);
 /* Liga o amarelo dos carros.                             */
 digitalWrite(led_amarelo_car, 1);
 /* Desliga o verde dos carros.                            */
 digitalWrite(led_verde_car, 0);
 /* Aguarda 1 segundo.                                     */
 delay(1000);
 /* Liga o vermelho dos carros.                            */
 digitalWrite(led_vermelho_car, 1);
 /* Desliga o amarelo dos carros.                          */
 digitalWrite(led_amarelo_car, 0);
 /* Desliga o vermelho dos pedestres.                      */
 digitalWrite(led_vermelho_ped, 0);
 /* Liga o verde dos pedestres.                            */
 digitalWrite(led_verde_ped, 1);
 /* Aguarda 5 segundo.                                     */
 delay(5000);
 digitalWrite(led_verde_ped, 0);
 /* Inicia uma contagem para o LED piscar 5 vezes.         */
 for (int count = 0; count < 5; count++) {
   /* Liga o LED vermelho dos pedestres.                   */
   digitalWrite(led_vermelho_ped, 1);
   /* Aguarda 0,25 segundos.                               */
   delay(250);
   /* Desliga o LED vermelho dos pedestres.                */
   digitalWrite(led_vermelho_ped, 0);
   /* Aguarda 0,25 segundos.                               */
   delay(250);
 }
 /* Desliga o vermelho dos carros.                         */
 digitalWrite(led_vermelho_car, 0);
}

9
Semáforo com Arduino [Carro + Pedestre]

A seguir, compile o programa pressionando o botão Verificar (botão


com sinal de tique) para verificar se não há erros de sintaxe. Estando o có-
digo correto, o próximo passo é realizar a transferência do programa para o
Arduino. Pressione o botão Carregar (botão com uma seta apontando para
a direita), para realizar upload do programa para o Arduino, conforme de-
mostra a figura 10.

Figura 10 – Compilando a programação em linguagem escrita

Após a transferência do programa para o Arduino, os LEDs presentes


na placa Protoboard devem piscar conforme a sequência programada, simu-
lando o funcionamento dos semáforos.

10
Semáforo com Arduino [Carro + Pedestre]

2.2.2 Linguagem de programação em blocos


Outra forma de simular o funcionamento dos semáforos é por meio
da linguagem de programação que utiliza blocos de funções prontas, os
quais representam comandos de programação. Neste projeto, utilizamos o
software mBlock, disponível no endereço eletrônico: https://ide.mblock.cc/,
que permite programar, arrastando e soltando blocos de construção (figura
11). Este software também pode ser instalado no computador:

http://www.mblock.cc/en-us/download

Figura 11 – Layout do software mBlock

11
Semáforo com Arduino [Carro + Pedestre]

Figura 12 – Selecionando a placa Arduino UNO


Para conectar o
mBlock ao Arduino, você
deve clicar no ícone Adi-
cionar, localizado no
campo “Dispositivos” (fi-
gura 11), e selecionar o
Arduino, na biblioteca de
dispositivos do mBlock,
clicando, na sequência,
no botão “OK”, conforme
mostra a figura 12.

Figura 13 – Conectando Arduino UNO ao mBlock

Uma vez selecio-


nado, o Arduino UNO
é visualizado no campo
“Dispositivos” do mBlo-
ck e já é possível iniciar
a programação em blo-
cos (figura 13).

Monte os blocos, arrastando e soltando, de acordo com a programação


de funcionamento dos semáforos, como mostra a figura 14.

12
Semáforo com Arduino [Carro + Pedestre]

Figura 14 - Programação em blocos para funcionamento de semáforos

13
Semáforo com Arduino [Carro + Pedestre]

Assim que os blocos estiverem


montados, clique no botão “Conectar”
(figura 13) para transferir os comandos
criados no mBlock para o Arduino UNO.
Caso você esteja utilizando o software
mBlock na versão on-line, ao clicar sobre
o botão “Conectar” aparecerá um Tooltip
solicitando que seja instalado e ativado o
driver e o controlador de dispositivo mLink,
para o funcionamento do mBlock Web
(figura 15), permitindo, assim, a conexão
entre os dois dispositivos.

Figura 15 – Instalar dispositivo mBlock Web.

14
Semáforo com Arduino [Carro + Pedestre]

Por outro lado, se estiver Figura 16 – Confirmar conexão entre mBlock e


Arduino UNO
utilizando a versão mBlock
instalada no computador, ao
clicar sobre o botão “Conectar”,
aparecerá um Tooltip solicitando a
confirmação da conexão entre os
dois dispositivos, conforme mostra
a figura 16.

Figura 17 - Botão de Upload e carregamento da


programação em blocos

Uma vez realizada a conexão


entre os dispositivos, será ativado,
na interface do mBlock, o botão
“Upload”, o qual, ao ser clicado,
carrega os comandos criados no
software para o Arduino UNO
(figura 17).

15
Semáforo com Arduino [Carro + Pedestre]

Com a transferência do código para o dispositivo Arduino UNO, inicia-


se o funcionamento dos semáforos, ou seja, os LEDs começam a acender e
a apagar de acordo com a ordem e o tempo definido na programação em
blocos.

16
Semáforo com Arduino [Carro + Pedestre]

3 VIDEOTUTORIAL
Com o intuito de auxiliar na montagem e na programação dos semáfo-
ros apresentamos um videotutorial, disponível em:

https://rebrand.ly/p1robotica

Acesse, também, pelo QRCode:

17
Semáforo com Arduino [Carro + Pedestre]

Desafio!
Agora é a sua vez....

Desenvolva uma estrutura para representar visualmente o semáforo.


Use sua criatividade e utilize os materiais que você tem à mão.

4 REFERÊNCIAS
ARDUINO. Ambiente de Programação do Arduino. Disponível em:
https://create.arduino.cc/editor Acesso em: 15 out. 2021

BRASIL. Ministério da Educação. Base Nacional Comum Curricular. Brasília, 2018.


Disponível em:
http://basenacionalcomum.mec.gov.br/images/BNCC_EI_EF_110518_versaofinal_site.pdf
Acesso em: 08 out. 2021.

MAKEBLOCK. mBlock. Download mBlock. Disponível em: https://mblock.makeblock.com/


en-us/download/ Acesso em: 15 out. 2021.

MAKEBLOCK. mBlock. Programação em blocos. Disponível em: https://ide.mblock.cc/


Acesso em: 15 out. 2021.

18
Semáforo com Arduino [Carro + Pedestre]

COORDENAÇÃO DE TECNOLOGIAS EDUCACIONAIS (CTE)

DIRETORIA DE TECNOLOGIAS E INOVAÇÃO (DTI)

EQUIPE ROBÓTICA PARANÁ


Adilson Carlos Batista
Cleiton Rosa
Darice Alessandra Deckmann Zanardini
Edna do Rocio Becker
Marcelo Gasparin
Michelle dos Santos
Ricardo Hasper
Simone Sinara de Souza

Os materiais, aulas e projetos da “Robótica Paraná”, foram produzidos pela


Coordenação de Tecnologias Educacionais (CTE), da Diretoria de Tecnologia e
Inovação (DTI), da Secretaria de Estado da Educação e do Esporte do Paraná (Seed),
com o objetivo de subsidiar as práticas docentes com os estudantes por meio da
Robótica.
Este material foi produzido para uso didático-pedagógico exclusivo em sala de aula.

Este trabalho está licenciado com uma Licença


Creative Commons – CC BY-NC-SA
Atribuição - NãoComercial - CompartilhaIgual 4.0

19

Você também pode gostar