Simulando a plataforma BBC Micro:bit no Tinkercad Deixe um comentário

Já vimos sobre o Tinkercad e os primeiros passos para desenvolver circuitos eletrônicos, como usá-lo para programar um Arduino Uno R3 em blocos e em texto. Neste artigo você apreenderá a simular a plataforma BBC Micro:bit no Tinkercad.

Introdução

A plataforma BBC micro:bit é uma plataforma microcontrolada que possui vários periféricos integrados. Dentre eles, temos uma matriz de LEDs, sensores, botões e pads de entrada e/ou saída de informações.

Foto da plataforma BBC micro:bit
BBC micro:bit

Temos duas versões do micro:bit, sendo a v2 a mais recente. Para saber mais sobre as diferenças entre v1 e v2, veja este artigo aqui.

Esta plataforma é programável, suas linguagens mais conhecidas são:

  • Blocos, através do site Makecode (Microsoft);
  • JavaScript, através do site Makecode (Microsoft);
  • Python

No Tinkercad podemos realizar a programação em blocos ou em texto (Python). E neste artigo faremos os exemplos em programação em blocos, tendo a possibilidade de converter para programação em Python.

Há duas versões disponíveis do micro:bit, como vistas na próxima imagem:

Comparação micro:bit e micro:bit com corte parcial
Comparação micro:bit e micro:bit com corte parcial

A primeira, chamada apenas de micro:bit, é a mesma versão v1, com três portas de entrada/saída disponíveis (0, 1 e 2) além dos periféricos já inclusos . Já a versão micro:bit com corte parcial possui número maior de pinos de entrada/saída (0, 1, 2, 5, 8, 11, 13, 14, 15 e 16). O corte parcial em uma placa real faz-se com uso de um shield de expansão, colocado na parte de baixo da placa.

Programação em blocos na plataforma BBC micro:bit

Para utilizar os recursos de programação, deve-se arrastar para a área de trabalho a plataforma BBC micro:bit. Faremos uso da versão mais simples.

BBC Micro:bit no Tinkercad
BBC Micro:bit no Tinkercad

Ao arrastar o micro:bit para a área de trabalho, temos a opção de escolher a cor da placa. Dentre as cores disponíveis, temos vermelha (red), amarela (yellow), verde (green) e azul (blue). Escolha sua cor preferida no menu suspenso.
Clique no botão Código, localizado na parte superior, para acessar a área de programação. Será aberto um menu especial à direita da tela.

Captira de tela do Tinkercad com o menu de programação em blocos
Programação em blocos na plataforma BBC micro:bit

A tela exibida na imagem anterior tem alguns destaques importantes para a programação:

  • Blocos: onde os seis tipos de blocos são disponibilizados: básico, saída, entrada, controlar, matemática e variáveis. Para cada tipo são associados um conjunto de comandos (4).
  • Download code: Serve para baixar o código com extensão *.hex, o mesmo utilizado em uma placa real. Ao conectar uma placa ao computador, é gerado um disco removível (como pen drive). O arquivo *.hex é arrastado para este disco e o micro:bit começa a rodar o programa..
  • Select device: Serve para escolher qual placa micro:bit vai receber a programação. Podemos usar mais de uma placa na mesma simulação.
  • Comandos: os comandos ou instruções relacionados aos seis tipos de blocos mostrados na parte superior. Para utilizar, basta arrastar para a área de programação.
  • Área de programação: Para onde vão os blocos de comandos. Devem ser encaixados de forma a formar uma estrutura a ser executada.
  • Botões de atalho: Auxiliam na visualização do código em blocos: zoom (+), zoom (-) e de centralização da estrutura de blocos.
  • Lixeira: Para remover um bloco ou um conjunto de blocos da área de programação, basta arrastá-los para o ícone Lixeira.

Os tipos básicos de blocos disponíveis são:

  • Básico: blocos para recursos básicos do micro:bit, como mostrar ícones prontos na matriz de LED, limpar tela, controle quando aperta botão A ou B, dentre outros.
  • Saída: comandos relacionados à informações de saída, ou seja, sinais que o Arduino manda para o mundo externo. Dentre estes comandos, estão os comandos relacionados à matriz de LEDs; definição de pinos com nível alto (3V) ou baixo (0V); definição de valores analógicos (0 a 255) aos pinos 0, 1 e 2 (PWM); controle de servomotor; envio de caracteres via rádio.
  • Entrada: comandos relacionados à informações de entrada, ou seja, sinais que o micro:bit recebe do mundo externo. Dentre estes comandos, estão o comando para leitura de pino digital (recebe apenas sinal ALTO (3V) ou BAIXO (0V)); leitura de pino analógico (recebe valores de 0 a 1023); leitura de posição do servo motor (0 a 180º); número de caracteres seriais disponíveis; aceleração dos eixos x, y ou z; rotação; nível de luz; temperatura; dentre outros.
  • Controlar: Realiza controle de tempo, repetições ou verificações de condições. Isto permite que comandos sejam realizados somente após certo tempo; sejam repetidos determinado número de vezes; que se repitam enquanto uma condição for satisfeita; que aconteçam somente após uma condição for verdadeira; ou que se repitam conforme uma contagem de tempo. Em destaque, temos no início, que executa comandos quando ligamos a placa; e para sempre, que executa repetidamente os comandos até que a simulação seja interrompida.
  • Matemática: Valores numéricos; formas de comparação (menor que, menor ou igual a, igual a, diferente de, maior ou igual a, maior que); geração de valores aleatórios; mapeamento de pino para uma determinada faixa de valores; restrição de valores para uma determinada faixa; estados lógicos (ALTO ou BAIXO). Estes blocos são colocados dentro de comandos de controle.
  • Variáveis: É possível criar espaços para armazenar valores temporários, como por exemplo de leitura de sensores, para depois serem comparados para tomada de decisões (blocos Controlar). É possível ter várias variáveis no programa, mas é necessário que cada variável possua um nome diferente.
Blocos básicos de programação
Blocos básicos da programação Micro:bit

Exemplo 1: Animação na tela

Uma das possibilidades mais interessantes no micro:bit é a utilização da matriz de LED com animações. Faremos um exemplo mostrando uma mensagem inicial e depois com comandos de botão. O código inicial encontra-se na próxima figura:

Animação da matriz LED do micro:bit
Animação da matriz LED do micro:bit

Este código consiste em mostrar uma carinha feliz quando a placa é ligada. Não há nenhum tipo de repetição ou mudança durante execução.
Remova o comando mostrar ícone de no início. Arraste para dentro de no início o comando mostrar sequência de caracteres. Escreve no lugar de Hello a frase Bem-vindo!

Bloco "Mostrar sequência de caracteres"
Bloco “Mostrar sequência de caracteres”

Não faremos uso do bloco de controle Para sempre. Você pode arrastá-lo para a lixeira ou mover para a lateral esquerda. No lugar dele, vamos usar dois blocos de entrada (localizados no menu Entrada) no botão A. No primeiro bloco vamos manter o A e no segundo usamos o menu suspenso para alterar para B. Também há a opção A+B, para realizar comandos quando os dois botões estiverem apertados ao mesmo tempo.

Blocos dos botões A e B
Blocos dos botões A e B

Dentro destes blocos de controle, vamos usar o comando mostrar ícone. Por padrão, ele vem com o ícone de carinha feliz. Para alterar o ícone, clique no menu suspenso e escolha as opções desejadas, que neste artigo serão ícones de setas para a esquerda e direita. Ao apertar o botão A, será mostrada uma seta para a esquerda. Ao apertar o botão B, será mostrada uma seta para a direita.
Para verificar o funcionamento do código, clique no botão Iniciar simulação.

Simulação da plataforma BBC micro:bit
Simulação da plataforma BBC micro:bit

Quando começa a simulação, um cabo USB é conectado à placa e são mostradas algumas opções de simulação:

  1. Temperatura: você pode realizar a variação de temperatura da placa, caso o seu código tenha os comandos necessários para leitura. A temperatura varia entre -5°C e 50°C no Tinkercad.
  2. Luminosidade: da mesma forma que a temperatura, também é possível variar a luminosidade, que varia entre 0 a 255.
  3. Posição: o BBC micro:bit possui um acelerômetro, que detecta a posição da placa nos eixos X, Y e Z. Variando a posição da placa, sacudindo e afins, podemos ler estas posições e realizar comandos condicionais.

Neste código, apenas faremos interações com os botões A e B. Será mostrada a mensagem inicial e em seguida a tela se apaga, aguardando que algum botão seja pressionado.

Simulação da plataforma BBC micro:bit em funcionamento
Simulação da plataforma BBC micro:bit em funcionamento

Um código Python equivalente aos blocos pode ser visto caso você pare a simulação, selecione o botão Código e escolha a opção Blocos + Texto ou até somente Texto.

Visualizando o cõdigo em texto
Visualizando o cõdigo em texto

Exemplo 2: uso de servomotor e micro:bit com corte parcial

Neste exemplo faremos uso do micro:bit com corte parcial. Escolha a placa e arraste para a área de trabalho. Também é possível alterar a cor da placa.

micro:bit com corte parcial
micro:bit com corte parcial

Procure a opção Micro servo. Utilizei a versão azul, porém pode ser utilizada a versão preta. Arraste para a área de trabalho. Em seguida, realize as conexões conforme próxima imagem:

Conexão do Micro Servo na micro:bit com corte parcial
Conexão do Micro Servo na micro:bit com corte parcial
  • Fio marrom (pino à esquerda): GND (solo)
  • Fio vermelho (pino central): 3V (potência)
  • Fio laranja (pino à direita): P11 (sinal)

Os blocos de comando utilizados para este código são:

  • Mostrar ícone, em no início;
  • Em para sempre:
    • Mostrar sequência de caracteres com mensagem anti-horario;
    • Girar servo no pino P11 (mudar P0 para P11) em 180 graus;
    • Aguardar 2s (mudar de 1s para 2s);
    • Mostrar sequência de caracteres com mensagem horario;
    • Girar servo no pino P11 em 0 graus;
    • Aguardar 2s

OBS: Você encontra estes comandos na opção Blocos de saída, exceto aguardar 1s, que está nos Blocos básicos ou de controle.
A programação completa é vista na Figura a seguir:

Programação completa em blocos
Programação completa em blocos

O código consiste em mostrar um ícone inicial na matriz de LED e repetir para sempre mensagens na matriz, seguidas de movimentos do servo (para 180° e para 0°).
Para verificar o funcionamento do código, clique no botão Iniciar simulação.

Simulação micro:bit e Servo Motor
Simulação micro:bit e Servo Motor

Considerações finais

Neste artigo vimos dois exemplos iniciais utilizando programação em blocos para o BBC micro:bit: uma interação entre botões para mostrar ícones na matriz de LED e outra com servomotor, sendo o primeiro com a placa padrão micro:bit e a segunda com a versão de corte parcial.

Os blocos, separados por tipos e formatos, se encaixam de forma a impedir erros e podem ser um grande passo para se iniciar em programação. Lembrando que podemos converter e utilizar a programação Python para o micro:bit também.

Após as simulações, você poderá adquirir a sua placa individual ou o Kit BBC Micro:Bit que inclui o cabo USB e um conjunto de baterias para operação sem fio.

Gostou de conhecer mais sobre o aplicativo Tinkercad? É uma alternativa bastante interessante pela variedade de plataformas programáveis, acessórios e linguagens de programação. Deixe seu comentário logo abaixo se gostou do artigo. E, não esqueça de nos seguir no Instagram

Faça seu comentário

Acesse sua conta e participe