Programmierung eingebetteter Systeme - Digitales Stethoskop
Adrian Böschel 42c0a25cb1 upload Präsentation | 3 months ago | |
---|---|---|
Belegarbeit | 3 months ago | |
core | 8 months ago | |
docs | 8 months ago | |
libs | 3 months ago | |
pics | 3 months ago | |
.gitignore | 8 months ago | |
LICENSE | 8 months ago | |
README.md | 3 months ago | |
README.pdf | 8 months ago | |
boot.py | 8 months ago | |
main.py | 3 months ago |
This repository can be used as a template for a new Raspberry Pi Pico python project.
Note: Once you have downloaded/cloned this repository, open it in Visual Studio Code and run
> MicroPico > Configure Project
command viaCtrl+Shift+P
(or the equivalent on your platform) VS Code command palette to initialize MicroPico.
Name | Description | Link |
---|---|---|
Python |
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. | https://www.python.org/ |
Visual Studio Code |
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET). | https://code.visualstudio.com/ |
Git |
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. | https://git-scm.com/ |
Name | Description | Link |
---|---|---|
Python |
A Visual Studio Code extension with rich support for the Python language (for all actively supported versions of the language: >=3.7), including features such as IntelliSense (Pylance),linting, debugging, code navigation, code formatting refactoring, variable explorer, test explorer, and more! | https://marketplace.visualstudio.com/items?itemName=ms-python.python |
Pylance |
Pylance is an extension that works alongside Python in Visual Studio Code to provide performant language support. Under the hood, Pylance is powered by Pyright, Microsoft's static type checking tool. Using Pyright, Pylance has the ability to supercharge your Python IntelliSense experience with rich type information, helping you write better code faster. | https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance |
IntelliCode |
The Visual Studio IntelliCode extension provides AI-assisted development features for Python, TypeScript/JavaScript and Java developers in Visual Studio Code, with insights based on understanding your code context combined with machine learning. | https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode |
MicroPico |
"MicroPico" is a Visual Studio Code extension designed to simplify and accelerate the development of MicroPython projects for the Raspberry Pi Pico and Pico W boards. This tool streamlines the coding process, providing code highlighting, auto-completion, code snippets, and project management features, all tailored for the seamless development experience with MicroPython on Raspberry Pi Pico and Pico W microcontrollers. | https://marketplace.visualstudio.com/items?itemName=paulober.pico-w-go |
Name | Description | Link |
---|---|---|
VSCode PDF |
Display pdf in VSCode. | https://marketplace.visualstudio.com/items?itemName=tomoki1207.pdf |
Python Indent |
Correct Python indentation in Visual Studio Code. | https://marketplace.visualstudio.com/items?itemName=KevinRose.vsc-python-indent |
Python Docstring Generator |
Visual Studio Code extension to quickly generate docstrings for python functions. | https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring |
German Language Pack for Visual Studio Code |
Das deutsche Sprachpaket bietet eine lokalisierte Benutzeroberfläche für VS Code. | https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-de |
Name | Description | Link |
---|---|---|
Material Theme |
Color Theme | https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme |
Material Icon Theme |
Icon Theme | https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme |
Für die Verwendung benötigen Sie folgende Materialien:
Name | Description |
---|---|
Raspberry Pi Pico | Microcontroller der den Code ausführt |
Maker Pi Pico | Erweiterungsboard zur einfacheren Verkabelung und Nutzung der Anschlüsse des Pico |
MAX4466 | Mikrofon zur Aufnahme von Geräuschen, das mit ADC fähigen Pin des Pico verbunden wird |
SD Karte | optional, zum Speichern von aufgenommenen Werten |
Die ADC-fähigen Pins sind im Pinout Diagramm des Pico zu finden. Einer dieser Pins ist als Signal Pin zu verwenden, während der GND und VCC Anschluss des MAX4466 an den GND- und 3.3VSys-Pin des Pico angeschlossen werden. Eine Mögliche Verschaltung des Pico mit dem MAX4466 könnte dann wie folgt aussehen:
Pinout des Pico | Verschaltung des MAX4466 mit GPIO26 |
---|---|
Beim Anlegen der Klasse ist es möglich folgende Variablen zu übergeben:
Nr | Attribut | optional | Datentyp | Beschreibung |
---|---|---|---|---|
1 | SAMPLE_RATE | Nein | int | Die Abtastrate mit der die Werte später aufgezeichnet werden |
2 | SIGNAL_PIN | Ja | Pin | machine.Pin-Objekt an dem der MAX4466 Sensor mit der Datenleitung angeschlossen ist; standardmäßig Pin(26) |
3 | MAX_DATA | Ja | int | Beschreibt die maximale Anzahl an Werten, die aufgenommen werden darf um ein überfüllen des RAM-Speichers zu vermeiden; standardmäßig 8000 |
4 | DATEI_NAME | Ja | str | Name der Datei unter dem die Werte gespeichert werden, mit „.txt“ oder „.csv“ am Ende!; standardmäßig „data.txt“ |
Um dann mit dem erfolgreich angelegten Objekt Werte aufzunehmen muss die record_data Funktion aufgerufen werden.
Nr | Methode | Beschreibung |
---|---|---|
1 | record_data(time_in_s) | der übergebene Wert kann entweder ein int oder float sein, startet eine Werteaufnahme über den übergebenen Zeitraum in Sekunden in dem der Pico keine anderen Aktionen ausführen kann, um ein möglichst genaues Ergebnis zu erzielen |
Dabei wird die Anzahl der möglichen aufzunehmenden Punkte auf MAX_DATA beschränkt. Dies kommt daher, dass die Daten wegen der hohen Abtastrate im Arbeitsspeicher gesichert werden müssen und dieser nur 256 KByte groß ist. Damit ist die Menge an Datenpunkten stark begrenzt. Die im RAM hinterlegten Daten können dann mit folgenden Methoden gespeichert oder abgerufen werden.
Nr | Methode | Beschreibung |
---|---|---|
2 | save(path=self.PATH) | Speichert die aufgezeichneten Werte auf den Flash Speicher des Pico |
3 | save_sd(path=self.PATH) | Speichert die aufgezeichneten Werte auf die SD Karte, sofern diese erfolgreich initialisiert wurde |
4 | get_data() | gibt die aktuell im RAM enthaltenen Werte zurück, sollten noch keine aufgezeichnet worden sein wird 0 zurückgegeben |
Hochschule Anhalt | Anhalt University of Applied Sciences | Fachbereich 6 EMW
Prof. Dr.-Ing. Ingo Chmielewski
:e-mail: Ingo.Chmielewski@HS-Anhalt.de
Tobias Müller, M. Eng.
:e-mail: Tobias.Mueller@HS-Anhalt.de
:copyright: es-lab.de, 05.09.2023