Retour

Lire des capteurs analogiques sur Raspberry Pi Pico avec Velxio

Introduction

Bienvenue dans un nouveau tutoriel pratique sur le blog Velxio ! Aujourd’hui, nous plongeons dans le convertisseur analogique-numérique (ADC) du Raspberry Pi Pico. Le Pico est une carte puissante et l’une de ses fonctionnalités les plus intéressantes est la capacité de lire des tensions analogiques — parfait pour les capteurs, les potentiomètres, etc. Dans cet exemple, nous lirons trois signaux analogiques externes provenant de potentiomètres et récupérerons également la valeur du capteur de température interne. Tout cela s’exécute directement dans votre navigateur avec la simulation précise SPICE de Velxio.

Schéma du circuit de lecture ADC du Pico sur le simulateur Velxio

Présentation du Circuit

Examinons le circuit. Nous avons un Raspberry Pi Pico (la variante Nano RP2040 dans Velxio) connecté à deux potentiomètres et une LED.

Composants

Détails du Câblage

Remarque : Les broches ADC du Pico supportent le 3,3 V, nous utilisons donc l’alimentation 3,3 V. Les potentiomètres agissent comme des diviseurs de tension, fournissant une tension variable de 0 à 3,3 V à leur broche de sortie.

Explication du Code

Examinons maintenant le code. Il est écrit en C++ de style Arduino pour le Raspberry Pi Pico.

// Raspberry Pi Pico — Test de lecture ADC
// Lit les valeurs analogiques de A0-A2 (GPIO26-28) et du capteur de température interne

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Lecture ADC du Pico ===");
  Serial.println("A0=GP26  A1=GP27  A2=GP28  Temp=interne");
  Serial.println("Résolution 12 bits (0-4095), référence 3,3 V");
  Serial.println();

  analogReadResolution(12);
}

void loop() {
  int a0 = analogRead(A0);
  int a1 = analogRead(A1);
  int a2 = analogRead(A2);

  // Capteur de température interne sur le canal 4
  // T = 27 - (V - 0,706) / 0,001721
  int tempRaw = analogRead(A3); // Canal 4 mappé sur A3 par le cœur du Pico
  float voltage = tempRaw * 3.3f / 4095.0f;
  float tempC = 27.0f - (voltage - 0.706f) / 0.001721f;

  Serial.print("A0: "); Serial.print(a0);
  Serial.print("  A1: "); Serial.print(a1);
  Serial.print("  A2: "); Serial.print(a2);
  Serial.print("  Temp: "); Serial.print(tempC, 1); Serial.println(" C");

  delay(1000);
}

Points Clés

Concepts Clés

Pièges Courants et Conseils de Dépannage

Extensions Suggérées

Essayez par Vous-Même !

Prêt à expérimenter ? Ouvrez l’exemple en direct dans Velxio et commencez à modifier le circuit ou le code. Cliquez sur le lien ci-dessous pour lancer la simulation directement dans votre navigateur.

Lancer l’exemple de lecture ADC du Pico sur Velxio

Bon bricolage !


Partager sur :
David Montero

Écrit par

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Articles liés


Article précédent
Démo multi-protocole Pico : Serial, I2C, SPI et ADC sur RP2040
Article suivant
Pico SPI Loopback : testez la communication série de votre RP2040