====== mBlock ====== [[http://www.mblock.cc/software/|mBlock]] est un logiciel dérivé de [[https://scratch.mit.edu/|Scratch]] facilitant la programmation des cartes Arduino dans un environnement collège. Il existe maintenant une version en ligne [[https://ide.mblock.cc]] qui est automatiquement mise à jour et plus facile à mettre en oeuvre. Pour les élèves du collège, il facilite le passage de l'initialisation à la programmation, par la création d'animation en Scratch, à celle d'objets automatisés à base de cartes Arduino. Ils restent ainsi dans une interface connue et maîtrisée utilisant le même type de blocs. * En mode scratch, on retrouve l'interface et les fonctionnalités de celui-ci. * En mode Arduino : * la partie graphique de gauche pour les sorties sur écran est supprimée. * le panneau du centre contenant les blocs se décale à gauche. Les blocs relatifs au clavier et à l'écran disparaissent. * la zone de programmation par blocs de droite passe au centre. * Une nouvelle zone apparaît à droite contenant la traduction en [[http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Reference|langage Arduino]] du programme construit avec les blocs. Elle permet aussi le transfert du programme vers la carte et le dialogue (liaison série) avec celle-ci. ===== Installation ===== Après avoir installé le logiciel, il est nécessaire d'installer les pilotes Arduino pour pouvoir programmer les cartes. Il existe des bibliothèques d'extensions pour les composants compatibles Arduino. Il est même possible de se fabriquer les siennes assez facilement. Cela permet d'utiliser un très grand nombre de [[modules_interface_microcontroleur|capteurs et actionneurs]]. ===== Configuration ===== Au lancement, une interface proche de celle de Scratch apparait avec "M-Panda" au milieu. La passer en Français (Choix de la langue). On passe en "Mode Arduino" dans le menu "Édition". Par défaut, certains blocs spécifiques apparaissent (Catégorie "Pilotage", Sous-catégorie "Arduino" ...). On peut personnaliser la catégorie Pilotage grâce au menu "Choix des extensions" et en ajouter de nouvelles avec la commande "Gérer les extensions". ===== Utilisation ====== Une fois le programme écrit à l'aide des blocs et sauvegardé : - connecter la carte Arduino avec le câble USB, - sélectionner le port utilisé par le câble (Connecter - Par port série) - sélectionner le type de carte utilisé (Choix de la carte) - transférer le programme (Bouton "Téléverser dans l'Arduino") Le téléversement terminé, la carte Arduino peut être utilisée en mode autonome. ===== Les extensions ===== De nombreuses extensions sont disponibles. Certaines sont très utiles comme l'extension Grove de A4 et d'autres beaucoup plus limitées. Il est aussi possible de réaliser ses propres extensions. ==== Mes extensions ==== Utilisant avec les élèves un certain nombre de composants spécifiques (Central Média ou de provenance Chinoise) dont je n'ai pas réussi à trouver une extension adapté, j'ai développé les miennes. A terme, toutes devraient disposer de leur page explicative. * [[mbloc_disp4x7seg|TM1687Full]] pour modules afficheurs [[tm1637|4 digits]] ou [[tm1637-6-bits|6 digits avec 6 touches]] à base de TM1687 * {{ :encodeur_v1.1.zip |}} pour l'encodeur rotatif [[cap618|CAP618/KY-040]] * DEPRECIE [[mbloc_keypad]] pour des fonctions supplémentaires au [[cap622|clavier 16 touches]] (keypad clavier 4x4 {{https://mbwesteu.blob.core.windows.net/ext-eu/cn/extlist-prod/extract/1401983416525791200/92c82d73-906b-4589-b2c6-f0961e3dec97/keypad_clavier/imgs/daf0849a030e4ce5ac73e4921f5f78d5.jpg?x-oss-process=image/resize,w_50/format,webp}}) * OBSOLÈTE {{ :dth11.zip |}} pour le capteur de température et d'humidité [[cap548|DHT11]] (DHT11-DHT22 Tec {{https://mbwesteu.blob.core.windows.net/ext-eu/cn/extlist-prod/extract/1521143731523297300/d925e78f-ac77-45ec-bc3d-a25c25a71e31/antoniotecnoloxia_dht/imgs/d2495cb869b64e58842ad97a88e63bf2.png?x-oss-process=image/resize,w_50/format,webp}}) * OBSOLÈTE {{ :lcd_i2c_v1.1.zip |}} pour [[ks0061|afficheur LCD]] (LCD I2C {{https://mbwesteu.blob.core.windows.net/ext-eu/cn/extlist-prod/extract/1383415354197418000/6f854b7a-c218-4218-9ee3-6a5b5936b660/ds_i2c_lcd/imgs/937dcb1c88ae4a0fa309dcb2de761297.png?x-oss-process=image/resize,w_50/format,webp}}) * OBSOLÈTE {{ :myl298n_v1.2.zip |}} Driver 2 moteurs [[DRV298]] (L297N {{https://mbwesteu.blob.core.windows.net/ext-eu/cn/extlist-prod/extract/1377951772580126700/35ce85a1-0a61-4cbd-b57b-338ac471fa5d/l298n_21/imgs/83e1119baf4b41358e52b613eab914ca.jpg?x-oss-process=image/resize,w_50/format,webp}}) * OBSOLÈTE {{ :striplrgb_v1.1.zip |}} pour les [[ws2811|rubans de LEDs RGB]] (uBrick.NeoPixel {{https://mbwesteu.blob.core.windows.net/ext-eu/cn/extlist-prod/extract/1338879523504136200/7cf6bdb4-b911-4c3f-8e6e-bab4d23cc801/ubrick_neopixel/imgs/35d9a37137064523835d333ba21820a2.png?x-oss-process=image/resize,w_50/format,webp}}) ==== Pour réaliser une extension ==== * [[https://ext.mblock.cc/|Extension Builder]] pour créer ses propres extensions. * [[https://support.makeblock.com/hc/en-us/sections/14954034732439-mBlock-5-Extension-Builder|Guide en anglais]] * [[https://education.makeblock.com/help/category/mblock-extension-builder/|Idem version éducation]]