Comprendre les résistances pull-up
Avant de plonger dans les spécificités des broches de pull-up ESP32, il est important de comprendre le rôle des résistances de pull-up dans un circuit. Lorsqu'une broche d'entrée numérique est laissée flottante (non connectée à une source de tension), elle peut lire des valeurs aléatoires, ce qui rend difficile la détermination de son niveau logique.
Pour éviter ce problème, une résistance de rappel est connectée entre la broche d'entrée et une source de tension (généralement Vcc) pour garantir que l'entrée lit un état haut (logique 1) par défaut. Lorsque l'entrée est connectée à un signal bas (0 logique), la résistance tire l'entrée vers le sol, permettant à l'entrée de lire un état bas.
Broches de traction intégrées sur ESP32
Le microcontrôleur ESP32 dispose de 34 broches d'entrée/sortie à usage général (GPIO), qui peuvent être configurées en tant que broches numériques ou analogiques. Parmi ces 34 broches, certaines broches ont des résistances pull-up intégrées qui peuvent être activées par logiciel.
Le tableau suivant montre les broches de l'ESP32 qui ont des résistances pull-up intégrées :
Code PIN | Nom de la broche | Résistance de traction intégrée |
0 | GPIO0 | Oui |
2 | GPIO2 | Oui |
4 | GPIO4 | Oui |
5 | GPIO5 | Oui |
12 | GPIO12 | Oui |
13 | GPIO13 | Oui |
14 | GPIO14 | Oui |
quinze | GPIO15 | Oui |
25 | GPIO25 | Oui |
26 | GPIO26 | Oui |
27 | GPIO27 | Oui |
32 | GPIO32 | Oui |
33 | GPIO33 | Oui |
3. 4 | GPIO34 | Non |
35 | GPIO35 | Non |
36 | GPIO36 | Non |
39 | GPIO39 | Non |
Comme vous pouvez le voir, la plupart des broches numériques de l'ESP32 ont des résistances pull-up intégrées. Cependant, toutes les broches n'ont pas cette fonctionnalité. Les broches 34, 35, 36 et 39 n'ont pas de résistances pull-up intégrées.
Note: Dans ESP32, les résistances pull-up et pull-down intégrées ne sont disponibles que dans les broches qui prennent en charge à la fois l'entrée et la sortie. GPIO 34-39 , qui sont limités à l'entrée uniquement, n'ont pas ces résistances intégrées.
Vérifiez l'intégralité Référence de brochage ESP32 .
Activation des résistances pull-up sur ESP32
Pour activer la résistance pull-up sur une broche ESP32, vous pouvez utiliser le gpio_set_pull_mode() fonction fournie par le framework ESP-IDF.
Cette fonction prend deux arguments :
- Le numéro de broche GPIO
- Le mode pull-up
Le mode pull-up peut être soit GPIO_PULLUP_ENABLE ou GPIO_PULLUP_DISABLE . Voici un exemple de code qui active la résistance pull-up sur GPIO2 :
#include 'pilote/gpio.h'annuler enable_pull_up ( ) {
gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;
}
PinMode ( 5 , INPUT_PULLUP ) ;
Il est important de noter que l'activation de la résistance de rappel sur une broche affectera son comportement lorsque la broche est utilisée comme sortie. Dans ce cas, la résistance de rappel agira comme une source de courant faible et peut affecter le niveau de tension de sortie.
Alternativement, nous pouvons également activer les pull-ups internes sur ESP32 en utilisant le PinMode() Fonction Arduino.
PinMode ( 5 , INPUT_PULLUP ) ;Le code ci-dessus activera la résistance pull-up interne sur la broche 5 . De même, vous pouvez activer la résistance pull-down interne en spécifiant le mode INPUT_PULLDOWN .
Conclusion
Les résistances pull-up sont des composants essentiels dans les circuits numériques, et le microcontrôleur ESP32 fournit des résistances pull-up intégrées sur la plupart de ses broches numériques. L'activation de ces résistances peut garantir des niveaux logiques stables et éviter les problèmes d'entrée flottante. Cependant, il est important de noter que toutes les broches de l'ESP32 n'ont pas de résistances pull-up intégrées, il est donc important de vérifier le Brochage ESP32 ou fiche technique avant de concevoir un circuit. De plus, l'activation de la résistance de rappel peut affecter le comportement de la broche lorsqu'elle est utilisée comme sortie.