Accès illimité 24h/24 à tous nos livres & vidéos ! Découvrez la Bibliothèque Numérique ENI. Cliquez ici.
  1. Livres et vidéos
  2. Arduino - Apprenez à coder avec mBlock (projets robotiques, créatifs et scientifiques) (2e édition)

Arduino Apprenez à coder avec mBlock (projets robotiques, créatifs et scientifiques) (2e édition)

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Présentation

Ce livre sur Arduino a pour objectif de transmettre au lecteur les ressources nécessaires pour apprendre à programmer une carte Arduino avec le langage visuel mBlock. Il s'adresse autant au néophyte qu'à l'informaticien souhaitant réaliser des projets de plus en plus élaborés tout en limitant l'apprentissage d'un langage informatique et en démystifiant les principes d'électronique et de mécanique.

La prise en main de l’atelier de développement par blocs mBlock, de MakeBlock, est basé sur Scratch dont la notoriété et la facilité d’accès en font un outil idéal pour apprendre à coder. Les versions 3 et 5 de cet atelier sont couvertes par cette nouvelle version de l’ouvrage.

Dans la première partie du livre, les concepts de développement avec mBlock sont détaillés. Qu'il s'agisse de revenir à l'origine de la programmation visuelle, de faire le lien entre les algorithmes et les blocs, d'utiliser les bibliothèques de scripts de mBlock ou encore d'en étendre les fonctionnalités en détaillant la démarche de réalisation d'extensions, l'auteur livre au lecteur les bonnes pratiques qui lui permettront de développer un programme de qualité professionnelle et de faciliter ainsi sa mise au point.

La seconde partie du livre se concentre sur la concrétisation de projets à réaliser avec Arduino en revenant également sur quelques notions fondamentales d'électronique et de mécanique. L'auteur y traite de plusieurs approches de réalisation selon que l'on utilise des platines (shields) déjà prêtes, comme la carte ESP8266, ou que l'on recycle ou achète des composants. Dans le courant de l'IoT, il propose des exemples de réalisation concrets et donne les clés d'utilisation de mBlock pour programmer et administrer un objet connecté.

Pour finir, la dernière partie présente une approche d'enseignement de la programmation pour Arduino avec mBlock. L'auteur choisit de traiter cet enseignement par une approche ludique de la robotique, résultant du triptyque informatique/électronique/mécanique et tirée de son expérience.

Au terme de la lecture de ce livre, vous serez ainsi en mesure d'exploiter les possibilités offertes par la programmation d'une carte Arduino avec mBlock, que ce soit dans un cadre individuel ou lors d'ateliers pédagogiques.

Table des matières

  • Développement et codage
    • 1. Au commencement était le verbe : généralités sur les langages informatiques
    • 2. L’art de programmer un ordinateur (Donald E. Knuth)
      • 2.1 En ce temps-là...
      • 2.2 Saurez-vous calculer la date de Pâques du premier coup ?
    • 3. La programmation textuelle : un frein à l’apprentissage ?
    • 4. La programmation visuelle et les blocs
    • 5. Aller plus vite et plus loin avec la programmation visuelle et la génération de code
    • 6. Utiliser l’atelier mBlock pour développer des programmes pour l’Arduino
      • 6.1 De Scratch à mBlock
      • 6.2 De mBlock à Arduino
        • 6.2.1 Avec mBlock3 (non maintenu depuis le 31/12/2020)
        • 6.2.2 Avec mBlock5
    • 7. Les autres ateliers et outils de programmation visuelle
      • 7.1 Ardublock
      • 7.2 Blockly
    • 8. Conserver ses données et choisir une solution de stockage local ou en « cloud »
      • 8.1 Des fichiers locaux
      • 8.2 Les structures de données pour le Web
      • 8.3 Un stockage dans un nuage, petit ou grand
    • 9. La loi du moindre effort : réutiliser et partager le code, utiliser des bibliothèques
    • 10. Communiquer avec le reste du monde : les interfaces et protocoles
      • 10.1 Multiplexage et protocoles courants (SPI, I2C)
      • 10.2 Le protocole I2C
      • 10.3 Le protocole SPI
      • 10.4 Comment choisir entre I2C et SPI ?
      • 10.5 Les autres protocoles : 1-Wire, 3-Wire et SMBus
        • 10.5.1 1-Wire
        • 10.5.2 3-Wire et MicroWire
        • 10.5.3 SMBus
  • Algorithmes et blocs
    • 1. « Algorithme + structure de données = programme » (Nicklaus Wirth)
      • 1.1 Les structures de contrôle
      • 1.2 Structures conditionnelles dans Scratch
      • 1.3 Structures répétitives dans Scratch
      • 1.4 Les structures de données
      • 1.5 Les types de données utilisés par l’Arduino
        • 1.5.1 Les nombres :
        • 1.5.2 Les booléens
        • 1.5.3 Les tableaux
        • 1.5.4 Les chaînes de caractères
        • 1.5.5 Les fonctions : void
        • 1.5.6 Les constantes
      • 1.6 Les structures de contrôle les plus utilisées
        • 1.6.1 La structure conditionnelle
        • 1.6.2 La structure répétitive
      • 1.7 Les opérateurs
        • 1.7.1 Les opérateurs de comparaison
        • 1.7.2 Les opérateurs booléens
        • 1.7.3 Les opérateurs composés
      • 1.8 Les fonctions courantes
        • 1.8.1 Entrées-sorties digitales
        • 1.8.2 Entrées-sorties analogiques
      • 1.9 Autres fonctions et librairies
    • 2. Qualités et défauts des algorithmes (complexité, rapidité, "gloutonnerie")
      • 2.1 Les critères de choix ou d’évaluation des algorithmes
      • 2.2 De la gloutonnerie des algorithmes
    • 3. Aller au-delà de Scratch : utiliser la bibliothèque de blocs de mBlock
  • Étendre les fonctionnalités de mBlock
    • 1. Utiliser et gérer des extensions
      • 1.1 Les extensions de base
      • 1.2 Les extensions évoluées ou spécifiques
      • 1.3 Les extensions cachées
      • 1.4 Les extensions manquantes
    • 2. Créer ses propres extensions avec mBlock3
      • 2.1 Entrer dans la logique des extensions de mBlock3
      • 2.2 L’arborescence d’une extension dans mBlock3
      • 2.3 La structure d’un fichier de définition d’extension dans mBlock3
      • 2.4 Quelques règles de syntaxe utiles à garder présentes à l’esprit
      • 2.5 La description de l’extension
      • 2.6 La définition du ou des blocs
      • 2.7 Une précision concernant les bibliothèques
      • 2.8 La définition des options des menus déroulants
      • 2.9 Les valeurs des menus et les valeurs par défaut
      • 2.10 La traduction
      • 2.11 Le fichier JavaScript
      • 2.12 Créer une extension avec un éditeur de code
      • 2.13 Une démarche de création d’une extension et son application
      • 2.14 Application à un exemple simple
      • 2.15 Faire évoluer une extension
    • 3. Créer une extension avec mBlock5
    • 4. Assembler des scripts dans l’IDE de l’Arduino
  • Applications à quelques petits projets
    • 1. L’Arduino comme base technique pour le prototypage
    • 2. De la plaque d’expérimentation (breadboard) au circuit imprimé
    • 3. Déployer à grande échelle et miniaturiser : l’ESP8266
    • 4. Quelques projets courants
      • 4.1 Commander un moteur avec un transistor et un pont en H
      • 4.2 Piloter un servomoteur classique
    • 5. Gérer des capteurs : distance, lumière, son, température
      • 5.1 Un cas pratique d’utilisation avec mBlock5 : mesurer la température avec un capteur DHT11
      • 5.2 Un autre exemple d’utilisation d’un capteur : la mesure de distance
      • 5.3 Asservir un servomoteur à un capteur
    • 6. Des projets moins courants
      • 6.1 Utiliser un accéléromètre
        • 6.1.1 Qu’est-ce qu’un accéléromètre ?
        • 6.1.2 Le fonctionnement d’un accéléromètre et d’un gyroscope
        • 6.1.3 Les bases : la lecture des données RAW
        • 6.1.4 Un pas plus loin : le quaternion et les angles d’Euler
        • 6.1.5 Utilisation dans les montages et projets
        • 6.1.6 Les extensions mBlock pour mettre en œuvre un accéléromètre
      • 6.2 Ajouter une base de temps
      • 6.3 Stocker des données sur une carte SD
  • Conseils de pro
    • 1. Définir des fonctions et des procédures
      • 1.1 Les fonctions
      • 1.2 Les procédures
    • 2. Adopter une règle de nommage des variables et des objets (et s'y tenir !)
    • 3. Gérer les versions de code
      • 3.1 Les outils de gestion de version
      • 3.2 Une métaphore arboricole ou ferroviaire
    • 4. L’assemblage et l’intégration
    • 5. Tester et détecter les bugs avant l’exécution : une check-list avant le décollage
    • 6. Tracer et commenter les algorithmes et le code
    • 7. Ne jamais supposer que le microcontrôleur ou l’ordinateur sait quelque chose...
    • 8. Penser au pire, développer pour le meilleur
      • 8.1 Penser au pire
      • 8.2 Développer pour le meilleur
    • 9. Autres proverbes utiles d'Henry Ledgard
    • 10. Un exemple de problème : le rebond des boutons poussoirs et des détecteurs de contact
      • 10.1 Le problème
      • 10.2 Les solutions
    • 11. Cent fois sur le métier remettre son ouvrage
    • 12. Gérer les bibliothèques
      • 12.1 Chevrons et guillemets
      • 12.2 Le cas particulier de mBlock
  • Un peu d’électronique et de mécanique bien utile
    • 1. Courants forts et courants faibles, moyenne et basse tension
    • 2. Les robots montrent leurs muscles : des courants forts et des tensions élevées
    • 3. Des signaux faibles
    • 4. Séparer les deux mondes
    • 5. Juste assez d’électronique pour faire marcher ses montages
      • 5.1 L’alimentation d’une LED
      • 5.2 Potentiomètre et poussoirs
      • 5.3 Commande de puissance
      • 5.4 Pont en H
      • 5.5 Commande de servomoteur
      • 5.6 Régulation de tension
      • 5.7 Utiliser des schémas courants et réutilisables
    • 6. La mécanique pour les non-mécaniciens
      • 6.1 La transformation du mouvement
      • 6.2 Roues et pignons, poulies et courroies, bielles et vérins
      • 6.3 Couple moteur et coefficient de réduction
  • Les objets connectés et l’Internet des objets (IoT)
    • 1. L’Internet des objets (IoT, Internet of Things)
    • 2. Sécuriser ses montages et contrôler les accès
      • 2.1 Les objets connectés et leur environnement hostile
      • 2.2 Sécuriser ses montages
      • 2.3 Contrôler ses accès
      • 2.4 Les IoT avec Arduino
    • 3. Relayer la valeur d’un capteur par Internet, un affichage ou un son
      • 3.1 Un premier montage basé sur un serveur web
        • 3.1.1 Le capteur de température
        • 3.1.2 Le son
        • 3.1.3 L’affichage
        • 3.1.4 La communication par Internet
        • 3.1.5 Affectation des pins
        • 3.1.6 Script mBlock3
        • 3.1.7 Composants nécessaires
        • 3.1.8 Bibliothèques nécessaires
        • 3.1.9 La gestion du capteur
        • 3.1.10 La communication par Internet
        • 3.1.11 L’affichage LCD 16 x 2
      • 3.2 Amélioration possible et évolution
    • 4. Applications web pour tablettes et portables
      • 4.1 Blynk
        • 4.1.1 Une extension mBlock pour Blynk
        • 4.1.2 Application : éteindre et allumer une LED depuis Internet
      • 4.2 ThingSpeak
  • Programmer ses robots avec mBlock
    • 1. Apprendre à programmer un robot piloté par un Arduino avec mBot et mBlock5
    • 2. Description de mBot, basé sur un Arduino, et de son interaction avec mBlock5
    • 3. Les blocs et les algorithmes de base pour les déplacements
    • 4. Utiliser les capteurs pour apprendre la programmation des déplacements
      • 4.1 Les blocs à utiliser pour le suivi de ligne
      • 4.2 Les blocs à utiliser pour la détection d’obstacle
    • 5. Programmer un robot autonome
    • 6. Piloter à distance son robot et contrôler les déplacements avec Bluetooth et mBlock5
    • 7. Aller au-delà de mBot : un robot sur mesure
  • Les projets pédagogiques et scientifiques
    • 1. Choisir un projet motivant, pédagogique et, si possible, « dans le courant »
    • 2. Les stations de mesure
      • 2.1 La mesure environnementale et climatique et le partage de ses données
      • 2.2 Mesures et calculs
      • 2.3 Horodatage (timestamp) ou estampillage des données
      • 2.4 Stockage des données
      • 2.5 Restitution des données
  • Une approche ludique par la robotique
    • 1. Quelques robots célèbres
      • 1.1 Robbie
      • 1.2 Gort
      • 1.3 R2-D2 et C-3PO
      • 1.4 WALL-E
      • 1.5 Marvin
      • 1.6 NAO, Roméo et Pepper
      • 1.7 TARS
    • 2. Les kits de découverte du marché
    • 3. L’approche « maker » et le recyclage d’objets
    • 4. 1 pile + 1 Arduino + quelques composants + 2 servomoteurs = un robot suiveur de ligne
      • 4.1 Les capteurs
      • 4.2 La logique de commande
      • 4.3 Les actionneurs
      • 4.4 L’architecture générale du robot
      • 4.5 Le script mBlock
    • 5. Simplifier pour expérimenter
    • 6. La documentation utile : les pas à pas
    • 7. ERA : les trois séquences d’un atelier de robotique ou de programmation : enseigner, réfléchir, appliquer
      • 7.1 Enseigner
      • 7.2 Réfléchir
      • 7.3 Appliquer
      • 7.4 Mettre en œuvre la démarche
  • Didactique de la programmation et apprentissage du numérique
    • 1. À chacun son parcours, à chacun son approche
    • 2. Didactique de la programmation et apprentissage du numérique
    • 3. Le travail en atelier de codage : autonomie et collaboration
      • 3.1 Le codage individuel
      • 3.2 Le codage collectif
      • 3.3 Le hackathon et le game jam ou game creation event
      • 3.4 Un exemple d’apprentissage par le jeu avec Code Combat
    • 4. Un autre triptyque : parcours pédagogique - documents d’appui - outils
    • 5. Encourager pour aller plus loin et développer l’expertise
  • Utiliser ce livre en s’adaptant à son public : des élèves aux « makers »
    • 1. Dans une salle de classe
    • 2. Lors d’une formation à la robotique
    • 3. Dans un atelier de codage
    • 4. Chez soi ou dans un « lab »
    • 5. Suivre le développement de la technique et améliorer ses montages
    • Index

Auteur

Dominique MOLLARDEn savoir plus

Ingénieur en Informatique, Dominique MOLLARD a exercé en tant que Directeur de projets informatiques dans une grande administration française depuis plusieurs années. Il est passionné par le monde de la robotique et à ce titre s’est investi pendant plusieurs années en tant qu’animateur de clubs robotiques (JAMK Robotique, Les Ateliens) et formateur bénévole en robotique et programmation de l’Arduino (pour l’association Planète-Sciences Île-de-France et à distance en Afrique). Ses qualités pédagogiques se retrouvent dans ce livre dans lequel il a eu à cœur de transmettre au lecteur toutes ses compétences techniques et scientifiques autour de l’écosystème MakeBlock ou de l’Arduino.

Caractéristiques

  • Niveau Confirmé à Initié
  • Nombre de pages 346 pages
  • Parution octobre 2022
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-03726-9
    • EAN : 9782409037269
    • Ref. ENI : LF2ARDMB

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentairezs (4 342 Ko)