======== STM32 ========
===== STM32 NUCLEO 144 =====
[[https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo-144-boards-stmicroelectronics.pdf|{{ :start:stm32nucleo144_002.resized.png?direct&600 |stm32Nucleo144}}]]
[[https://stm32python.gitlab.io/fr/index|STM32 pour l’éducation]]
[[https://fr.vittascience.com/shop/|Achat Kits et STM32]]
{{ :start:kits_vittascience_plaquette_st_4_fr_4_.pdf |Les Kits STM32 }}
[[https://docs-arduino-cc.translate.goog/software/ide-v2/tutorials/ide-v2-debugger?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=fr|Introduction Debogueur Arduino]]
[[https://microcontrollerslab-com.translate.goog/stm32-nucleo-arduino-ide-tutorial/?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=fr|Premiers pas avec STM32 Nucleo dans Arduino IDE - LED clignotante]]
{{ :start:premiers_pas_avec_stm32_nucleo_dans_arduino_ide_-_led_clignotante.pdf |}}
===== Debuter avec la carte STM32 Nucleo F334R8 =====
==== Connexion à la carte ====
Via un câble USB connecté sur CN1
==== Logiciel ====
=== Arduino IDE2 ===
Ajouter la bibliothèque de cartes complémentaires dans “préférences”
Ajouter ce lien dans "Additional Boards Managers URLs":
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
=== Télécharger et installer Cube32Programmer ===
Au 21/01/2024, note de JPD : Il existe peut être une autre méthode pour transférer un programme fait depuis Arduino IDE dans la carte STM32 nucléo, mais à aujourd’hui, je n’ai essayé qu’avec l’upload via STM32CubeProgrammer.
Cette application est très probablement utilisée en arrière plan pour compiler et/ou transférer le programme. C’est masqué, il suffit juste d’installer STM32CubeProg sur le PC où Arduino IDE est utilisé. Attention à bien l’installer à l’emplacement par défaut, sinon j’ai cru lire qu’il fallait ajouter manuellement le lien dans un fichier (lequel ??).
==Pour télécharger STM32CubeProg. ==
Lien site STM32 : https://www.st.com/en/development-tools/stm32cubeprog.html#get-software
===Configuration Arduino IDE 2 pour programmer F334R8===
Dans Arduino IDE2, choisir la carte et vérifier les méthodes d’UpLoad :
Choisir Generic STM32F3Series dans Board :
{{ :start:1234.jpg?direct&600 |}}
Dans les nouveaux sous-menu dans Tools, Choisir la carte F334R8Tx :
{{ :start:4567.jpg?direct&600 |}}
Dans Upload method : “STM32CubeProgrammer (SWD)”
{{ :start:6789.jpg?direct&600 |}}
=== Caracteristiques de la carte F334R8 ===
== Vue d'ensemble ==
{{ :start:1478.jpg?direct&600 |}}
== Broche GPIO Pinout ==
{{ :start:35798.jpg?direct&600 |}}
Pour piloter la led intégrée qui est connue comme “D13” sur Arduino, il faut sur la carte STM32334R8, piloter la sortie “PA5”, ou “PA_5” comme illustré dans le tableau de correspondance ci-dessous :
{{ :start:4568852.jpg?direct&600 |}}
{{ :start:1236789.jpg?direct&600 |}}
{{ :start:12546987.jpg?direct&600 |}}
== Numérotation des broches et fonctionnalités ==
{{ :start:45721369.jpg?direct&600 |}}
{{ :start:0236547.jpg?direct&600 |}}
{{ :start:0145678.jpg?direct&600 |}}
{{ :start:1023456.jpg?direct&600 |}}
/!\ Dans le programme il faut spécifier uniquement les noms de broches inscrites en Bleu/blanc dans les figures ci-dessus.
==Alimentation de la carte==
L'alimentation électrique est fournie soit par le PC hôte via le câble USB, soit par une source externe.
source externe : broches d'alimentation VIN (de 7 V à 12 V), E5V (5 V) ou +3,3V sur CN6 ou
CN7. Dans le cas où VIN, E5V ou +3.3V est utilisé pour alimenter la carte STM32 Nucleo, l'utilisation d'un bloc d'alimentation externe ou d'un équipement auxiliaire est nécessaire.
d'alimentation externe ou d'un équipement auxiliaire, cette source d'alimentation doit être conforme à la
norme EN-60950-1 : 2006+A11/2009, et doit être de type Safety Extra Low Voltage (SELV) avec une capacité de puissance limitée.
{{ :start:capture_d_ecran_du_2024-01-22_11-22-27.png?direct&600 |}}
==Exemple programme “faire clignoter la led intégrée”==
/*
Blink without Delay
Turns on and off a light emitting diode (LED) connected to a digital pin,
without using the delay() function. This means that other code can run at the
same time without being interrupted by the LED code.
The circuit:
- Use the onboard LED.
- Note: Most Arduinos have an on-board LED you can control. On the UNO, MEGA
and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN
is set to the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your
Arduino model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
created 2005
by David A. Mellis
modified 8 Feb 2010
by Paul Stoffregen
modified 11 Nov 2013
by Scott Fitzgerald
modified 9 Jan 2017
by Arturo Guadalupi
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/BlinkWithoutDelay
*/
// constants won't change. Used here to set a pin number:
const int ledPin = PA5; // the number of the LED pin OR PA_5
// Variables will change:
int ledState = LOW; // ledState used to set the LED
// Generally, you should use "unsigned long" for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
const long interval = 1000; // interval at which to blink (milliseconds)
void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
}
void loop() {
// here is where you'd put code that needs to be running all the time.
// check to see if it's time to blink the LED; that is, if the difference
// between the current time and last time you blinked the LED is bigger than
// the interval at which you want to blink the LED.
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;
// if the LED is off turn it on and vice-versa:
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);
}
}
==== A SUIVRE====
===== Debuter avec le STM32 144 NUCLEO-F429ZI =====
{{ :start:capture_d_ecran_du_2024-01-07_18-04-18.png?direct&300 |}}
-1-Dans l IDE arduino version 2.x.x, inserer les deux lignes suivantes :
http://dan.drown.org/stm32duino/package_STM32duino_index.json
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
{{ :start:capture_d_ecran_du_2024-01-07_18-12-20.png?direct&500 |}}
-2- Dans le gestionaire de carte installer toutes les cartes STM32
{{ :start:capture_d_ecran_du_2024-01-07_18-15-02.png?direct&200 |}}
-3- Dans "Outils" --> "Carte" choisir "STM32 MCU Based Board" et **"Nucleo 144"**
{{ :start:capture_d_ecran_du_2024-01-07_18-21-29.png?direct&400 |}}
-4- Dans l'option "Board part number" choisir ; **"Nucleo F429ZI"**
{{ :start:capture_d_ecran_du_2024-01-07_18-26-00.png?direct&400 |}}
-5- On peut pour tester la carte , envoyer le programme exemple : "RGB_LED_TLC59731" ou le programme "Blink"
{{ :start:capture_d_ecran_du_2024-01-07_18-31-38.png?direct&400 |}}
{{ :start:comment_programmer_et_deboguer_le_stm32_a_l_aide_de_l_ardui._led.pdf |}}
===== Debuter avec Un STM32 144 NUCLEO-L4P5ZG =====
Carte Pour l'instant ... non comparible IDE arduino
Suivez la séquence ci-dessous pour configurer la carte Nucleo-144 et lancer la démonstration
application (pour l'emplacement des composants, reportez-vous à la Figure 4 : Disposition du dessus de la carte STM32 Nucleo-144).
{{ :start:capture_d_ecran_du_2023-08-12_12-42-18.png?direct&400 |}}
--. Vérifiez la position du cavalier sur la carte : JP1 (PWR-EXT) OFF (voir Section 5.5.1 : Entrée d'alimentation de ST-LINK/V2-1 USB connecteur pour plus de détails) JP6 (source d'alimentation) côté STLK (pour plus de détails, voir le tableau 7 : cavalier lié à l'alimentation) JP5 (IDD) ON (pour plus de détails, voir Section 5.8 : JP5 (IDD))CN4 ON sélectionné (pour plus de détails, voir Tableau 4 : états CN4 des cavaliers).
--. Pour l'identification correcte des interfaces de l'appareil à partir du PC hôte et avant connectant la carte, installez le pilote Nucleo USB disponible sur le Site Web www.st.com/stm32nucleo.
--. Pour alimenter la carte, connectez la carte STM32 Nucleo-144 à un PC avec un port USB de type A. au câble Micro-B’ via le connecteur USB CN1 sur le ST-LINK. En conséquence, le les LED vertes LD6 (PWR) et LD4 (COM) s'allument et la LED rouge LD3 clignote.
--. Appuyez sur le bouton B1 (bouton gauche).
--. Observez que la fréquence de clignotement des trois LED LD1 à LD3 change, en cliquant sur sur le bouton B1.
--. La démonstration du logiciel et les nombreux exemples de logiciels, qui permettent à l'utilisateur de utiliser les fonctions Nucleo, sont disponibles sur la page Web www.st.com/stm32nucleo.
--. Développez une application en utilisant les exemples disponibles.
====== Flipper zero ======
[[start:arduino:smt32:FlipperZero|Flipper Zero]]