Salut les geektimes. J'ai d'abord lu sur les ordinateurs BBC Micro ici sur geektimes. Dans les années 80, la société britannique BBC a lancé un projet de formation dont le but était d'augmenter le niveau d'alphabétisation informatique. Plus de détails peuvent être trouvés dans l'article de Plarium «
BBC Micro - l'ordinateur qui a battu ZX Spectrum », mais nous reprendrons nos activités aujourd'hui. Pendant combien de temps, brièvement, la BBC a décidé de répéter le projet déjà sur une base d'élément moderne et a publié le
micro- ordinateur
BBC Micro: bit .

Comme vous pouvez le voir, le modèle moderne est légèrement plus petit
que son
prédécesseur .
À propos de Micro: bit a déjà été écrit lors des geektimes, à la fois sur le fait que le tableau
peut déjà être acheté , et sur le fait que les étudiants britanniques le
distribuent même
gratuitement . Cependant, il semble que peu de personnes aient programmé sur le site ici, il est temps de combler cette lacune.
Comment ça marche, détails sous la coupe.
Pourquoi est-ce nécessaire
Une question raisonnable peut se poser «pourquoi est-ce nécessaire», compte tenu de la variété des différents appareils, de l'Arduino à l'ESP32 ou au Raspberry Pi. Ici, la réponse est simple.
1) Pour les écoliers (britanniques) c'est gratuit, mais c'est connu d'un cheval doué ... La planche a bien sûr des inconvénients - les LED dans la matrice ne sont pas suffisantes (et pas colorées), j'aimerais un couple de transistors de puissance supplémentaires pour contrôler les charges, mais encore une fois, regardez p1 . Pour tout le monde, soit dit en passant, le prix d'émission est d'environ 20 euros sur amazon ou ebay.
2) Ces tableaux sont également officiellement livrés aux écoles pour des cours d'informatique - il est beaucoup plus intéressant pour les enfants d'étudier l'informatique sur de vrais appareils (par exemple, écrire un code pour vérifier l'humidité dans une fleur et accrocher vraiment ce truc sur une fleur) que de simplement faire quelque chose d'abstrait.
3) La carte est destinée aux enfants à partir de 7 ans - le même Arduino serait compliqué, car sans périphériques externes, c'est inutile, mais ici ce dont vous avez besoin, les capacités intégrées sont plus que suffisantes. Et pour les cercles et ceux qui veulent faire quelque chose de plus compliqué, il y a des cartes d'extension, qui seront discutées ci-dessous.
4) Les fonctions intégrées de la carte - bluetooth, boussole, accéléromètre, port série, la possibilité de travailler avec I2C / SPI / son / entrées analogiques sont suffisantes pour couvrir 99% des besoins d'une leçon d'informatique, sans parler de ces domaines «à la mode» comme «intelligents» appareils domestiques ou portables (la carte peut se connecter à un smartphone, mesurer la température et l'éclairage, lire des données à partir d'appareils externes, etc.). Il y a clairement place à la créativité ici.
En général, le projet est très intéressant et vous pouvez être sincèrement heureux qu'en Grande-Bretagne, ils le fassent pour leurs enfants. La carte peut d'ailleurs être programmée en utilisant le langage de programmation à blocs visuels, javascript, ou en utilisant Python (à titre purement indicatif, les écoles russes enseignent toujours le Turbo Pascal, mais ne parlons pas de
politique triste). Si vous le souhaitez, dans Micro: bit, vous pouvez
compiler et remplir os mbed et écrire en C ++, mais cela est peu probable pour les étudiants.
Le fer
L'aspect de la carte est clairement visible sur le schéma fonctionnel:

À bord, il y a un processeur ARM Cortex-M0, 256 Ko de ROM Flash, 16 Ko de RAM, une vitesse d'horloge de 16 MHz. Il existe également un support pour BTLE, un émetteur 2,4 GHz pour la communication poste à poste (101 canaux), un accéléromètre, une boussole, un thermomètre et une ligne de broches GPIO, parmi lesquels il y a beaucoup de choses:

Il y a aussi 2 boutons pour l'entrée (le geste "secouer" est également disponible pour l'entrée), une matrice LED 5x5 et 4 "grandes" broches conçues pour que l'enfant visse quelque chose de simple avec des fils ou des "crocodiles", par exemple, un capteur d'humidité pour une fleur ou une résistance variable.
Le peigne à broches est plat pour pouvoir être inséré dans la carte d'extension (prix d'émission 10-15 Euros):

Il existe différentes cartes d'extension, par exemple, une carte de commande de moteur, qui vous permet de fabriquer un tel robot:

Cependant, seul le compartiment à piles est fourni avec la carte, tous les autres modules sont achetés séparément. Cependant, dans la configuration standard, la carte peut être beaucoup.
Logiciels
La première chose qui a surpris, c'est que vous n'avez pas du tout besoin d'installer de logiciel sur l'ordinateur. Lorsque vous connectez la carte via MicroUSB, elle est simplement visible comme un disque amovible. Ensuite, allez sur
http://microbit.org/code/ et choisissez sur quoi vous voulez écrire -
Javascript ou
Python .
L'éditeur Javascript en mode "bloc" s'ouvre directement dans le navigateur et ressemble à ceci:

Ici, j'ai écrit un petit programme qui augmente simplement le compteur en appuyant sur un bouton, et en appuyant sur 2 boutons, il le remet à 0.
En général, l'enfant peut ne pas savoir ce qu'est Javasdcript, mais si vous le souhaitez, vous pouvez passer à l'éditeur "complet" du
mode divin:

Ensuite, cliquez simplement sur «Télécharger», un fichier hexadécimal sera compilé, ce qui est assez simple pour être enregistré dans le «microbit» - le programme sera chargé dans la mémoire flash et lancé. Même s'il n'y a pas de carte, dans le navigateur, il existe un simulateur à part entière dans lequel vous pouvez tester toutes les fonctions du programme.
En tant que "blocs" prêts à l'emploi, l'étudiant dispose de nombreuses fonctions différentes: des simples E / S à la lecture du son ou au contrôle d'une machine asservie. J'ai combiné une partie des blocs dans une capture d'écran, et ce n'est pas tout:

Si nous parlons de Python, l'éditeur est très simple, et bien sûr, n'atteint pas PyCharm, mais vous pouvez écrire du code simple:

Hélas, il n'y a pas de vérification d'erreur ni de bonne mise en évidence de la syntaxe. L'éditeur est encore plus primitif que l'IDE Arduino (ou je n'ai vraiment pas compris). S'il y a une erreur dans le code, l'éditeur ne l'affichera nulle part, le script se chargera «tel quel», il n'y a pas non plus de console de débogage (bien que vous deviez vérifier si le port série est pris en charge pendant le débogage). Et enfin, il n'y a pas non plus de simulateur. Il semble qu'ils aient fait l'éditeur «au tas», apparemment l'éditeur de blocs est probablement considéré comme le principal pour le développement (ou peut-être qu'ils le termineront, le conseil d'administration vient de commencer à aller dans les écoles). Cependant, le langage lui-même avec des bibliothèques supplémentaires est assez fonctionnel, l'API peut être consultée sur
microbit-micropython.readthedocs.io/en/latest .
Il est intéressant de noter que la batterie est fournie avec la carte et que vous pouvez créer et télécharger des programmes à partir d'une tablette exécutant iOS ou Android. Théoriquement, Micro: bit peut être utilisé sans ordinateur ni même prise de courant. Cela a probablement été fait pour les pays en développement, par exemple, en Inde, le nombre de familles pauvres possédant un smartphone ou une tablette au lieu d'un PC est assez important.
Conclusion
On peut supposer que l'idée de la BBC est très bonne. On peut seulement être heureux qu'au Royaume-Uni, ils essaient de faire quelque chose de nouveau et de moderne pour les enfants.
Des exemples de différents projets éducatifs pour Micro: bit peuvent être trouvés
ici .
Du point de vue de la programmation pour adultes, la planche est bien sûr un peu ennuyeuse. Un ensemble de ports d'E / S est suffisant, mais l'éditeur est très simple et il n'est pas très pratique d'utiliser des broches sans adaptateur. Mais vous devez comprendre que le public cible du conseil est les enfants à partir de 7 ans, et faire quelque chose d'intéressant spécifiquement pour un tel public est un défi assez intéressant.
Il y a une idée de faire une série de leçons vidéo avec des programmes simples pour les écoliers, mais il y a des doutes si quelqu'un en a besoin dans RuNet (il y a beaucoup de tels tutoriels vidéo sur le youtube en anglais).
En bonus pour ceux qui ont lu jusqu'ici, pour ceux qui veulent voir le forum en direct, j'ai posté une
courte vidéo . La deuxième
partie de la vidéo montre un exemple de programme en langage visuel et en Python, la
troisième partie raconte l'utilisation de l'accéléromètre.