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.