STM32 Nucleo



Les cartes Nucleo sont des cartes STM32 découvertes (très peu chères : 9 euros HT chez Farnell) supportant les shields Arduino. La programmation et le debug passe par le port USB (ST-Link/V2-1). Le port USB émule le Serial USB. Le PCB est sécable pour détacher le programmateur ST-Link/V2-1. Elles sont programmables avec l'IDE en mode SaaS Mbed.

Plusieurs cartes d'extension stackablessont développés et en développement par ST Microelectronics : Driver Stepper, communication BLE 4.0, MEMS (gyro, magneto, accelerometre), capteur laser de distance (courte), ... =Premiers Pas (Getting Started)=

1) Créez vous un compte sur http://mbed.org

2) Sélectionnez la carte Nucleo que vous possédez (pour ma part, une ST-Nucleo-F072RB).

3) Ouvrez l'IDE avec cette carte (Bouton Open mBed Compiler)

4) Créez un nouveau programme menu New > New Program ...

5) Utilisez un des templates (par exemple Nucleo Read Button)

6) Compilez (menu Compile)

Un fichier .bin est généré et téléchargé

7) Copiez le fichier .bin à la racine du disque amovible Nucleo qui se trouve sur votre poste.

La carte Nucleo flashe le binaire et redémarre.

Appuyez le bouton User de la carte pour voir le résultat.

=Utilisation du port série= 1) Faites un montage simple avec un potentiomètre en mettant sa patte centrale sur la pin A0 de la carte et les pattes externes sur 3.3V et GND.

2) Recommencez les étapes précédentes avec le programme ci-dessous et copiez le .bin produit sur le disque Nucleo.

3) Ouvrez le port série de la carte pour l'affichage de la console de la carte : fonctions printf et fprintf

dmesg | grep tty cat /dev/ttyACM0

4) Faites varier le potentiomètre

5) Vous pouvez utiliser aussi moserial ou screen sudo apt-get update sudo apt-get install moserial

Ou bien Zterm (MacOS), PuTTY (Windows), TeraTerm (Windows)

Le baudrate est 9600 bauds

=Installation et Utilisation de l'interpréteur Javascript Espruino= (A FAIRE CET ETE)

=Pour continuer=

Voir la page de la team ST
 * http://developer.mbed.org/teams/ST/
 * http://developer.mbed.org/teams/ST-Americas-mbed-Team/wiki/STM32-Nucleo-ATT-Hackathon

OpenOCD
Flashage via OpenOCD

Utilisation de Libopencm3
https://balau82.wordpress.com/2015/04/19/libopencm3-on-stm32-nucleo-board/

Communication hôte

 * http://wiki.labaixbidouille.com/index.php?title=Communiquer_entre_un_PC_et_la_carte_STM32_Nucleo

H-Bridge



 * Mbed program for Monster Moto Shield : http://mbed.org/users/donsez/code/NucleoF401_MonsterMotoShield/
 * http://developer.mbed.org/components/SparkFun-Ardumoto-Shield/
 * http://developer.mbed.org/components/Sparkuns-Monster-Moto-Shield/

133696 HC-SR04 Ultrasonic Sensor Distance Measuring Module
TODO

Servo Moteurs
TODO

DC motor drivers

 * X-NUCLEO-IHM07M1 Three-phase brushless DC motor driver expansion board based on L6230 for STM32 Nucleo

MicroSD
Shields
 * https://www.sparkfun.com/products/12761
 * https://www.sparkfun.com/products/544 avec http://developer.mbed.org/cookbook/SD-Card-File-System
 * http://www.dx.com/p/spi-microsd-card-adapter-v0-9b-for-arduino-works-with-official-arduino-board-246784

DHT11/DHT21/DHT22 etc. Temperature & Humidity sensors
TODO

Bluetooth Low Energy
X-NUCLEO-IDB04A1 : Bluetooth low energy expansion board based on BlueNRG for STM32 Nucleo

Proximity

 * Shield VL6180X Explorer
 * LS53L0X Shield (3 to 200 cms) with ST VL53L0X Laser Distance Sensor.

MEMS

 * Shield X-Nucleo MEMS PF261191

NFC

 * Shield NFC X-NUCLEO-NFC01A1
 * http://developer.mbed.org/teams/ST-Americas-mbed-Team/code/Nucleo_BLE_HeartRate/wiki/Homepage

LoRa

 * Module d'évaluation SX1276 SX1276MB1MAS

HC-SR04 Ultrasonic Sensor Distance Measuring Module

 * https://developer.mbed.org/users/donsez/code/Nucleo_Ultrasonic-HCSR4/