Contadores e temporizadores são amplamente usados ​​em eletrônica e programação. por exemplo: em fornos de microondas, máquinas de lavar, semáforos, relógios digitais, cronômetros, alarmes, equipamentos industriais, páginas da web, etc. daí a importância de saber usá-los e implementá-los. Neste capítulo, aprenderemos como fazer um semáforo.

Um contador é basicamente: uma variável numérica do tipo "inteiro", que aumenta ou diminui seu valor conforme necessário. Para criar uma variável do tipo inteiro, vá ao menu: "Variáveis" e clique na opção: "Criar uma variável"

 


 

 

 

Uma janela como esta abaixo aparecerá, onde você pode dar um nome à variável. Para os exemplos deste capítulo, criamos uma variável chamada: "objetosContador", conforme mostrado na figura a seguir:

 


 

 

 

Após a criação da variável, aparecerá o menu: “Variáveis”, conforme mostrado na figura a seguir:

 


 

 

 

O bloco que usamos para aumentar ou diminuir uma variável usada como contador (tipo inteiro) é: "trocar por", conforme mostrado na figura a seguir:

 


 

 

 

O próximo bloco denominado: "estabelecer para", é utilizado para atribuir um valor a uma variável, conforme mostrado na figura a seguir:

 


 

 

 

O próximo bloco:

 


 

 

 

É a variável que foi criada, que pode ser utilizada em outros blocos onde uma variável do tipo inteiro é permitida, por exemplo no bloco: "mostrar número", que se encontra no menu: "Básico". Clique no bloco: "mostrar número" e arraste-o até que se encaixe no bloco: "para sempre", conforme mostra a figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Agora vá ao menu: "Variáveis", clique na variável: "ObjetosContador" e arraste-a para o bloco: "mostrar número", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

A maioria dos medidores são exibidos em um display de 7 segmentos, conforme mostrado na figura a seguir:

 


 

 

 

Esses visores são compostos por LEDs e com eles é possível formar números. Eles são chamados de 7 segmentos, porque um número de 0 a 9 pode ser representado por 7 LEDs (segmentos). Cada segmento de um número é um LED e, dependendo do número a ser exibido, os respectivos LEDs acenderão. A imagem a seguir mostra todos os LEDs acesos:

 


 

 

Assim, para fazer o número 7834, os respectivos LEDs acendem, conforme mostrado na figura a seguir:

 


 

 

 

Os visores de 7 segmentos vêm em uma ampla variedade de dígitos e tamanhos. Tudo depende das quantidades numéricas a serem exibidas e do alcance visual.

No caso do cartão de microbit, temos um display de matriz LED 5x5 e o número 7834 será exibido sequencialmente conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

A vantagem dos visores de matriz LED 5x5 é que, além dos números, eles também podem exibir caracteres alfabéticos. No microbit para mostrar o número: 7834, basta utilizar o bloco: "mostrar número", conforme mostrado na figura a seguir:

 

 

Componentes eletrônicos (resistor, botão, LED e capacitor).

 

Para desenvolver os exemplos neste capítulo, usaremos alguns componentes eletrônicos comuns, como os mostrados na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Os resistores são usados ​​para limitar a corrente que flui através de um circuito. Botões de pressão são usados ​​para fechar um circuito. Capacitores são usados ​​para armazenar energia. LEDs são usados ​​como fontes de luz. Os resistores, botões e capacitores utilizados neste capítulo não possuem polaridade, ou seja, qualquer extremidade do componente pode ser conectada ao circuito. Os LEDs têm polaridade, pois são semicondutores, ou seja, permitem que a corrente passe apenas em uma direção. Por isso é preciso polarizar bem para que ligue. A figura a seguir mostra como polarizá-lo:

 


 

 

 

Ao observarmos o LED, podemos notar que há uma parte reta em uma de suas bordas. A perna desse lado deve ir para o negativo do circuito. Também é necessário colocar um resistor em série para limitar a corrente que flui pelo LED.

 

 

Contadores ascendentes decrescentes.

 

Os contadores podem ser: crescente ou decrescente. Um contador ascendente é incrementado ou incrementado com cada instrução recebida. Um contador decrescente é diminuído ou diminuído com cada instrução recebida.

O programa a seguir incrementa uma variável usada como contador, que chamamos de: "ObjetosContador". Cada vez que pressionamos o botão "A" no cartão do micróbio, o bloco é denominado: "trocar por”, o que aumenta o valor da variável: "ObjetosContador" em 1. No bloco: "para sempre", mostramos o valor da variável: "ObjetosContador". A imagem a seguir mostra o programa:

 


 

 

 

O programa a seguir faz o mesmo que o programa anterior, com a diferença que a variável: "Objetos Contador". é diminuído cada vez que o botão "A" é pressionado.

 


 

 

 

 

No programa seguinte, com o botão “A”, aumentamos a variável: “ObjetosContador” e com o botão “B” esta variável é diminuída.

 


| Clique na imagem para ampliar |

 

 

Agora, podemos começar a interagir com os pinos do cartão de micro:bit e, assim, criar projetos interessantes. Para utilizar os pinos do cartão micro:bit, acesse o menu: “Entrada” e selecione o bloco: “quando o botão é pressionado” conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Crie o seguinte programa para usar o Pin P0 na placa micro:bit:

 


 

 

 

Para testar o programa anterior, podemos usar o circuito mostrado na imagem a seguir:

 


 

 

 

O funcionamento do circuito é o seguinte: Quando o botão não é pressionado, o Pino P0 é polarizado em alto nível através da resistência R1, que é de 10 Kilohms a ¼ ou ½ Watt. Quando o botão é pressionado, o Pino P0 é polarizado baixo. Esta alteração é detectada pelo cartão de micro:bit e aumentará a variável: "ObjetosContador" em 1. Se por acaso, ao apertar ou soltar o botão, a contagem aumenta em mais de 1, é porque alguns botões têm um ressalto mecânico fazendo com que seja gerado um tipo de ruído ao serem pressionados, que o cartão do micróbio lerá como pulsos. Para evitar isso, é necessário colocar um capacitor de 0,22 microfarads.

 

Se quisermos que ao premir o botão, a variável: "ObjetosContador ", seja decrementada, podemos usar o seguinte programa:

 


 

 

 

Podemos aumentar e diminuir a variável em um único circuito: "ObjetosContador". Para isso vamos usar 2 botões, um conectado ao Pino P0 e o outro ao Pino P1 conforme mostrado no seguinte circuito:

 


 

 

 

O programa para o circuito anterior seria o seguinte:

 


| Clique na imagem para ampliar |

 

 

Como podemos ver no programa, o Pino P0 aumenta a variável: "ObjetosContador " e o Pino P1 diminui a variável. No bloco: "para sempre", mostramos a variável: "ObjetosContador" na matriz de LEDs.

 

 

Temporizadores ou Timers

 

Timers são blocos de programa que nos permitem atrasar uma ação por um certo tempo. Por exemplo: quando programamos o forno microondas para aquecer ou preparar alguns alimentos. Os temporizadores são basicamente contadores que contam segundos. Assim, a cada segundo, o contador é aumentado ou diminuído, até atingir o final do tempo programado. Como existem muitas aplicações em eletrônicos que usam tempos menores que um segundo, os blocos de temporização podem ser programados em milissegundos. Ou seja, 1000 milissegundos são equivalentes a um segundo. O bloco utilizado para fazer os timings do microbit é denominado: "pausa" e está localizado no menu: "Básico", conforme mostrado na figura a seguir:

 


 

 

 

Basta clicar neste bloco e arrastá-lo até que ele se encaixe no local onde deseja fazer a cronometragem. O exemplo de programa a seguir mostra o uso da temporização, mostrando um "X" no display de LED e após 5 segundos, ele mostrará uma seta, cronometrada por mais de 5 segundos até a repetição deste ciclo.

 


 

 

 

Para o programa a seguir, vamos nos referir aos LEDs da matriz 5x5 por linha e coluna, conforme mostrado na imagem a seguir:

 


| Clique na imagem para ampliar |

 

 

Como podemos ver, é muito fácil cronometrar em microbit. Usando o bloco: "pausa", podemos construir uma série de projetos interessantes. Por exemplo, o programa a seguir mostra no display de LED, como ligamos o LED central (coluna 3) da primeira linha de LEDs, após 2 segundos, este LED desliga e o LED central da linha 3 liga e após 8 segundos, este LED apaga e o LED do meio da linha 5. Esse comportamento é muito semelhante ao usado em semáforos de veículos encontrados nas ruas de uma cidade. A imagem a seguir mostra o programa:

 


 

 

 

Na próxima seção deste capítulo, veremos como, usando o tempo, podemos fazer um semáforo veicular.

 

Semáforos

Os semáforos são usados ​​para controlar o fluxo do tráfego de maneira ordenada e são encontrados em quase todas as cidades do mundo. Um semáforo é basicamente uma sequência de tempos que controla o ciclo ou momento em que um carro pode avançar ou parar. Verde é usado para o ciclo de avanço, o vermelho é usado para o ciclo de parada. A cor amarela é usada como um sinal de que vai mudar de um ciclo para outro e normalmente dura apenas alguns segundos.

Com a placa Microbit é possível construir um semáforo. A figura a seguir mostra as ligações que serão necessárias para a construção do semáforo:

 


 

 

 

Observe que usamos 3 LEDs, um vermelho, um amarelo e um verde. O LED vermelho é conectado ao Pino 0 da placa Microbit, o LED amarelo ao Pino 1 e o LED verde ao Pino 2. Cada LED tem uma resistência de 330 Ohm em série a ¼ ou ½ watt, para regular a quantidade de corrente que flui através cada LED.

O programa do semáforo é mostrado na imagem a seguir:

 


 

 

 

Observe que no bloco: "ao iniciar", usamos o bloco: "gravação digital pino a " para definir todos os pinos como baixo (zero lógico). Este bloco se encontra no menu: "Avançado -> Pinos", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Clique no bloco: “Gravação digital pino a” e arraste até encaixar no bloco: “ na inicialização”. Repita esta ação mais 2 vezes e defina os pinos: P0, P1 e P2 para nível baixo no menu suspenso, conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Agora, no bloco: “para sempre”, coloque 2 blocos: “Gravação digital pino a”. Defina Pin P2 baixo e Pin P1 alto, para ligar o LED vermelho. Em seguida, encaixe o bloco: "Mostrar LEDs" e ligue o LED central na primeira linha. Em seguida, encaixe um bloco: "pausa (ms)" e programe um valor. Para o caso deste programa, cronometramos 5 segundos (5000 milissegundos) no ciclo vermelho. A figura a seguir mostra o programa:

 


 

 

 

Repita as ações anteriores, mais 2 vezes, uma para o ciclo amarelo e outra para o ciclo verde. Para o caso deste programa de exemplo, definimos 2 segundos (2.000 milissegundos) para o ciclo de amarelo e 8 segundos (8.000 milissegundos) para o ciclo de verde. Execute o programa usando o simulador ou baixe o programa para a placa microbit. No simulador você pode ver que quando o programa de semáforo está no ciclo vermelho, ele acenderá o LED central da primeira linha e o Pino P0 conforme mostrado na figura a seguir:

 


 

 

 

Para o ciclo amarelo, o LED central da linha 3 e o pino P1 da placa microbit acendem conforme mostrado na figura a seguir:

 


 

 

 

Para o ciclo verde, o LED central da linha 5 e o pino P2 da placa microbit acendem conforme mostrado na figura a seguir:

 


 

 

 

Todos os ciclos (vermelho, amarelo e verde) serão repetidos constantemente. Você pode tentar alterar a duração de cada ciclo e tirar suas próprias conclusões sobre como funciona um semáforo.