Carte Nucléo / Systèmes embarqués / Traitements numériques / Pilotage

De nouvelles versions (en anglais) sont en cours d’écriture : Nucleo Basics Nucleo Advanced

Les cartes Nucléo, produites par la société STMicroelectronics sont des cartes de prototypage rapide dans le domaine de l’électronique embarquée.
Pour vous guider dans l’apprentissage du prototypage rapide et le développement d’un système embarqué, nous vous proposons une série de tutoriels complémentaires.

Les outils nécessaires

Carte Nucléo L476RG / ST Microelectronics

Munissez-vous de votre carte Nucléo (les tutoriels ont été testés sur une carte de type L476RG et F767ZI).
Et connectez-vous sur le site de MBED pour bénéficier de l’environnement en ligne Keil Studio.

Les tutoriels proposés se basent sur la version 6 de MBED. Une description complète des fonctionnalités est disponible ici : https://os.mbed.com/docs/mbed-os/v6.15/apis/index.html

Accès aux brochages de la carte en cliquant sur l’image précédente.

Fichier de configuration / mbed_app.json

Afin de pouvoir utiliser les codes proposés dans l’ensemble des tutoriels, il est nécessaire d’ajouter un fichier mbed_app.json (ou de modifier l’existant) à votre application (à la racine de votre projet), incluant les lignes suivantes :

{
    "requires": [ "bare-metal", "rtos-api", "sd","filesystem","fat_chan"],
    "target_overrides": {
      "*": {
        "target.printf_lib": "minimal-printf",
        "platform.minimal-printf-enable-floating-point": true,
        "platform.stdio-baud-rate": 115200,
        "target.components_add": [ "SD" ]
      }
    }
}

Simulateur

Il existe à présent un simulateur de code MBED, pour la carte LPC1768 (carte originale MBED). Il est possible de suivre les différents exemples proposés et également de tester ses propres programmes sans carte de prototypage ! https://simulator.mbed.com/

Laissez-vous guider… Et prototypez !

Vous pouvez piocher au hasard dans les différents tutoriels suivants, regroupés par thèmes, ou bien suivre le GUIDE suivant.



Pour vous aider dans votre apprentissage, des QCM sont disponibles : Tous les QCMs

Quelques bibliothèques sont disponibles ici : Bibliothèques MBED 6

Il existe également un répertoire GITHUB pour les Maquettes et des Ressources (bibliothèques et exemples pour Python et Nucléo)

Les différents tutoriaux de formation sont regroupés en 5 catégories différentes :

Premiers Pas

Créer un projet sous MBED
Tester mon premier programme sur Nucléo
Piloter une LED
Déboguer son programme et utiliser l’affichage série
Différencier un microcontroleur d’un micro-ordinateur
Trouver des informations dans la documentation
Utiliser des bibliothèques externes OLD
Créer ses propres bibliothèques TO DO

Interfaçage

Récupérer une information numérique R_2022
Câbler un bouton-poussoir et détecter un front montant R_2022
Récupérer un signal analogique R_2022
Utiliser un écran LCD R_2022
Générer un signal rectangulaire
Régler la luminosité d’une LED
Piloter une LED de puissance
Générer une tension analogique R_2022
Contrôler un mouvement angulaire à l’aide d’un servomoteur R_2022
Faire varier la vitesse d’un moteur à courant continu R_2022
Connecter une source sonore R_2022
Générer un signal analogique périodique R_2022

Gestion du temps / Interruptions

Faire une action à intervalle régulier 2
Faire des actions à intervalle régulier 2
Générer un signal d’horloge sans GBF 2
Faire une action instantanément lors d’un évènement externe R_2022
Faire une action à intervalle régulier à une fréquence précise

Traitement / Asservissement

Caractériser un traitement numérique 2
Supprimer une fréquence parasite 2
Filtrer une bande fréquentielle / spectrale 3
Filtrer une bande fréquentielle plus efficacement 3
Mettre en place un asservissement numérique 3

FFT en temps réel

Communications

Faire communiquer deux systèmes ensemble 1
Configurer une communication point à point RS232 2 MIS A JOUR
Echanger des données entre un PC et un uC 3 MIS A JOUR
Configurer un réseau point à point SPI 2
Interfacer un convertisseur numérique-analogique externe en SPI 3
Ajouter de la mémoire de données (SRAM) en SPI 4
Stocker des données sur une carte SD en SPI 4
Configurer un réseau adressable I2C 3
Interfacer un accéléromètre en I2C 4

Autres

Piloter des LED RGB “intelligentes” (type WS2812) 1 A VENIR

A venir…

A tester !!

Pourquoi le traitement vidéo est-il compliqué sous Arduino ou Nucléo ? Et comment pallier à cela ? Le tout en image !!

Prototyper MINE ProTIS

Prototyper avec Nucléo et MBED