« Micro-controller » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
{{Ameliorer|reasons=Créer la page : modèles d'esp32, pinout, composants externes}} | {{Ameliorer|reasons=Créer la page : modèles d'esp32, pinout, composants externes}} | ||
== | == C'est quoi ? == | ||
Un micro-contrôleur va vous permettre de faire plein de belles choses, principalement de faire interagir du code avec le monde réel. Il existe de nombreuses puces différentes (MCU, microcontroller unit), mais elles sont souvent utilisés sur des cartes de développement (devboard) qui permettent de le faire fonctionner sans élément externe et d'avoir quelque chose de pratique. Les devboard ne sont pas recommandées si vous voulez faire un design où la place est comptée, mais il est recommandé de faire les tests sur devboard avant d'envoyer un PCB. | |||
=== Arduino === | |||
Les arduino sont les plus simples des micro-contrôleurs, mais sont très lents et ont peu de fonctionnalités. Ils sont basés sur les atmega qui sont des mcus corrects. '''Recommandé pour les débutants et les projets très simples''' | |||
=== ESP32 === | |||
Ces MCU sont un peu spéciaux, nous y reviendrons plus tard, mais ils sont plutôt performants, ont le wifi/bluetooth intégré, pas mal de stockage, beaucoup de pins et les modules sont simples à utiliser. Ils consomment sacrément par contre. '''Recommandé pour les projets complexes sans contrainte de consommation.''' | |||
=== STM32 === | |||
Très bons MCU mais très peu pratiques à utiliser. '''Recommandés car gratuits''' | |||
=== Raspberry Pi Pico === | |||
Basés sur le RP2040 qui est très performant, et très peu chers. '''Recommandés car pas chers et performants''' | |||
=== Teensy === | |||
Extrêmement performants, blindés de pins I/O etc. Coûtent cher. '''Recommandés sur des projets avec du traitement en temps réel''' | |||
=== nRF === | |||
MCU spécialisés dans le wireless basse consommation. '''Recommandé pour du wireless basse consommation''' | |||
== ESP32 == | |||
'''Attention :''' les MCU d'ESP32 sont très galère à utiliser. Nous allons donc nous concentrer sur les modules, qui sont comme des devboard mais en bien plus compact. | |||
Espressif fabrique aussi des MCU nommés ESP8266, qui sont un peu moins chers mais bien moins performants. | |||
=== Les différents modèles de module ESP32 === | |||
Il y a trois types de modules : '''WROOM, WROVER''' et '''MINI.''' | |||
Les MINI sont les plus petits, suivis par les WROOM puis les WROVER. Les WROOM sont souvent le bon compromis entre fonctionnalités et taille, mais les WROVER peuvent être nécessaire s'il faut accès à tous les pins possibles. | |||
=== Les différentes séries de SoC ESP32 === | |||
Il existe 5 séries majeures d'ESP32 : | |||
{| class="wikitable" | |||
|+ | |||
!Série | |||
!Processeur | |||
!Wireless | |||
!Notes et fonctionnalités supplémentaires | |||
|- | |||
|ESP32 | |||
|Dual/Single core Xtensa (80~240 MHz) | |||
|WiFi + Bluetooth Classic | |||
|Attention c'est le seul sans USB intégré | |||
|- | |||
|ESP32-S | |||
|Dual core Xtensa (240MHz) | |||
|WiFi + Bluetooth BLE | |||
|Attention pas de bluetooth classique | |||
|- | |||
|ESP32-H | |||
|Single core RISC-V (96MHz) | |||
|BLE + Zigbee | |||
|Très basse puissance, pas de wifi ! | |||
|- | |||
|ESP32-C | |||
|Single core RISC-V (160MHz) | |||
|WiFi + BLE + Zigbee | |||
| | |||
|- | |||
|ESP32-P | |||
|Dual core RISC-V (400MHz) + Single core RISC-V (40 MHz) | |||
| | |||
|Dernier arrivé (je connaissais pas son existence avant il y a 5 min) | |||
A l'air très performant (et cher), à coupler avec un ESP32-C pour avoir le wifi ! | |||
|} | |||
=== Pinout d'un ESP32 classique et pins à éviter === | |||
Tous les pins sont capables du PWM. | |||
{| class="wikitable" | |||
|+Classification des pins d'un ESP32 | |||
!Label | |||
!Fonctionnalités | |||
!Remarques | |||
|- style="background-color:lime" | |||
| colspan="3" |Pins à utiliser en priorité | |||
|- | |||
|D4 | |||
|ADC2_0 + Touch0 | |||
| | |||
|- | |||
|D13 | |||
|ADC2_4 + Touch4 + '''SPI2''' (MOSI) | |||
| | |||
|- | |||
|D14 | |||
|ADC2_6 + Touch6 + '''SPI2''' (CLK) | |||
| | |||
|- | |||
|RX2 | |||
|'''Serial2''' (RX) | |||
| | |||
|- | |||
|TX2 | |||
|'''Serial2''' (TX) | |||
| | |||
|- | |||
|D18 | |||
|'''SPI1''' (CLK) | |||
| | |||
|- | |||
|D19 | |||
|'''SPI1''' (MISO) | |||
| | |||
|- | |||
|D21 | |||
|'''I2C''' (SDA) | |||
| | |||
|- | |||
|D22 | |||
|'''I2C''' (SCL) | |||
| | |||
|- | |||
|D23 | |||
|'''SPI1''' (MOSI) | |||
| | |||
|- | |||
|D25 | |||
|ADC2_8 + DAC1 | |||
| | |||
|- | |||
|D26 | |||
|ADC2_9 + DAC2 | |||
| | |||
|- | |||
|D27 | |||
|ADC2_7 + Touch7 | |||
| | |||
|- | |||
|D32 | |||
|ADC1_4 + Touch9 | |||
| | |||
|- | |||
|D33 | |||
|ADC1_5 + Touch8 | |||
| | |||
|- style="background-color:orange" | |||
| colspan="3" |Pins à utiliser si c'est la dèche | |||
|- | |||
|D0 | |||
| | |||
|HIGH au boot et LOW pour flash | |||
|- | |||
|D2 | |||
|ADC2_2 + Touch2 + CS | |||
|LOW au boot | |||
|- | |||
|D5 | |||
|'''SPI1''' (CS) | |||
|HIGH au boot | |||
|- | |||
|D12 | |||
|ADC2_5 + Touch5 + '''SPI2''' (MISO) | |||
|LOW au boot | |||
|- | |||
|D15 | |||
|ADC2_3 + Touch3 + '''SPI2''' (CS) | |||
|HIGH au boot | |||
|- | |||
|D34 | |||
|ADC1_6 | |||
|Input only | |||
|- | |||
|D35 | |||
|ADC1_7 | |||
|Input only | |||
|- | |||
|VP | |||
|ADC1_0 + VP | |||
|Input only | |||
|- | |||
|VN | |||
|ADC1_3 + VN | |||
|Input only | |||
|- style="background-color:red" | |||
| colspan="3" | Pas touche à ces pins | |||
|- | |||
| TX0 | |||
| '''Serial0''' (TX) | |||
| Communication série | |||
|- | |||
| RX0 | |||
| '''Serial0''' (RX) | |||
| Communication série | |||
|- | |||
| D6 | |||
| | |||
| rowspan="6" |Mémoire | |||
|- | |||
|D7 | |||
| | |||
|- | |||
|D8 | |||
| | |||
|- | |||
|D9 | |||
| | |||
|- | |||
|D10 | |||
| | |||
|- | |||
|D11 | |||
| | |||
|} | |||
== nRF == | |||
Il existe des cartes de devs nRF52840 qui coûtent pas cher (3€) et sont très performantes et complètes, dans une footprint identique à celle d'un arduino pro micro, chercher '''Supermini nRF52840''' sur aliexpress. | |||
[[Catégorie:Articles techniques d'électronique]] | [[Catégorie:Articles techniques d'électronique]] |
Dernière version du 13 février 2025 à 15:20
![]() | Cet article est à améliorer ! |
C'est quoi ?
Un micro-contrôleur va vous permettre de faire plein de belles choses, principalement de faire interagir du code avec le monde réel. Il existe de nombreuses puces différentes (MCU, microcontroller unit), mais elles sont souvent utilisés sur des cartes de développement (devboard) qui permettent de le faire fonctionner sans élément externe et d'avoir quelque chose de pratique. Les devboard ne sont pas recommandées si vous voulez faire un design où la place est comptée, mais il est recommandé de faire les tests sur devboard avant d'envoyer un PCB.
Arduino
Les arduino sont les plus simples des micro-contrôleurs, mais sont très lents et ont peu de fonctionnalités. Ils sont basés sur les atmega qui sont des mcus corrects. Recommandé pour les débutants et les projets très simples
ESP32
Ces MCU sont un peu spéciaux, nous y reviendrons plus tard, mais ils sont plutôt performants, ont le wifi/bluetooth intégré, pas mal de stockage, beaucoup de pins et les modules sont simples à utiliser. Ils consomment sacrément par contre. Recommandé pour les projets complexes sans contrainte de consommation.
STM32
Très bons MCU mais très peu pratiques à utiliser. Recommandés car gratuits
Raspberry Pi Pico
Basés sur le RP2040 qui est très performant, et très peu chers. Recommandés car pas chers et performants
Teensy
Extrêmement performants, blindés de pins I/O etc. Coûtent cher. Recommandés sur des projets avec du traitement en temps réel
nRF
MCU spécialisés dans le wireless basse consommation. Recommandé pour du wireless basse consommation
ESP32
Attention : les MCU d'ESP32 sont très galère à utiliser. Nous allons donc nous concentrer sur les modules, qui sont comme des devboard mais en bien plus compact.
Espressif fabrique aussi des MCU nommés ESP8266, qui sont un peu moins chers mais bien moins performants.
Les différents modèles de module ESP32
Il y a trois types de modules : WROOM, WROVER et MINI.
Les MINI sont les plus petits, suivis par les WROOM puis les WROVER. Les WROOM sont souvent le bon compromis entre fonctionnalités et taille, mais les WROVER peuvent être nécessaire s'il faut accès à tous les pins possibles.
Les différentes séries de SoC ESP32
Il existe 5 séries majeures d'ESP32 :
Série | Processeur | Wireless | Notes et fonctionnalités supplémentaires |
---|---|---|---|
ESP32 | Dual/Single core Xtensa (80~240 MHz) | WiFi + Bluetooth Classic | Attention c'est le seul sans USB intégré |
ESP32-S | Dual core Xtensa (240MHz) | WiFi + Bluetooth BLE | Attention pas de bluetooth classique |
ESP32-H | Single core RISC-V (96MHz) | BLE + Zigbee | Très basse puissance, pas de wifi ! |
ESP32-C | Single core RISC-V (160MHz) | WiFi + BLE + Zigbee | |
ESP32-P | Dual core RISC-V (400MHz) + Single core RISC-V (40 MHz) | Dernier arrivé (je connaissais pas son existence avant il y a 5 min)
A l'air très performant (et cher), à coupler avec un ESP32-C pour avoir le wifi ! |
Pinout d'un ESP32 classique et pins à éviter
Tous les pins sont capables du PWM.
Label | Fonctionnalités | Remarques |
---|---|---|
Pins à utiliser en priorité | ||
D4 | ADC2_0 + Touch0 | |
D13 | ADC2_4 + Touch4 + SPI2 (MOSI) | |
D14 | ADC2_6 + Touch6 + SPI2 (CLK) | |
RX2 | Serial2 (RX) | |
TX2 | Serial2 (TX) | |
D18 | SPI1 (CLK) | |
D19 | SPI1 (MISO) | |
D21 | I2C (SDA) | |
D22 | I2C (SCL) | |
D23 | SPI1 (MOSI) | |
D25 | ADC2_8 + DAC1 | |
D26 | ADC2_9 + DAC2 | |
D27 | ADC2_7 + Touch7 | |
D32 | ADC1_4 + Touch9 | |
D33 | ADC1_5 + Touch8 | |
Pins à utiliser si c'est la dèche | ||
D0 | HIGH au boot et LOW pour flash | |
D2 | ADC2_2 + Touch2 + CS | LOW au boot |
D5 | SPI1 (CS) | HIGH au boot |
D12 | ADC2_5 + Touch5 + SPI2 (MISO) | LOW au boot |
D15 | ADC2_3 + Touch3 + SPI2 (CS) | HIGH au boot |
D34 | ADC1_6 | Input only |
D35 | ADC1_7 | Input only |
VP | ADC1_0 + VP | Input only |
VN | ADC1_3 + VN | Input only |
Pas touche à ces pins | ||
TX0 | Serial0 (TX) | Communication série |
RX0 | Serial0 (RX) | Communication série |
D6 | Mémoire | |
D7 | ||
D8 | ||
D9 | ||
D10 | ||
D11 |
nRF
Il existe des cartes de devs nRF52840 qui coûtent pas cher (3€) et sont très performantes et complètes, dans une footprint identique à celle d'un arduino pro micro, chercher Supermini nRF52840 sur aliexpress.