A lógica booleana é amplamente utilizada em eletrônica, microcontroladores e programação de computadores. É baseado em 2 estados: verdadeiro ou falso. Com esses valores podemos executar uma série de operações (ou, e, não) e fazer projetos inteligentes como veremos neste capítulo. algo interessante sobre a lógica booleana é que ela é muito semelhante à lógica ou ao bom senso usado pelo pensamento.

MIC061S

 

Existem basicamente os seguintes operadores booleanos:

Operador OR.

Operador AND.

Operador. NOT

As operações que podem ser feitas com esta lógica (OR, AND, NOT), sempre recebem valores booleanos e retornam ou retornam um valor booleano. Uma variável booleana só pode ter 2 estados: ou é “verdadeira” (true) ou é “falsa” (false).

Veja como funciona a lógica booleana. Em muitos livros de eletrônica e informática, eles usam o número "1" para representar o estado: Verdadeiro e o número: "0" para representar o estado: Falso. Neste capítulo, usaremos as 2 formas de representação. Além disso, as opções serão usadas para representar os estados de uma variável booleana. Se a chave estiver aberta, a variável terá o status: falso. Se a chave estiver fechada, a variável terá o estado: verdadeiro.

 

LÓGICA OR

A palavra "OR" vem do idioma inglês e traduzido significa "OU". A lógica OR segue o princípio mostrado no seguinte circuito:

 


 

 

Vamos observar que a lâmpada acende, quando qualquer um dos dois interruptores é fechado. Em outras palavras, a lâmpada acende quando a chave A fecha ou a chave B. Esta é a lógica OU. Em outras palavras, se apenas uma das condições for atendida, o objetivo é alcançado. Notamos também que se os 2 interruptores (A e B) estiverem fechados, a lâmpada também acende. Ao construir a tabela verdade ou o princípio de funcionamento para a lógica OR, os resultados mostrados na figura a seguir são obtidos:

 


 

 

 A mesma representação pode ser feita com os valores true e false, conforme mostrado na figura a seguir:

 


 

 

 

É muito provável que em sua vida diária você tenha ouvido frases como:

"Se você limpar a cozinha ou o jardim, pode ir à festa."

"Para beber algo quente, temos chá ou café"

São expressões que seguem a lógica “OU” (OU).

Na placa micro:bit também podemos usar este tipo de lógica OR. Para isso acesse o menu de função: Lógica, conforme mostrado na figura a seguir:

 


 

 

 

Uma janela como a seguinte aparecerá:

 


 

 

 

No setor booleano, podemos ver a lógica OR conforme mostrado na figura a seguir:

 


 

 

 

O exemplo a seguir usa os botões A e B para mostrar o uso da lógica OR:

 


 

 

 

Para construir o programa anterior, crie um novo programa e dê um nome a ele. A seguinte imagem aparecerá:

 


 

 

 

Vá até a função do menu: "Básico", clique no bloco: "mostrar LEDs" e arraste-o até que se encaixe no bloco: "na inicialização", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

Agora, clique nas caixas do bloco: "show LEDs", para que apareça a seguinte figura:

 


 

 

 

Agora vá ao menu: "Lógica" e clique no bloco: "se então", arraste-o e encaixe no bloco: "para sempre", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

Agora, vá ao menu: "Lógica" e selecione no item: "Booleano", o bloco: "o", arrastando-o até que se encaixe na expressão a ser avaliada no bloco: "se então", conforme mostrado na seguinte figura:

 


| Clique na imagem para ampliar |

 

 

Agora, vá ao menu: "Input" e clique no bloco: "botão pressionado", arrastando-o até que se encaixe em uma das expressões a serem avaliadas no bloco lógico: "o", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Faça o mesmo para a outra expressão do bloco: "o" conforme mostrado na figura a seguir:

 


 

 

 

Agora, em um dos blocos: "botão pressionado", selecione o botão "B" no menu suspenso, conforme mostrado na figura a seguir:

 


 

 

 

Agora, vá ao menu: "Básico", clique no bloco: "mostrar ícone" e arraste-o até que caiba no bloco: "se então", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

Pronto, agora você pode executar o programa com o botão: "iniciar o simulador".

 


 

 

Observe como, ao pressionar qualquer um dos botões A ou B, a seguinte figura é mostrada no display de LED:

 


 

 

 

LÓGICA AND

A lógica pode ser entendida olhando para o seguinte circuito:

 


 

 

Observe que os interruptores A e B devem estar fechados para que a lâmpada acenda. Ou seja: é necessário que todos os requisitos sejam atendidos para se atingir o objetivo. A seguir está a tabela verdade ou modo operacional para lógica AND:

 


 

 

 


 

 

 

Provavelmente na vida cotidiana, você já ouviu frases como:

"Para o teste de matemática, você precisa trazer uma planilha e uma bússola."

"Você pode sair neste fim de semana, se limpar o jardim e limpar a cozinha."

“Podem viajar, desde que apresentem passagem aérea e passaporte”

Acima são expressões que usam a lógica AND.

No cartão Microbit, podemos usar a lógica AND. Para utilizá-lo, acesse o menu: "Lógica", e na janela que aparecerá, vá até o setor: "Booleano". Observe a figura abaixo:

 


 

 

O exemplo a seguir usa os botões A e B para mostrar o uso da lógica AND:

 


 

 

Para construir o programa acima, siga as mesmas etapas usadas no programa de exemplo de lógica OR. Ao selecionar o bloco booleano, selecione a lógica AND, conforme mostrado na figura a seguir:

 


 

 

 

LÓGICA NOT

A lógica NOT inverte o valor de um bit, ou seja: se um valor está em 0 (falso), a lógica NOT passa para 1 (verdadeiro) e se o bit estava em 1 (verdadeiro) a lógica NOT passa para 0 (falso). A tabela verdade para a lógica NOT pode ser vista na figura a seguir:

 


 

 

Na placa Microbit também podemos usar esse tipo de lógica. Para utilizá-lo, acesse o setor booleano do menu: “Lógica”, conforme mostra a figura a seguir:

 


 

 

 

Nos próximos capítulos realizaremos projetos onde poderemos ver o uso e funcionamento deste operador lógico.

 

 

COMO CRIAR DADOS VARIÁVEIS OU “BOOLEANOS”.

Para criar uma variável "Booleana" vá para a função: "Variáveis" conforme mostrado na seguinte imagem:

 


 

 

 

Clique no botão: "Criar uma variável ..." e na caixa de diálogo que aparece, dê um nome para o qual será utilizada a variável booleana. Neste exemplo, chamei-o de "alarmeEnable", como mostra a figura a seguir:

 


 

 

 

Após clicar no botão: “Aceitar”. Uma janela como a mostrada na figura a seguir aparecerá:

 


 

 

 

Agora, clique na função: "definir alarmeEnable para" conforme mostrado na figura a seguir e arraste-a para o bloco "na inicialização".

 


| Clique na imagem para ampliar |

 

 

Quando já estiver embutido no bloco: "na inicialização", vá até a função do menu: "Lógica":

 


 

 

 

e arraste um dos 2 valores possíveis para uma variável booleana (verdadeiro ou falso), conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

O compilador Makecode reconhece automaticamente que um valor verdadeiro ou falso foi atribuído (verdadeiro, falso) e tratará essa variável (alarmeEnable) como Booleana.

 

ALARME DOMÉSTICO COM LÓGICA BOOLEANA.

Com as funções ou lógica booleana, podemos fazer um número infinito de projetos. Por exemplo, podemos fazer um alarme doméstico. Este alarme possui 2 sensores: um para porta e outro para janela. Se o sensor da porta ou da janela for ativado, o alarme soará. Para que o alarme soe, é necessário que algum sensor tenha sido acionado e o alarme esteja habilitado.

Observe, como no texto anterior, onde definimos como o alarme vai funcionar, podemos notar a lógica booleana OR:

Se o sensor da porta "ou" o sensor da janela forem ativados, o alarme soará.

Também notamos a função booleana AND:

Para que o alarme soe, é necessário que algum sensor tenha sido acionado "e" o alarme esteja habilitado.

Agora vamos criar um programa para o nosso alarme.

Crie um novo programa, em seguida crie 2 variáveis com os nomes: "sensorDetected" e "alarmEnabled" conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Agora clique no bloco "definir para" e arraste-o até que se encaixe no bloco: "no iniciar", conforme mostrado na figura a seguir:

 


 

 

 

Repita a operação anterior para ser igual ou semelhante ao que é mostrado na imagem a seguir:

 


 

 

No menu suspenso do bloco: "set for", selecione um bloco para a variável "alarmEnabled" e outro para a variável "sensorEnabled".

Agora, acesse o menu: "Lógica" e arraste o valor: "Verdadeiro" até que ele caiba no bloco: "para", conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

Faça o mesmo para a variável: "sensorDetected", mas com o valor: "false", conforme mostrado na imagem a seguir:

 


 

 

 

Agora, adicione o bloco: "show LEDs", como mostra a imagem:

 


 

 

Então, no bloco: “para sempre”, adicione 2 blocos: “se então”, conforme mostrado na figura a seguir:

 


| Clique na imagem para ampliar |

 

 

No primeiro bloco: "se então", repita os passos do exemplo seguido para a lógica OR, e forme o seguinte bloco conforme mostrado na figura a seguir:

 


 

 

 

Para o segundo bloco: "se então", crie o seguinte código:

Para isso, acesse o menu: "Lógica" e adicione um bloco booleano "e" (AND), a seguir adicione à expressão a ser avaliada, as 2 variáveis conforme mostrado nas seguintes imagens:

 


| Clique na imagem para ampliar |

 

 


| Clique na imagem para ampliar |

 

O segundo bloco: "se então", deve ser semelhante ao mostrado na figura a seguir:

 


 

 

 

Agora você pode executar o programa e ver como funciona. Observe que, enquanto nenhum botão for pressionado, observaremos a seguinte imagem no display de LED:

 


 

 

Quando o alarme é acionado, podemos ver a seguinte imagem:

 


 

 

 

Usamos os botões A e B para simular os sensores de porta e janela, mas nos próximos capítulos aprenderemos a usar as entradas e saídas digitais encontradas no cartão de microbit, conforme mostrado na imagem a seguir:

 


 

 

Com os operadores lógicos vistos acima (OR, AND, NOT), podemos formar outros operadores lógicos como: NAND, NOR, XOR e YES, mas os mais usados na programação de microcontroladores (como microbit) são: AND, OR e NOT. Também podemos ter expressões booleanas AND e OR, com muito mais entradas, por exemplo um AND com três entradas, mas o princípio de operação que se segue é sempre o mesmo, ou seja, a saída só será "verdadeira" quando todas as entradas forem verdadeiras.