- Explication matérielle de la carte de développement STM32 Nucleo 64
- Programmation des cartes de développement STM32 Nucleo 64
- Premiers pas avec STM32F401
- Conclusion
- Vidéo
Pour la plupart des gens, la première carte de développement intégrée sur laquelle ils auraient travaillé serait probablement une carte Arduino. Mais, comme tout le monde est d'accord, votre Arduino ne pourrait vous emmener que si loin et un jour, vous devrez passer à une plate-forme de microcontrôleur native. Ce processus peut être beaucoup plus facile avec cette carte de développement STM32 car elle peut prendre en charge tous les boucliers Arduino pour vous aider du côté matériel et dispose également de nombreuses bibliothèques et fonctions intégrées pour vous aider du côté logiciel. Se familiariser également avec les microcontrôleurs STM32 vous aidera à explorer facilement d'autres modules de développement de ST comme le SensorTile.Box que nous avons examiné précédemment. Donc, dans cet article, jetons un coup d'œil complet à ces cartes de développement STM32 Nucleo-64 et apprenons à les utiliser.
Il existe maintenant de nombreuses versions de cartes STM32 disponibles et celle-ci s'appelle STM32F401 Nucleo-64. Le nom STM32 signifie que nous avons un microcontrôleur 32 bits sur notre carte de développement, et le nom Nucleo-64 représente que le microcontrôleur a 64 broches. De même, il existe de nombreuses autres versions de cartes Nucleo 64 comme la STM32F103, la STM32F303, etc., mais une fois que vous avez découvert une carte, toutes les autres sont assez similaires.
Explication matérielle de la carte de développement STM32 Nucleo 64
Commençons par déballer notre carte de développement. Comme vous pouvez le voir, le package complet se compose uniquement de notre carte de développement et d'une carte d'instructions. La carte d'instructions mentionne les spécifications du contrôleur, ses brochages et, à l'arrière, nous avons des informations sur la façon de commencer et les options de chaîne d'outils disponibles.
En regardant de plus près le conseil, nous pouvons constater que le conseil est divisé en deux régions. La section supérieure est le débogueur et programmeur ST-Link / V2 tandis que la section inférieure est votre carte de développement réelle. De cette façon, vous pouvez facilement programmer et déboguer votre carte dès la sortie de la boîte simplement avec un câble USB supplémentaire qui peut être connecté au mini port USB de la carte.
À première vue, la carte peut sembler avoir beaucoup de cavaliers et de composants, mais ils sont tous là pour nous faciliter les choses. Les deux cavaliers que vous trouvez de chaque côté de la carte CN11 et CN12 sont en fait des cavaliers factices, ces cavaliers peuvent être utilisés à d'autres fins si nécessaire à l'avenir. Les deux cavaliers sur CN2 sont utilisés pour connecter la section programmeur et débogueur à notre carte de développement. À l'avenir, vous pouvez supprimer ces cavaliers pour utiliser le programmateur pour d'autres microcontrôleurs ST via ces broches. Et cette broche de connecteur JP1 peut être fermée pour limiter le courant USB à 100mA, si elle est laissée ouverte, le courant maximum sera de 300mA. Ici, nous avons une LED tricolore (LD1) qui s'allume en rouge lorsque la carte est sous tension et devient verte lorsque la carte est correctement programmée et devient orange en cas de panne de communication.
Passant à la section développement, nous avons ici notre composant le plus important, le microcontrôleur STM32F401RET6. Il s'agit d'un microcontrôleur 64 broches 32 bits avec un processeur ARM Cortex M4 fonctionnant à 84 MHz. Il dispose également de 512 Ko Flash et 96 Ko SRAM. Le microcontrôleur possède 10 minuteries de 16 bits et 32 bits et un seul ADC 12 bits. Il dispose également de trois USART, trois I2C, quatre SPI et un USB 2.0 pour les communications externes. Vous pouvez consulter la fiche technique du STM32F401 pour obtenir plus d'informations techniques.
Maintenant, voici la partie intéressante, comme je vous l'ai dit plus tôt, la carte prend en charge tous les boucliers Arduino. La carte dispose de deux ensembles de connecteurs, les broches femelles sont destinées aux blindages Arduino qui s'adaptent parfaitement à notre bouclier Wi-Fi ESP8266 et à notre bouclier Semtech Arduino LoRa, comme vous pouvez le voir dans l'image ci-dessous.
Les autres mâles sont appelés broches morpho ST qui peuvent être utilisées pour utiliser les broches d'alésage sur notre microcontrôleur 64 broches. Ensuite, nous avons un bouton de réinitialisation ici et un bouton configurable par l'utilisateur qui est connecté à la broche PC13 et également une LED ici qui est connectée à la broche D13, tout comme Arduino. Pour alimenter la carte, nous pouvons soit utiliser le port USB, soit fournir directement 5V régulé au E5V ou à la broche 5V ici. N'oubliez pas de changer ce cavalier pour indiquer comment vous alimentez la carte; U5V indique que la carte est alimentée par USB. Nous avons également une autre broche de cavalier intéressante appelée IDD qui peut être utilisée pour mesurer la consommation de courant de votre microcontrôleur en connectant un ampèremètre à ces broches.
Programmation des cartes de développement STM32 Nucleo 64
En ce qui concerne la section des logiciels, la carte a une énorme bibliothèque et un support de programmation et peut être programmée à l'aide de Keil, de l'atelier IAR et de nombreux autres IDE. Mais ce qui est intéressant, c'est qu'il prend en charge l' environnement de développement ARM Mbed et STM32Cube. Pour les besoins de cet article, j'ai décidé d'utiliser la plateforme ARM Mbed car c'est un outil en ligne et je l'ai trouvé très intéressant car vous pouvez non seulement vos cartes ST avec mais de nombreuses autres cartes de développement qui utilisent le microcontrôleur ARM.
Pour ceux qui sont nouveaux, ARM MBED est une plate-forme de développement en ligne fournie par ARM lui-même et vous offre un système d'exploitation intégré, des services cloud et des fonctionnalités de sécurité pour créer facilement des solutions embarquées basées sur l'IoT. C'est une énorme communauté open source et pour en savoir plus, il faudra un article séparé.
Premiers pas avec STM32F401
Mais, pour commencer, utilisez un mini câble USB pour connecter votre carte de développement STM32 à votre ordinateur. Une fois sous tension, vous devriez remarquer que les LED LD1 et LD3 s'allument en rouge, et la LED programmable LD2 clignotera en vert comme ceci.
Vous remarquerez également un nouveau lecteur flash sur votre ordinateur appelé «NODE_F401RE». Ouvrez-le et vous trouverez deux fichiers à savoir details.txt et mbed.htm comme indiqué ci-dessous.
Vous pouvez lancer le fichier Mbed.htm pour démarrer directement la programmation de votre carte en ligne à l'aide de bras Mbed. Mais avant d'y arriver, nous avons installé les pilotes requis et nous nous sommes inscrits à Mbed. Recherchez le pilote logiciel STSW-link009 et téléchargez-le directement depuis le site Web de ST, installez le pilote et assurez-vous que le périphérique est correctement détecté dans votre gestionnaire de périphériques, comme indiqué ici.
Revenez sur votre plateforme mbed pour vous inscrire sur MBED.com avec vos identifiants. Ensuite, cliquez sur le fichier MBED.HTM et vous serez accueilli avec la page suivante.
Faites défiler vers le bas et cliquez sur « Ouvrir le compilateur Mbed ». Comme vous pouvez le voir, le compilateur a déjà reconnu notre plate-forme comme Nucleo-F401RE et nous fournit de nombreux exemples de programmes de base. Pour l'instant, permettez-moi de sélectionner le « code clignotant LED » et de le modifier pour que la LED s'éteigne chaque fois que j'appuie sur le bouton poussoir.
Une fois le code prêt comme indiqué ci-dessous, vous pouvez cliquer sur le bouton de compilation, qui vous fournira un fichier bin, copiez simplement le fichier bin et collez-le dans votre lecteur flash pour programmer votre carte. Vous remarquerez que la LED LD1 devient verte une fois la programmation terminée. Appuyez maintenant sur le bouton bleu et vous remarquerez que la LED verte s'éteint. Ainsi, vous pouvez essayer l'un des programmes d'exemple pour apprendre les différentes fonctionnalités de la carte. Vous pouvez également retourner à la page principale pour obtenir d'autres documents techniques et le soutien de la communauté.
Vous pouvez également regarder la vidéo liée au bas de cette page, pour voir la critique complète sur ce forum.
Conclusion
Dans l'ensemble, je pense que ces cartes sont d'excellents choix si vous essayez d'améliorer vos compétences et de développer des applications avancées. Avec son support matériel pratique et sa communauté en ligne, la courbe d'apprentissage de ces cartes est également assez simple, vous voudrez peut-être l'essayer. J'espère que vous avez apprécié l'article et en avez appris quelque chose d'utile. Si vous avez des questions, laissez-les dans la section commentaires ci-dessous ou utilisez nos forums pour d'autres questions techniques.