Zurück

Analoge Sensoren am Raspberry Pi Pico mit Velxio auslesen

Einleitung

Willkommen zu einem weiteren praxisnahen Tutorial auf dem Velxio-Blog! Heute tauchen wir in den ADC (Analog-Digital-Wandler) des Raspberry Pi Pico ein. Der Pico ist ein leistungsstarkes kleines Board, und eine seiner coolsten Funktionen ist die Fähigkeit, analoge Spannungen auszulesen – perfekt für Sensoren, Potenziometer und mehr. In diesem Beispiel lesen wir drei externe analoge Signale von Potenziometern und greifen auch den Wert des internen Temperatursensors ab. Das alles läuft direkt in Ihrem Browser mit der SPICE-genauen Simulation von Velxio.

Schaltplan des pico-adc-read auf der Velxio-Simulator-Leinwand

Schaltungsdurchgang

Schauen wir uns die Schaltung an. Wir haben einen Raspberry Pi Pico (die Nano RP2040-Variante in Velxio), der mit zwei Potenziometern und einer LED verbunden ist.

Komponenten

Verdrahtungsdetails

Hinweis: Die ADC-Pins des Pico sind 3,3V-tolerant, daher verwenden wir die 3,3V-Versorgung. Die Potenziometer fungieren als Spannungsteiler und liefern eine variable Spannung von 0 bis 3,3V an ihrem Schleifer.

Code-Durchgang

Betrachten wir nun den Code. Er ist in Arduino-ähnlichem C++ für den Raspberry Pi Pico geschrieben.

// Raspberry Pi Pico — ADC Read Test
// Reads analog values from A0-A2 (GPIO26-28) and the internal temp sensor

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico ADC Read ===");
  Serial.println("A0=GP26  A1=GP27  A2=GP28  Temp=internal");
  Serial.println("12-bit resolution (0-4095), 3.3V ref");
  Serial.println();

  analogReadResolution(12);
}

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

  // Internal temperature sensor on channel 4
  // T = 27 - (V - 0.706) / 0.001721
  int tempRaw = analogRead(A3); // Channel 4 mapped to A3 by Pico core
  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);
}

Wichtige Punkte

Schlüsselkonzepte

Häufige Fallstricke & Debugging-Tipps

Vorschläge für Erweiterungen

Probieren Sie es selbst aus!

Bereit zum Experimentieren? Öffnen Sie das Live-Beispiel in Velxio und beginnen Sie, die Schaltung oder den Code anzupassen. Klicken Sie auf den untenstehenden Link, um die Simulation direkt in Ihrem Browser zu starten.

Starten Sie das Pico ADC Read Beispiel auf Velxio

Viel Spaß beim Tüfteln!


Teilen auf:
David Montero

Geschrieben von

David Montero

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

GitHub velxio.dev

Ähnliche Artikel


Vorheriger Artikel
Pico Multi-Protocol Demo: Serielle, I2C-, SPI- und ADC-Kommunikation auf dem RP2040
Nächster Artikel
Pico SPI Loopback: Testen Sie die serielle Kommunikation Ihres RP2040