Neste artigo, estudaremos como utilizar corretamente os módulos dos processos lógicos utilizados na placa Micro:Bit.

MIC057S

 

Nota: O autor escreve originalmente em espanhol tendo sido feita a tradução do texto para o português. No entanto, as figuras foram mantidas conforme o original em espanhol.

 

O cartão micro: bit pode ser dividido em 4 partes principais:

- Saídas

- Processos.

- Dados.

- Entradas.

Observe o seguinte diagrama de blocos, onde essas peças são mostradas:

 


 

 

Neste texto estudaremos os “Processos”, conforme destacado na figura a seguir:

 


 

 

Os processos de uma placa como a micro:bit são de vários tipos. Neste capítulo, vamos nos concentrar nos processos "lógicos". A lógica em uma placa coma a micro:bit ou em qualquer microcontrolador, é muito semelhante à lógica que o cérebro humano usa para tomar decisões ou chegar a conclusões. Como, por exemplo: analise ou verifique, se algo é verdadeiro ou falso. Além disso, usamos lógica em quantidades físicas, como temperatura, umidade, etc. Vejamos um exemplo prático: suponha que você está dirigindo um carro e encontra um semáforo vermelho, por lógica ou bom senso, o carro deveria parar, pois o semáforo indica isso. Se o caso for que o semáforo está verde, o carro pode seguir em frente. Então, dependendo de uma condição de verdade, fazemos certas ações. Um exemplo de lógica com magnitudes pode ser quando saímos para passear e a temperatura está muito baixa, por isso normalmente, pela lógica, protegemo-nos com um casaco ou blusa para evitar o frio. Assim, existem infinitos exemplos em que usamos a lógica ou o bom senso para tomar decisões ou realizar certas ações. Veremos que podemos fazer o mesmo com a placa micro: bit ou qualquer outro microcontrolador.

Para ir para a parte lógica do cartão micro: bit, selecione a função LÓGICA, conforme mostrado na figura a seguir:

 


 

 

 

Uma janela como a mostrada na figura a seguir aparecerá:

 


 

 

 

TIPO DE DADOS BOOLEANOS.

Observe na janela pop-up que a lógica é classificada em: condicionais, comparação e booleana. Condicionais são blocos de programação que permitem avaliar a lógica booleana e comparações. A lógica na placa micro: bit é baseada em valores booleanos, que têm um de 2 valores possíveis: verdadeiro (true) ou falso (false). Os operadores booleanos (AND, OR e NOT), recebem entradas booleanas e resultam em outro valor booleano. Os operadores de comparação (= ,! =, <, <=,>,> =), em outros tipos de dados, como números e textos (strings), também retornam ou resultam em um valor booleano.

 

SIM CONDICIONAL (IF).

Observe na janela pop-up, a parte condicional, observe que há 2 blocos de código. O primeiro é a lógica: SIM, que geralmente é escrito em inglês como IF. Frases como:

Se você limpar e arrumar o quarto, pode ir brincar.

Se você passar e passar no ano letivo, pode sair de férias.

Se eu terminar este trabalho, receberei dinheiro.

 

Todas essas expressões são condicionais, uma vez que é necessário que uma situação ou condição seja satisfeita para que uma ação ou atividade possa ocorrer. Na placa micro: bit, podemos fazer algo semelhante com o seguinte bloco de código:

 


 

 

Observe que o bloco é denominado SE. Este bloco executa código dependendo se uma condição é verdadeira ou falsa. Na figura anterior podemos ver que no bloco se for verdadeiro, executa o código se a condição for verdadeira, se a condição for falsa executa o código, se a condição for falsa:

Vamos praticar para ver como funciona. Veja a figura abaixo. Crie um novo projeto e nos blocos: "no iniciar" e "sempre":

 


 

 

Adicione o seguinte programa:

 


 

 

Ao executar este programa, o seguinte valor aparecerá inicialmente na placa micro: bit:

 


 

 

Porque no início dissemos ao cartão para mostrar o número zero (0). Se pressionarmos o botão A, a condição é verdadeira, a mensagem de texto: “Olá” aparecerá. Observe que a declaração diz isso:

 


 

 

 Se você apertar o botão B, verá que nada acontece porque no programa não há nenhuma instrução que o indique.

No diagrama a seguir, podemos ver uma representação em bloco do programa que acabamos de fazer. Esse tipo de diagrama é conhecido como "fluxograma", que mostra ou indica quais ações serão tomadas caso a condição seja atendida.

 


 

 

 

CONDIÇÃO SENÃO (ELSE).

Existe outro bloco de código que permite que você execute uma ação caso a condição seja a oposta. Observe a seguinte figura:

 


 

 

O bloco de código diz: SE algo for verdadeiro, execute esta ação, SE NÃO (ELSE) execute esta outra ação. Vamos desenvolver uma aplicação prática para entender como esse bloco funciona. Suponha que vou usar o botão A, de forma que quando não for pressionado mostre o número 2 e quando for pressionado mostre o número 8. Crie um novo projeto e no bloco de código: para sempre, insira o seguinte programa:

 


 

 

Execute o programa e experimente o que acontece. Observe que quando o botão A não é pressionado, o seguinte número é observado:

 


 

 

Mas quando o botão A é pressionado, o número 8 é observado conforme mostrado na figura a seguir:

 


 

 

Assim, podemos fazer um número infinito de coisas. Neste exemplo, mostramos números diferentes, mas podemos ligar ou desligar motores, luzes, sons, etc. Vai depender da ideia e do projeto.

Para se ter uma ideia do que o processador da placa, podemos ver o seguinte fluxograma:

 


 

 

Os fluxogramas têm muita flexibilidade quando se trata de fazer ou projetar. Por exemplo, o fluxograma a seguir é idêntico ao anterior em termos de fluxos e ações executadas. Assim, você pode encontrar maneiras diferentes de desenhar o diagrama. Mas o que realmente importa é que você siga o fluxo, ou seja, as linhas das setas, para entender o que está fazendo.

 


 

 

 

CONDIÇÃO SENÃO SE : VERIFIQUE ALGO NOVAMENTE (ELSE IF)

Existe a possibilidade, na condição oposta, de verificar mais alguma condição. Esse tipo de análise é muito comum quando você está fazendo um projeto. Para que isso seja feito, clique no símbolo (+), para adicionar as seções “sim não, sim” do bloco: “sim”. Este tipo de bloco, o que ele faz é verificar se o primeiro valor é verdadeiro, então executa o primeiro bloco de declarações, caso contrário, verifica se o segundo bloco é verdadeiro, executa o segundo bloco, caso contrário, verifica se o terceiro bloco for verdadeiro, execute o terceiro bloco, caso contrário, ele executa um último bloco por padrão. Você pode fazer o bloqueio do número de blocos: "se não, sim" que você deseja. A figura a seguir mostra essa classe de blocos:

 


 

 

 A seguir está a representação do fluxograma para este tipo de bloco. Observe que, uma vez que qualquer condição seja verdadeira, o bloco é encerrado.

 


 

 

COMPARAÇÃO.

Com o cartão micro: bit é possível comparar variáveis com um determinado valor ou comparar variáveis com variáveis. Essas expressões podem ser avaliadas ou verificadas com o bloco: IF (IF), para determinar se são verdadeiras ou falsas. As expressões de comparação estão localizadas na função LÓGICA, conforme mostrado na figura a seguir:

 


 

 

 

Existem 6 expressões de comparação:

= Igual.

! = Diferente.

<= Menor ou igual a.

> Maior que.

> = Maior ou igual a.

Observe a figura a seguir, onde as opções de lógica de comparação podem ser selecionadas:

 


 

 

Essas opções são encontradas clicando na seta do bloco, conforme mostrado na figura a seguir:

 


 

 

 

Vejamos um programa prático para entender melhor como funcionam os operadores de comparação. Suponha que tenhamos uma fechadura eletrônica e o usuário digite uma senha numérica (chave), que é armazenada em uma variável chamada: "chave do usuário". Em seguida, comparamos essa chave com a chave da fechadura. Se as duas chaves forem iguais, a porta será aberta. Se forem diferentes, a porta será fechada. O programa a seguir permite que você faça isso:

 


 

 

 

OPERADORES BOOLEANOS.

Existem 3 tipos de operadores booleanos: OR Logic, AND Logic e NOT Logic. A figura a seguir mostra esses blocos:

 


 

 

Na eletrônica, os seguintes símbolos são usados para representar a lógica em microcontroladores:

 


 

 

 

Como é importante entender bem este tipo de variável para poder utilizá-las, vamos dedicar um capítulo à parte para seu melhor estudo.