Utiliser un Level Shifter avec le GPIO Raspberry Pi

Utiliser un Level Shifter avec le GPIO Raspberry Pi

Les broches GPIO du Raspberry Pi fonctionnent avec des niveaux logiques de 3,3 V et ne tolèrent pas 5 V. Si vous appliquez 5V à une broche GPIO, vous risquez de l’endommager de façon permanente. Cependant, vous pouvez facilement utiliser des capteurs ou des modules 5V si vous convertissez leurs sorties 5V en 3,3V à l’aide d’un décaleur de niveau. Cela garantit que les broches GPIO du Pi ne voient qu’un maximum de 3,3 V. Les leviers de vitesses sont généralement bidirectionnels, ils peuvent donc également être utilisés pour permettre au Pi de déclencher une entrée 5V avec ses sorties 3,3V.

Module de changement de niveau typique

Un décaleur de niveau (également connu sous le nom de convertisseur de niveau logique) prendra des signaux 5V et les convertira en 3,3V. Cela permet au Pi de lire les sorties de capteurs qui ne sont heureux que d’être alimentés en 5V. Les modules sont bon marché et proposent souvent 4 ou 8 canaux.

Module de décalage de niveau logique

Les canaux se composent d’une paire de broches étiquetées HV1/LV1, HV2/LV2 etc. Le « HV » signifie « haute valeur » et « LV » signifie « faible valeur ». Le canal 1 se compose de LV1 et HV1, le canal 2 est LV2 et HV2, etc. Il y a également deux broches qui doivent être fournies avec des tensions de référence afin que le module comprenne quelles sont nos valeurs hautes et basses.

Exemple de circuit de changement de niveau

Dans l’exemple ci-dessous, un capteur 5V est connecté à un canal sur un décaleur de niveau à 4 canaux. Les 3 autres canaux pourraient être utilisés pour d’autres entrées de capteur.

Circuit d'exemple de levier de niveau

Le levier de niveau est connecté à la fois au GPIO du Pi et à la sortie du capteur :

Changeur de niveau Pi GPIO Capteur
HT Broche 2 – 5V
LV Broche 1 – 3,3 V
GND Broche 30 – GND
HV1 EN DEHORS
LV1 Broche 32 (GPIO 12)

Le capteur est alimenté par l’alimentation 5V du Pi avec la sortie allant à la première broche HV sur le levier de niveau.

Capteur Changeur de niveau Pi GPIO
GND Broche 34 – GND
EN DEHORS HV1
5V Broche 4 – 5V

Bien que j’aie utilisé GPIO12, vous pouvez utiliser n’importe laquelle des entrées GPIO du Pi. De même, vous pouvez utiliser des connexions alternatives à 3,3 V et à la terre. Jetez un œil au diagramme de référence Pi GPIO pour vérifier ce qui est disponible :

En-tête GPIO 40 broches Raspberry Pi

En-tête GPIO 40 broches Raspberry Pi

Plusieurs canaux

Les décaleurs de niveau fournissent plusieurs canaux car ils sont souvent vendus pour être utilisés avec des appareils I2C ou SPI où vous auriez besoin de convertir plusieurs signaux par appareil.

Conseils

Quand utiliser un levier de niveau :

  • Vous voulez que le Pi lise des niveaux logiques supérieurs à 3,3 V
  • Vous utilisez un module 5V qui ne fonctionne pas correctement avec 3.3V et vous n’avez pas d’autre choix que d’utiliser 5V

Lorsque vous n’avez pas besoin d’utiliser un levier de niveau :

  • L’appareil est alimenté à partir de 3,3 V car ses sorties logiques seront de 3,3 V
  • Le module est en 5V mais ne prend que des entrées. Les broches 3,3 V du Pi conviennent généralement aux dispositifs de déclenchement qui utilisent la logique 5 V, car elles se déclenchent généralement avec tout ce qui dépasse 3 V.

Dépannage

Pour que le circuit ci-dessus fonctionne correctement, vous devez vous assurer que :

  • le côté haut niveau (« HV ») du module n’est jamais connecté qu’aux broches d’alimentation ou de signal 5 V
  • le côté bas niveau (« LV ») du module n’est jamais connecté qu’aux broches d’alimentation ou de signal de 3,3 V
  • les broches HV, LV et GND sont connectées aux broches 5V, 3.3V et Ground sur le GPIO du Pi

Acheter un levier de niveau

Vous pouvez acheter des modules de changement de niveau à partir de Le PiHut, eBay ou alors Amazone pour seulement quelques £/$.

Attention aux packs multiples. Compte tenu de leur bas prix, autant en acheter 3 à 5 et garder quelques pièces de rechange dans votre boîte électronique.

  • GeeekPi Micro Connecteurs Raspberry Pi 40-pin GPIO 1à 2 Expansion Board 2 x 20-pin Strip Dual Male Header Double Row Straight GPIO Connector Pin Header Compatible avec Raspberry Pi (1Pack)
  • ARCELI Carte d'extension RPi GPIO Breakout + Câble Ruban + Adaptateur GPIO Type T assemblé 20cm FC40 Câble Ruban Plat 40 Broches pour Raspberry Pi 3 2 Modèle B & B + SC05