Bemerkung

Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Vertiefen Sie sich in Raspberry Pi, Arduino und ESP32 zusammen mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Promotionen und Giveaways: Nehmen Sie an Giveaways und Feierlichkeiten teil.

👉 Bereit, mit uns zu erkunden und zu kreieren? Klicken Sie auf [hier] und treten Sie heute bei!

2.2 Den Pegel anzeigen

In dieser Lektion lernen wir, wie man mit dem Raspberry Pi Pico 2 eine LED-Balkenanzeige steuert. Eine LED-Balkenanzeige besteht aus 10 LEDs in einer Linie, die typischerweise verwendet wird, um Pegel wie Lautstärke, Signalstärke oder andere Messwerte anzuzeigen. Wir werden die LEDs nacheinander aufleuchten lassen, um einen Pegelanzeigeeffekt zu erzeugen.

img_led_bar_pin

Was Sie benötigen

Für dieses Projekt benötigen Sie die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Newton Lab Kit

450+

Newton Lab Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

SN

KOMPONENTE

MENGE

LINK

1

Raspberry Pi Pico 2

1

KAUFEN

2

Micro USB Kabel

1

3

Steckbrett

1

KAUFEN

4

Jumperkabel

Mehrere

KAUFEN

5

Widerstand

10(220Ω)

KAUFEN

6

LED-Balkendiagramm

1

Schaltplan

sch_ledbar

In diesem Projekt ist jede der 10 LEDs in der LED-Balkenanzeige mit dem Raspberry Pi Pico 2 verbunden. Die Anoden (positive Pole) der LEDs sind mit den GPIO-Pins GP6 bis GP15 verbunden. Die Kathoden (negative Pole) sind über 220Ω Widerstände mit dem GND (Erdung) Pin verbunden.

Verdrahtungsplan

wiring_ledbar

Schreiben des Codes

Bemerkung

  • Öffnen Sie die Datei 2.2_display_the_level.py unter dem Pfad newton-lab-kit/micropython oder kopieren Sie den untenstehenden Code in Thonny. Dann klicken Sie auf „Run Current Script“ oder drücken Sie F5, um es auszuführen.

  • Stellen Sie sicher, dass der Interpreter „MicroPython (Raspberry Pi Pico).COMxx“ in der unteren rechten Ecke von Thonny ausgewählt ist.

import machine
import utime

# Definieren Sie die GPIO-Pins, die mit den LEDs verbunden sind
pins = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
leds = []

# Initialisieren Sie jeden Pin als Ausgang und speichern Sie ihn in der Liste leds
for pin_number in pins:
    led = machine.Pin(pin_number, machine.Pin.OUT)
    leds.append(led)

while True:
    # LEDs nacheinander einschalten, um den Pegel zu erhöhen
    for led in leds:
        led.value(1)  # Schalten Sie die LED ein
        utime.sleep(0.2)
    # LEDs nacheinander ausschalten, um den Pegel zu verringern
    for led in leds:
        led.value(0)  # Schalten Sie die LED aus
        utime.sleep(0.2)

Wenn Sie das Programm ausführen, leuchten die LEDs auf der LED-Balkenanzeige nacheinander von der ersten bis zur letzten auf, was einen ansteigenden Pegel-Effekt erzeugt. Dann schalten sie sich nacheinander aus, was einen absteigenden Pegel simuliert.

Verständnis des Codes

In diesem Projekt steuern wir mehrere LEDs mit Listen und Schleifen in MicroPython, was den Code effizient und leicht lesbar macht.

Lassen Sie uns die Schlüsselteile des Codes durchgehen:

  1. Importieren von Modulen:

    • import machine: Bietet Zugriff auf die Hardware-Funktionalitäten des Raspberry Pi Pico 2.

    • import utime: Ermöglicht die Nutzung von zeitbezogenen Funktionen wie Verzögerungen.

  2. Pins definieren und LEDs initialisieren:

    • Wir erstellen eine Liste pins mit den GPIO-Pinnummern, die mit den LEDs verbunden sind, und initialisieren eine leere Liste leds, um die LED-Objekte zu speichern.

      # Definieren Sie die GPIO-Pins, die mit den LEDs verbunden sind
      pins = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
      leds = []
      
    • Mit einer for-Schleife iterieren wir über jede Pinnummer, stellen sie als Ausgangspin ein und fügen das entsprechende Pin-Objekt zur Liste leds hinzu.

      for pin_number in pins:
          led = machine.Pin(pin_number, machine.Pin.OUT)
          leds.append(led)
      
  3. Den Pegel-Anzeigeeffekt erstellen:

    • Die Schleife while True: läuft unendlich.

    • Pegel erhöhen:

      • Verwenden Sie eine for-Schleife, um über jede led in der Liste leds zu iterieren.

      • led.value(1) schaltet die LED ein.

      • utime.sleep(0.2) fügt eine 200-ms-Verzögerung hinzu, bevor die nächste LED eingeschaltet wird.

      for led in leds:
          led.value(1)
          utime.sleep(0.2)
      
    • Pegel verringern:

      • Schalten Sie jede LED nacheinander aus, indem Sie eine weitere for-Schleife verwenden.

      • led.value(0) schaltet die LED aus.

      for led in leds:
          led.value(0)
          utime.sleep(0.2)
      

Weitere Experimente

Fühlen Sie sich frei, mit dem Code zu experimentieren:

  • Geschwindigkeit ändern:

    • Passen Sie die Verzögerung in utime.sleep(0.2) an, um die LEDs schneller oder langsamer leuchten zu lassen.

  • Reihenfolge umkehren:

    • Verwenden Sie reversed(leds), um die Reihenfolge der LEDs umzukehren.

      for led in reversed(leds):
          led.value(1)
          utime.sleep(0.2)
      
  • Ping-Pong-Effekt erstellen:

    • Lassen Sie die LEDs von links nach rechts und dann wieder von rechts nach links aufleuchten.

      while True:
          for led in leds:
              led.value(1)
              utime.sleep(0.1)
          for led in reversed(leds):
              led.value(0)
              utime.sleep(0.1)
      

Fazit

Indem wir jede LED einzeln steuern, haben wir eine einfache, aber effektive Pegelanzeige mit dem Raspberry Pi Pico 2 erstellt. Dieses Projekt demonstriert die Leistungsfähigkeit von Listen und Schleifen in Python und ermöglicht es uns, mehrere Ausgänge effizient zu verwalten.

Das Verständnis dafür, wie man mit mehreren GPIO-Pins arbeitet und Programmierstrukturen wie Listen und Schleifen verwendet, ist essentiell für komplexere Projekte, wie das Erstellen von Animationen, die Steuerung mehrerer Sensoren oder den Bau interaktiver Geräte.

Referenzen