Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. SEMÁFORO
A cor verde significa que o automóvel pode transitar pelas ruas dentro da velocidade e das
condições permitidas pelas normas do trânsito em geral. Quando ocorre a mudança para a
cor amarela indica que o motorista deve ter atenção e diminuir sua marcha porque logo
chegará o sinal vermelho, este indica que o motorista deve parar seu veículo totalmente
porque a próxima rua que cruza estará livre a partir desse momento, desta maneira, os
pedestres terão a possibilidade de atravessar a rua pela correspondente faixa de pedestres.
1
I – SEMÁFORO
2
II – PROJETO 2: SEMÁFORO INTERATIVO
2. O PROJETO
Vamos simular um farol de pedestre e um botão, que será pressionado pelos pedestres para
solicitar a travessia da rua. Agora iremos ter uma interação direta com o Arduino que reagirá
quando o botão for pressionado, alterando o estado das luzes para que os carros parem e
os pedestres possam atravessar em segurança.
Com esta interação vamos realizar algo quando você alterar o estado de um botão que está
sendo observado. Neste projeto, você também aprenderá como criar suas próprias funções
dentro do código.
• 2 LEDs vermelhos;
• 1 LED amarelo;
• 2 LEDs verdes;
• 1 Resistor de 150 Ohms;
• 4 Resistores entre 100 a 200 Ohms;
• 1 Botão push.
3
II – PROJETO 2: SEMÁFORO INTERATIVO
4
II – PROJETO 2: SEMÁFORO INTERATIVO
5
II – PROJETO 2: SEMÁFORO INTERATIVO
A forma de utilização mais comum de um botão com o Arduino é para mudar o nível lógico
de um pino, quando acionado. Em geral, o pino do Arduino está em nível lógico alto (5V) e é
levado ao nível lógico baixo (0 V) quando o botão é pressionado.
2.2 Fritzing
2.3 Montagem e conexão da protoboard e o Arduino
6
III – LINGUAGENS C/C++
3. CÓDIGO
3.3 digitalRead()
Lê o valor de um pino digital especificado, que pode ser HIGH ou LOW, INPUT ou OUTPUT.
3.4 void
[Tipos de Dados].
A palavra-chave void é usada apenas em declarações de funções. Ela indica que é esperado
que a função não retorne nenhuma informação para a função da qual foi chamada.
7
III – LINGUAGENS C/C++
3.5 millis()
[Funções Temporizadoras].
Retorna o número de milissegundos passados desde que a placa Arduino começa a executar
o programa atual. Esse número irá sofrer overflow (chegar ao maior número possível e então
voltar pra zero).
3.6 Variáveis
3.7 unsigned long
[Tipos de Dados].
Com as estruturas condicionais, podemos dizer que alguns trechos do código nem sempre
serão executados. Estes trechos estarão condicionados a alguma condição.
8
III – LINGUAGENS C/C++
Um motivo pelo qual os computadores nos auxiliam muito em tarefas é porque são capazes
de repetir tarefas milhões ou bilhões de vezes sem cometer erros. Este tipo de repetição
poderia demorar séculos para nós, porém, são simples para essas máquinas.
9
III – LINGUAGENS C/C++
A instrução FOR é utilizada para repetições controladas por uma variável contadora.
Podemos colocar quantos comandos quisermos dentro do bloco de comandos de for.
Inclusive, podemos colocar ali outras estruturas condicionais e até mesmo outras estruturas
de repetição.
10
III – LINGUAGENS C/C++
A depender da sua posição na incrementação ele pode ser definido como pré-incremento ou
pós-incremento.
Exemplos:
//PRÉ-incremento ++x;
//PÓS-incremento x++.
Estes operadores são também conhecidos como operadores comparativos, por fazerem
comparações entre os valores de dois operandos. As expressões que usam operadores de
relação retornarão 0 para falso e 1 para verdadeiro.
11
III – LINGUAGENS C/C++
OPERADORES RELACIONAIS
== IGUAL
(+) Soma
(-) Subtração
(*) Multiplicação
(/) Divisão
12
III – LINGUAGENS C/C++
Exemplos:
13
1. REFERÊNCIAS BIBLIOGRÁFICAS
SITE TOT ENGENHARIA. Push button no Arduino com filtro de Bouncing. Disponível
em: <http://tot.eng.br/push-button-arduino-bouncing/>. Acesso em: 18 de ago. 2019.
14