Der Raspberry Pi Pico ist ein kostengünstiges Mikrocontroller-Board, das es Anfängern leicht macht, mit Elektronikprojekten zu beginnen und das Programmieren zu lernen.
Für dieses Projekt lernen Sie, wie Sie ein analoges Signal von einem Potentiometer lesen und in ein PWM umwandeln (Pulsweitenmodulation)-Signal, um die Frequenz oder den Ton eines Summers mit Hilfe von MicroPython zu manipulieren Code.
Welche Teile werden benötigt?
Dieses Projekt basiert auf der Kitronik Inventor's Kit für Raspberry Pi Pico. Alle erforderlichen elektronischen Komponenten sind im Kit enthalten; Dies sind jedoch häufige Komponenten, die Sie möglicherweise herumliegen haben:
- Piezoelement-Summer
- Drehpotentiometer
- 7x Stecker-Stecker-Überbrückungsdrähte
- Raspberry Pi Pico mit gelötete GPIO-Header-Pins
- Brotschneidebrett
Wenn Sie mit Pulsweitenmodulation (PWM) und Potentiometern noch nicht vertraut sind, sehen Sie sich zuerst unseren Leitfaden an
wie Sie ein Potentiometer mit Ihrem Raspberry Pi Pico verwenden, die beschreibt, wie man damit die Helligkeit einer LED mit PWM anpasst.Erforderliche Montage
Ein Überbrückungsdraht (gelb auf dem Foto) verbindet die linke Seite des Potentiometers mit der positiven (+) Schiene des Steckbretts. Ein weiterer Überbrückungsdraht verbindet die rechte Seite des Potentiometers mit der negativen (-) Seite des Steckbretts. Vom mittleren Pin des Potentiometers müssen Sie eine Drahtbrücke zum GP26/A0-Pin des Pico führen.
Der Piezo-Summer muss einen Draht haben, der von seinem negativen Bein zur negativen Steckbrettschiene und dann eine weitere Verbindung von seinem positiven Bein zum GP15-Pin auf dem Raspberry Pi Pico führt.
Sie müssen auch ein Überbrückungskabel von einem GND-Pin auf Pico zur negativen Schiene auf dem Steckbrett führen, um es zu erden. Ein weiterer Überbrückungsdraht verbindet den 3V3-Ausgangsstift am Pico mit der positiven Schiene des Steckbretts, um die Komponenten mit Strom zu versorgen.
Erstellen Sie den Code
Sie können den Code aus der abrufen MUO-GitHub-Repository. Laden Sie die MicroPython-Datei mit dem Namen herunter piezo-buzzer.py und laden Sie diese dann über einen über USB angeschlossenen Computer, auf dem die Thonny IDE läuft, auf Ihren Pico. Sehen Sie sich an, wie es geht Erste Schritte mit MicroPython auf dem Raspberry Pi Pico für Details.
Die verschiedenen Teile des Codes machen Folgendes:
- Oben importieren wir die erforderlichen Maschine, Mathematik, Und Zeit MicroPython-Module.
- A Summer Variable wird dann Pin GP15 als PWM-Ausgang zugewiesen.
- A Potentiometer Variable wird dem Analog-Digital-Wandler (ADC) auf dem GP26/A0-Pin von Pico zugewiesen.
- Wir definieren a Skala() Funktion, die mathematische Funktionen verwendet, um den Bereich der Potentiometerbewegung in einen Ausgang für den Summer umzuwandeln.
- Der während: Stimmt Endlosschleife liest den Potentiometereingang und verwendet dann den Skala Funktion um es umzuwandeln. Nachdem es überprüft hat, dass es sich nicht zu sehr von der vorherigen Frequenz geändert hat, sendet es dann die berechnete Frequenz per PWM (Pulsweitenmodulation) an den Summer.
Zusammenfassend werden Hunderte von Impulsen pro Sekunde gesendet und der Summerton ändert sich zwischen 120 Hz und 5 kHz, wenn das Potentiometer im oder gegen den Uhrzeigersinn gedreht wird. Das Drehen des Potentiometers ändert die Spannung, die vom analogen Eingangspin des Pico gelesen wird, was wiederum verwendet wird, um die Summerfrequenz mit PWM einzustellen.
Führen Sie den Code von Thonny aus (klicken Sie auf das Wiedergabesymbol oder drücken Sie F5 auf Ihrer Tastatur) und probieren Sie es selbst aus. Werden sich Codeänderungen nach Ihrem ersten Lauf auf die physischen Ergebnisse auswirken? Was passiert zum Beispiel, wenn Sie die ändern Bereich (0 bis 65535)? Dieser Teil des Codes befindet sich direkt darunter während wahr: bei dem die Frequenz ist definiert.
Den Ton angeben
Wenn Sie sich abenteuerlustig fühlen, möchten Sie vielleicht versuchen, den Summer zu verwenden, um Musiktöne mit Martinkooij zu erzeugen Pi-Pico-Töne Bibliothek auf GitHub. Standardmäßig erzeugt diese Bibliothek Sinuswellen; Vier Tongeneratoren können nach Wahl auf vier verschiedenen Pico-Pins laufen. Beachten Sie, dass dieses Projekt auf C++ basiert und das Raspberry Pi Pico SDK anstelle von MicroPython verwendet, aber vollständige Anweisungen finden Sie in der GitHub-Readme.
Das Summen von Pico Electronics
Herzlichen Glückwunsch: Sie haben gelernt, wie man den analogen Eingang eines Potentiometers liest und in ein PWM-Signal umwandelt, um einen Summerton zu steuern. Ein Potentiometer ist ein vielseitiges Eingabegerät für die Elektronik. Ein Piezo-Summer ist eine weitere praktische Komponente: Wenn Sie beispielsweise einen PIR-Infrarot-Bewegungssensor hinzufügen, können Sie die Anwesenheit von Eindringlingen erkennen und Alarm schlagen.