Oi geektimes. Eu li pela primeira vez sobre computadores da BBC Micro aqui em tempos de geek. Nos anos 80, a empresa britânica BBC lançou um projeto de treinamento cujo objetivo era aumentar o nível de conhecimento em informática. Mais detalhes podem ser encontrados no artigo da Plarium “
BBC Micro - o computador que venceu o ZX Spectrum ”, mas voltaremos aos negócios hoje. Por quanto tempo, brevemente, a BBC decidiu repetir o projeto em uma base moderna de elementos e lançou o microcomputador
BBC Micro: bit .

Como você pode ver, o modelo moderno é um pouco menor
que o seu
antecessor .
Sobre o Micro: bit já foi escrito em tempos de geek, tanto sobre o fato de o conselho
já poder ser comprado , quanto sobre o fato de que os estudantes britânicos o
distribuem de graça . No entanto, parece que poucas pessoas programaram no site aqui, é hora de preencher essa lacuna.
Como funciona, detalhes sob o corte.
Por que isso é necessário?
Uma pergunta razoável pode surgir "por que isso é necessário", dada a variedade de dispositivos diferentes, do Arduino ao ESP32 ou Raspberry Pi. Aqui a resposta é simples.
1) Para crianças em idade escolar (britânicas), é grátis, mas é conhecido por um cavalo talentoso ... O conselho, claro, tem desvantagens - os LEDs na matriz não são suficientes (e não são coloridos), eu gostaria de mais alguns transistores de potência para controlar as cargas, mas, novamente, veja p1 . Para todos os outros, a propósito, o preço de emissão é de cerca de 20 euros no amazon ou no ebay.
2) Essas placas também são entregues oficialmente às escolas para aulas de ciência da computação - é muito mais interessante para as crianças estudarem ciência da computação em dispositivos reais (por exemplo, escreva um código para verificar a umidade de uma flor e realmente pendure essa coisa em uma flor) do que apenas fazer algo abstrato.
3) O conselho é destinado a crianças a partir de 7 anos - o mesmo Arduino seria complicado, porque sem dispositivos externos, é inútil, mas aqui o que você precisa, os recursos internos são mais que suficientes. E para os círculos e aqueles que querem fazer algo mais complicado, existem cartões de expansão, que serão discutidos abaixo.
4) As funções integradas da placa - bluetooth, bússola, acelerômetro, porta serial, a capacidade de trabalhar com entradas I2C / SPI / som / analógicas são suficientes para cobrir 99% das necessidades de uma aula de informática, sem mencionar áreas "modernas" como "inteligentes" dispositivos domésticos ou portáteis (a placa pode conectar-se a um smartphone, medir temperatura e iluminação, ler dados de dispositivos externos etc.). Há claramente espaço para criatividade aqui.
Em geral, o projeto é muito interessante, e você pode sinceramente ficar feliz que, na Grã-Bretanha, eles façam isso pelos filhos. A propósito, o quadro pode ser programado usando a linguagem de programação de bloco visual, javascript ou Python (apenas para referência, as escolas russas ainda ensinam o Turbo Pascal, mas não vamos falar sobre
política com tristeza). Se desejar, no Micro: bit você pode
compilar e preencher o mbed os e escrever em C ++, mas isso é improvável para os alunos.
Ferro
A aparência do quadro é claramente visível no diagrama de blocos:

A bordo, existe um processador ARM Cortex-M0, 256KB Flash ROM, 16KB RAM, 16MHz. Também há suporte para BTLE, um transmissor de 2,4 GHz para comunicação ponto a ponto (101 canais), um acelerômetro, uma bússola, um termômetro e uma linha de pinos GPIO, entre os quais há muitas coisas:

Existem também 2 botões para entrada (o gesto de "agitação" também está disponível para entrada), uma matriz de LED 5x5 e 4 pinos "grandes" projetados para a criança estragar algo simples com fios ou "crocodilos", por exemplo, um sensor de umidade para uma flor ou um resistor variável.
O pente de pinos é achatado para que possa ser inserido na placa de expansão (preço de emissão 10-15 Euros):

Existem várias placas de expansão, por exemplo, uma placa de controle de motor, que permite criar um robô assim:

No entanto, apenas o compartimento da bateria vem com a placa, todos os outros módulos são adquiridos separadamente. No entanto, na configuração padrão, a placa pode ser bastante.
De software
A primeira coisa que surpreendeu foi que você não precisa instalar nenhum software no computador. Quando você conecta a placa via MicroUSB, ela é simplesmente visível como um disco removível. Em seguida, basta acessar
http://microbit.org/code/ e escolher o que você deseja escrever -
Javascript ou
Python .
O editor Javascript no modo "bloco" é aberto diretamente no navegador e fica assim:

Aqui eu escrevi um pequeno programa que simplesmente aumenta o contador pressionando um botão e pressionando 2 botões, ele o redefine para 0.
Em geral, a criança pode não saber o que é Javasdcript, mas se desejar, você pode alternar para o editor "completo" do
modo god :

Em seguida, basta clicar em "Download", um arquivo hexadecimal será compilado, o suficiente para salvar no "microbit" - o programa será carregado na memória flash e lançado. Mesmo se não houver placa, no navegador existe um simulador completo no qual você pode testar todas as funções do programa.
Como "blocos" prontos, o aluno está disponível com muitas funções diferentes: desde a simples E / S até a reprodução de som ou o controle de uma servo-máquina. Combinei parte dos blocos em uma captura de tela e isso não é tudo:

Se falamos sobre Python, o editor é muito simples e, é claro, não alcança o PyCharm, mas você pode escrever um código simples:

Infelizmente, não há verificação de erros ou bom realce de sintaxe. O editor é ainda mais primitivo que o IDE do Arduino (ou eu realmente não entendi). Se houver um erro no código, o editor não o mostrará em nenhum lugar, o script será carregado "como está", também não haverá console para depuração (embora você precise verificar se a porta serial é suportada durante a depuração). E, finalmente, também não há simulador. Parece que eles fizeram com que o editor "chegasse à pilha", aparentemente o editor de blocos provavelmente é considerado o principal para o desenvolvimento (ou talvez eles terminem, o conselho acabou de começar a frequentar as escolas). No entanto, a própria linguagem com bibliotecas adicionais é bastante funcional, a API pode ser visualizada em
microbit-micropython.readthedocs.io/en/latest .
É interessante notar que a bateria vem com a placa e você pode criar e baixar programas de um tablet executando iOS ou Android. Teoricamente, o Micro: bit pode ser usado sem um computador ou mesmo com uma tomada elétrica. Provavelmente isso foi feito para países em desenvolvimento, por exemplo, na Índia, o número de famílias pobres que possuem um smartphone ou tablet em vez de um PC é bastante grande.
Conclusão
Podemos assumir que a ideia da BBC é muito boa. Só podemos ficar contentes que, no Reino Unido, eles estejam tentando fazer algo novo e moderno para as crianças.
Exemplos de diferentes projetos educacionais para Micro: bit podem ser encontrados
aqui .
Do ponto de vista da programação para adultos, o conselho é, é claro, um pouco chato. Um conjunto de portas de E / S é suficiente, mas o editor é muito simples e não é muito conveniente usar pinos sem um adaptador. Mas você precisa entender que o público-alvo do conselho são crianças de 7 anos e fazer algo interessante especificamente para esse público é um desafio bastante interessante.
Existe uma idéia para fazer uma série de vídeo-aulas com programas simples para crianças em idade escolar, mas há dúvidas de que alguém precise disso no RuNet (existem muitos desses tutoriais em vídeo no youtube em inglês).
Como um bônus para quem leu até aqui, para quem quer ver o quadro ao vivo, postei um
pequeno vídeo . A segunda
parte do vídeo mostra um exemplo de programa na linguagem visual e, em Python, a
terceira parte fala sobre o uso do acelerômetro.